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:
Publicar un comentario