300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > C语言 malloc() + 结构体指针定义结构体变量

C语言 malloc() + 结构体指针定义结构体变量

时间:2020-06-02 18:54:15

相关推荐

C语言 malloc() + 结构体指针定义结构体变量

之前在学习链表的过程中,笔者认为新节点必须如下定义:

struct Node *p;struct Node {int val;p pNext;};int main(){Node Node1;Node Node2;Node Node3;……}

看了老师的例程,发现老师定义了结构体数据类型之后,在main()函数中没有定义过结构体变量,而是使用结构体指针来定义链表的新节点。

随后笔者做了如下测试:

#include <stdio.h>typedef struct num {int age;int sid;} num1;struct num *p;int main() {p = (struct num *)malloc(sizeof(num1));p->age = 10;p->sid = 20;printf("%d %d\n", p->age, p->sid);return 0;}

发现一开始定义了【结构体类型】以及【结构体类型指针】后,在main()中仅需要使用malloc()为结构体指针开辟空间,即可创建结构体变量,并且可以用结构体指针来对结构体成员进行操作。

某种程度来说,可以使用【结构体类型指针】+【malloc()】来创建新的结构体变量。

另外,以下使用typedef 代码中,其实进行了两个操作:

typedef struct num {int age;int sid;} num1;

1.定义了一个结构体数据类型num

2.用【num1】替换了struct num,在接下来的代码中可以使用num1 来定义结构体

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。