- 3
- 0
- 约6.55千字
- 约 50页
- 2017-01-25 发布于北京
- 举报
【说明】 ① 注意结构类型的定义、结构变量的定义、结构变量的成员的引用。 ② 本例还演示了结构体变量的初始化,如complex a={1,2}。 ③ C语言结构体中的成员是以定义的先后顺序连续存放的。如本例中的结构体complex有两个成员real和img,如果定义了complex a,那么变量a中的real值在前,img值在后。 ④ 结构体把一个对象封装起来,设计和理解更容易。如果把这个对象的数据的运算(如复数的加法)也封装在一起,就成了C++里的“类”(class) 。 ⑤ 提醒:结构体类型是抽象的,变量才是具体的。类型不占空间,只有实例化成了变量才占用空间。 4.3.2 结构体与指针 程序设计经常把结构体与指针联系在一起,比如第7章讲到的链表。 结构体与指针主要有两个内容:一是结构体变量本身的指针(地址),二是结构体的某些域是指针变量。 每一个结构体变量的所有域在内存中是连续存放的,这一片连续内存空间有一个首地址(指针),这个首地址可以被其它指针变量用到。 结构体的指针域保存了某一片空间的地址,甚至是结构体变量的地址。例如,有下面的定义: 变量p和q是两个结构体变量。 如果有赋值操作p.next = q, 则p.next指向变量q,如图4.14,此时可由p得到q的数据:p.next-data或者写成(*(p.next)).data。 q q p p data q data
原创力文档

文档评论(0)