手记

【养成记】嵌入式挑战第4天,第二周第三讲-多级指针的使用

【养成记】嵌入式挑战第4天,第二周第三讲-多级指针的使用

课程章节

物联网/嵌入式工程师 第二周第三讲 1-11 指针数组

课程内容

对指针数组的使用及本质做了介绍

学习笔记

    1. 含义

    指针数组: 它本质是一个数组,只不过该数组由多个指针来构成,所以,我们叫做指针数组。

每个指针中存放的都是地址值.定义一个指针数组等价于定义了多个指针变量。

    1. 定义方式
数据类型 *变量名[元素个数];

例如: 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]

    1. 指针数组工程的用法(模拟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 
    1. 指针数组代码的演示

课程评价

对指针数组有了更深的了解,再加上老师的代码演示,和自己的练习,很有收获。

1人推荐
随时随地看视频
慕课网APP