Vistas de página en total

miércoles, 29 de enero de 2014

Programación android con CCTools y C - pc16

Pc16-Arreglo de caracteres y
memoria dinámica 























#include<stdio.h>
#include<stdlib.h>
int main(void){
char nombre[20];
char tema[100];
char desc[200];
int i;
struct xtemas{
char tema1[50];
char desc1[100];
}temasx[2];
  //ESTRUCTURAS Y ARREGLOS DE CARACTERES
 
  //arreglo de caracteres nombre
  printf("\nIntroducir nombre: ");
  gets(nombre);
  printf("Hola %s\n",nombre);
 
  //arreglo de caracteres tema
  printf("\nSolo un tema: \n");
  printf("\nIntroducir tema: ");
  gets(tema);
  printf("Tema %s\n",tema);
 
  //arreglo de caract. tema
  printf("\nVarios temas: \n");
  for(i=0; i<2; i++){
  printf("\nIntroducir tema: ");
  gets(&tema[i*50]);
  }
 
  printf("\nLista de temas: \n");
  for(i=0; i<2; i++){
    printf("Tema: %s\n",&tema[i*50]);
  }
  //arreglo de caract. tema y desc
  printf("\nVarios temas con descripcion: \n");
  for(i=0; i<2; i++){
  printf("\nIntroducir tema: ");
  gets(&tema[i*50]);
 
  printf("\nIntroducir desc: ");
  gets(&desc[i*100]);
  }
 
  printf("\nLista de temas: \n");
  for(i=0; i<2; i++){
    printf("Tema: %s\n",&tema[i*50]);
    printf("Desc: %s\n",&desc[i*100]);
  }
  
  //structura de xtemas
  printf("\nVarios temas con descripcion: \n");
  for(i=0; i<2; i++){
  printf("\nIntroducir tema: ");
  gets(temasx[i].tema1);
 
  printf("\nIntroducir desc: ");
  gets(temasx[i].desc1);
  }
 
  printf("\nLista de temas: \n");
  for(i=0; i<2; i++){
    printf("Tema: %s\n",temasx[i].tema1);
    printf("Desc: %s\n",temasx[i].desc1);
  }
   
  //PUNTEROS Y MEM DINAMICA DE CARACTERES
 
  //Puntero de una variable entera
  int j,*k,l;
  j=23; // j-1024-0023
  k=&j; // k-1028-1024
  l=*k; // l-1032-0023
  printf("\nValor de l= %d\n",l);
 
  //Variable nombre2 como puntero
  char *nombre2;
 
  nombre2 = malloc(10);
  printf("\nIntroducir nombre: ");
  gets(nombre2);
  printf("Hola %s\n",nombre2);
 
   
  //arreglo de caracteres tema2
  char *tema2;
 
  tema2 = malloc(100);
  printf("\nSolo un tema: \n");
  printf("\nIntroducir tema: ");
  gets(tema2);
  printf("Tema %s\n",tema2);
  free(tema2);
  
  //arreglo de caract. tema2
  printf("\nVarios temas: \n");
  tema2 = malloc(100);
  for(i=0; i<2; i++){
  printf("\nIntroducir tema: ");
  gets(&tema2[i*50]);
  }
 
  printf("\nLista de temas: \n");
  for(i=0; i<2; i++){
    printf("Tema: %s\n",&tema2[i*50]);
  }
  free(tema2);
 
  printf("\nLista de temas: \n");
  for(i=0; i<2; i++){
    printf("Tema: %s\n",&tema2[i*50]);
  }
 
 
  //arreglo de caract. tema y desc
  //char *tema2;
  char *desc2;
 
  printf("\nVarios temas con descripcion: \n");
  tema2 = malloc(100);
  desc2 = malloc(200);
  for(i=0; i<2; i++){
  printf("\nIntroducir tema: ");
  gets(&tema2[i*50]);
 
  printf("\nIntroducir desc: ");
  gets(&desc2[i*100]);
  }
 
  printf("\nLista de temas: \n");
  for(i=0; i<2; i++){
    printf("Tema: %s\n",&tema2[i*50]);
    printf("Desc: %s\n",&desc2[i*100]);
  }
  free(tema2);
  free(desc2);
   
 
  //structura de ytemas
 
  struct ytemas{
  char tema2[50];
  char desc2[100];
  };
  struct ytemas *temasy;
  printf("\nVarios temas con descripcion: \n");
  temasy = malloc(300);
  for(i=0; i<2; i++){
  printf("\nIntroducir tema: ");
  gets(temasy[i].tema2);
 
  printf("\nIntroducir desc: ");
  gets(temasy[i].desc2);
  }
 
  printf("\nLista de temas: \n");
  for(i=0; i<2; i++){
    printf("Tema: %s\n",temasy[i].tema2);
    printf("Desc: %s\n",temasy[i].desc2);
  }
  free(temasy);
 
return 0;
}

No hay comentarios: