C语言指针-----指针与结构体
2016-01-01 23:39
393 查看
结构体和数组都是复合数据类型,不同之处在于,数组中 每个元素只能是相同的数据类型,而结构体可以说是包罗万象,里面的元素可以是不同的数据类型,且可以是任何数据类型包括基本数据类型和复合数据类型。
这里没有多少复杂的关系,要注意的是指针和结构体变量访问结构体里的与元素的方式不同。
下面给出一个例子:
这里没有多少复杂的关系,要注意的是指针和结构体变量访问结构体里的与元素的方式不同。
下面给出一个例子:
#include<stdio.h> #include<stdlib.h> struct people{ char *name; int age; }; struct student{ char *id; struct people man; }; int main(void){ struct student student1; struct student *student2;//结构体指针使用前别忘记分配内存 student2=(struct student *)malloc(sizeof(struct student)); //struct student *student2=&student1; student1.id="20160101001"; student1.man.name="lena"; student1.man.age=24; printf("student1's name is %s\n",student1.man.name); printf("student1's name is %d\n",student1.man.age); printf("student1's name is %s\n\n",student1.id); (*student2).id="11111111";// student2->id="0000"//两种方式 printf("student2's name is %s\n",student2->man.name); printf("student2's name is %d\n",student2->man.age);// printf("student2's name is %s\n",(*student2).id); free(student2); return 0; }
相关文章推荐
- C语言算法
- C语言指针-----指针与函数
- 利用C++11实现一个自动注册的工厂
- /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found的解决办法
- C语言指针-----指针与数组
- C++动态分配内存释放内存
- C/C++程序的内存区域划分
- C/C++综合測试题(三)
- C++Builder加载Png图片
- 《C++ STL基础 及应用》笔记
- c语言实现普通队列
- C语言劫持
- 一起talk C栗子吧(第八十六回:C语言实例--使用信号进行进程间通信三)
- 【C++】深度探索C++对象模型之Function语意学
- 【1】Windows游戏安全之路——学习规划
- C++内容总结--自定义数据类型
- C++内容总结--面向对象语言特点
- C++模板元编程(二)
- 【0】Windows游戏安全之路——个人学习背景
- Mac下好用的的C/C++IDE——Clion使用技巧