什么是结构体指针数组?
之前我们讲过一些复杂的类型声明,不过那些都是为了应付笔试面试,在实际的应用中并不常见。
结构体指针数组也比较复杂,但是在项目中经常能看到。
struct Test { int a; char ch; };
首先得有一个结构体,假设结构体有两个成员,一个整型,一个字符,在内存中占 8 个字节。
structTestt; struct Test *p = &t;
结构体的地址我们一般取最前面的字节地址,如果想保存这个地址,就得用 struct Test * 类型的变量,这个变量就是结构体指针。
通过结构体指针访问结构体成员,使用这个符号。
如果我们创建了多个结构体,那就会得到多个结构体变量的地址。
struct Test t1; structTestt2; structTestt3; structTestt4; structTest*array[4]={&t1,&t2,&t3,&t4};
想要把这些地址全部保存下来,可以考虑使用数组,这样的数组,就是结构体指针数组。
其实也很好理解,数组里面保存了多个指针,每个指针都指向一个结构体。
如果通过数组名去访问某个结构体的某个成员,先取出地址,再通过地址访问。
学习指针,画图是个很好的方法,搞清楚了内存的关系,再去写代码就会容易的多。
-
指针
+关注
关注
1文章
483浏览量
70692 -
数组
+关注
关注
1文章
418浏览量
26100 -
结构体
+关注
关注
1文章
130浏览量
10906
原文标题:结构体指针数组
文章出处:【微信号:学益得智能硬件,微信公众号:学益得智能硬件】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
controlSUITE中例子代码不理解
单片机的结构体和指针等资料说明

Keil使用结构体数组的奇怪问题

评论