系列文章《C语言经典100例》持续创作中,欢迎大家的关注和支持。
喜欢的同学记得点赞、转发、收藏哦~
C语言经典100例将会以pdf和代码的形式发放到公众号
欢迎关注:计算广告生态
即时查收
1 题目
功能:使用malloc()函数分配内存
描述:
要求创建一个结构体类型的指针,其中包含两个成员,一个是整型,另外一个是结构体指针
使用 malloc() 函数分配一个结构体的内存空间,然后给这两个成员赋值并显示
2 思路
malloc() 函数的语法格式如下:
void *malloc(unsigned int size);
该函数的作用是在内存中的动态存储区域动态分配指定长度的存储空间。该函数返回一个指针,然后指向所分配存储空间的起始地址。 如果返回值 0,那么表示没有成功申请到内存空间。函数类型为 void * ,表示返回的指针不指向任何类型。
本例中,使用 malloc() 函数申请返回指向结构体的指针,利用该指针可以进行结构体成员的赋值和取值操作
st s = (struct stu*)malloc(sizeof(struct stu));
3 代码
#include #include /**功能:使用malloc()函数分配内存描述:要求创建一个结构体类型的指针,其中包含两个成员,一个是整型,另外一个是结构体指针。使用 malloc() 函数分配一个结构体的内存空间,然后给这两个成员赋值并显示**/typedef struct stu { int n; struct stu *next; // 结构体成员,指针类型}*st;int main(int argc, char const *argv[]) { st s = (struct stu*)malloc(sizeof(struct stu)); // 开辟存储空间 s->n = 1; // 成员 n 赋值 s->next = NULL; // 成员 next 赋值 printf("成员的 n = %d, 成员 next = %d", s->n, s->next); return 0;}
示例结果:
$ gcc ex032.c -o demo$ ./demo成员的 n = 1, 成员 next = 0
–END–
喜欢本文的同学记得点赞、转发、收藏~
更多内容,欢迎大家关注我们的公众号:
计算广告生态
C语言经典100例将会以pdf和代码的形式发放到公众号
同时也带来更多系列文章以及干货!