#include #include #include #include void checkp(void * p) { if( p == NULL ) { printf("ERROR: Not enough memory\n"); exit(1); } } int main( int argc, char ** argv ) { #define VARCHAR 255 struct person { char *name; char *surname; }; struct person *me = (struct person *)malloc(sizeof(struct person)); checkp(me); me->name = malloc(VARCHAR); checkp(me->name); me->surname = malloc(VARCHAR); checkp(me->surname); strncpy(me->name, "Vasya", VARCHAR); strncpy(me->surname, "Pupkin", VARCHAR); printf("Ny name is %s %s\n", me->name, me->surname); free(me->name); free(me->surname); free(me); return 0; }