[问题] 敢问链结串行与结构指标的暧昧情节

楼主: ga6611220 (疥疮猫)   2015-01-05 10:53:17
开发平台(Platform): C
版上各位先进好,小弟是学习C一年的新手,最近在链结串行那边卡住了,敢问各位大大
在学习结构时书上教我:
结构指标两个步骤:
STEP1.宣告结构指标
struct data
{
char name[10];
int math;
}student;
struct data *ptr;
STEP2.将指标指向结构变量student
ptr = &student;
要完成这样的动作才可以使用“->”来连接结构里的成员
但我在学习链结串行时却好像有点不太一样
struct node
{
int data;
struct node *next;
};
typedef struct node NODE;
接下来在main函数中
NODE *ptr1,*ptr2,*ptr3;
ptr2 = (NODE*) malloc(sizeof(NODE)); 后
接着就可以使用箭号->来连接成员了
小弟纳闷的是...结构变量跑到哪去了呢
况且student那个结构,若像链结串行那般写(直接建立指标,无指向结构变量阿...)
便无法执行
还请各位大大点醒开示,感激不尽
程式码(Code):
补充说明(Supplement):
作者: a27417332 (等号卡比)   2015-01-05 11:10:00
有点难懂,但感觉你是不能理解malloc和指标的观念?
作者: knockbusterx (knockbusterx)   2015-01-05 11:28:00
宣告student时是配置到stack上,而malloc是动态配置会传回一个指向sizeof(NODE)的大小的指标
作者: EdisonX (卡卡兽)   2015-01-05 21:55:00
#1G33wKbT (C_and_CPP)
作者: OPIV (Monitor)   2015-01-05 23:30:00
Node node:node.xxxNode *node:1 (*node).xxx //麻烦2 node->xxx //所以有这种方式换行不见了= =Node node: node.xxxNode *node: 有两种方式1: (*node).xxx2: node->xxx

Links booklink

Contact Us: admin [ a t ] ucptt.com