【养成记】嵌入式挑战第4天,第二周第三讲-多级指针的使用
课程章节:
物联网/嵌入式工程师 第二周第三讲 1-11 指针数组
课程内容:
对指针数组的使用及本质做了介绍
学习笔记:
-
- 含义
指针数组: 它本质是一个数组,只不过该数组由多个指针来构成,所以,我们叫做指针数组。
每个指针中存放的都是地址值.定义一个指针数组等价于定义了多个指针变量。
-
- 定义方式
数据类型 *变量名[元素个数];
例如: int *p[5];
(1)数组中的元素: p[0] p[1] p[2] p[3] p[4]
(2)数组中每个元素的类型: int *
(3)整个数组的大小: sizeof(p) ===>20bytes
(4)一个元素的大小: sizeof(p[0]) ===>4bttes
(5)元素的个数: sizeof(p) / sizeof(p[0])
(6)数组的首地址: p<===>&p[0]
-
- 指针数组工程的用法(模拟linux底层的内核代码)
示例代码
#include <stdio.h>
int main()
{
char a[] = {"zhao"};
char b[] = {"qian"};
char c[] = {"sun"};
char *q[] = {a,b,c,NULL};
int i = 0;
char *t = NULL;
for(i = 0;q[i] != NULL;i++)
{
for(t = q[i];*t != '\0' ;t++)
{
printf("%c ",*t);
}
printf("\n");
}
return 0;
}
运行结果
z h a o
q i a n
s u n
-
- 指针数组代码的演示
课程评价:
对指针数组有了更深的了解,再加上老师的代码演示,和自己的练习,很有收获。