Welcome to collectivesolver - Programming & Software Q&A. A website you can trust. All programs tested and works. Contact: aviboots(AT)netvision.net.il
Bonsai Boy of New York Bonsai Trees and Accessories

BlueHost Web Hosting

Liquid Web iThemes WordPress Hosting

Ecommerce Software - Best Ecommerce Platform Made for You - Free Trial

DreamHost Web Hosting


getResponse autofunnels

Liquid Web Cloud VPS Hosting

11,619 questions

15,845 answers

573 users

How to allocate memory for struct and for string inside the struct in C

2 Answers

0 votes
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
struct worker {
    char *name;
    int age;
};
 
int main()
{ 
    struct worker *w;
     
    w = (struct worker *)malloc(sizeof(struct worker));
    if (w == NULL) {
        puts("Malloc error");
        exit(1);
    }
         
    w->name = strdup("Jennifer");
    w->age = 45;
 
    printf("name: %s : age: %d\n", w->name, w->age);
     
    free(w->name);
	free(w);
     
    return 0;
}

 
/*
run:
 
name: Jennifer : age: 45
 
*/

 




answered Jul 11 by avibootz
0 votes
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
struct worker {
    char *name;
    int age;
};
 
int main()
{ 
    struct worker *w;
     
    w = (struct worker *)malloc(sizeof(struct worker));
    if (w == NULL) {
        puts("Malloc error");
        exit(1);
    }
         
    w->name = (char *)malloc(30 * sizeof(char));
    strcpy(w->name, "Tom");
    w->age = 45;
 
    printf("name: %s : age: %d\n", w->name, w->age);
     
    free(w->name);
	free(w);
     
    return 0;
}

 
/*
run:
 
name: Tom : age: 45
 
*/

 




answered Jul 11 by avibootz
...