【九月打卡】第4天 物联网/嵌入式工程师学习笔记04
课程信息
- 课程名称:物联网/嵌入式工程师
- 章节名称:第2周之第三讲 1-11 指针数组
- 讲师姓名:大白老师
课程内容概述
1. 含义
指针数组: 它本质是一个数组,只不过该数组由多个指针来构成,所以,我们叫做指针数组。
每个指针中存放的都是地址值.定义一个指针数组等价于定义了多个指针变量。
2. 定义方式
数据类型 *变量名[元素个数];
例如: 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]
3. 指针数组工程的用法(模拟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
学习心得
对指针数组有了更深的了解,再加上老师的代码演示,和自己的练习,很有收获。