手记

【九月打卡】第7天 【养成记】嵌入式挑战第7天,指针数组

课程章节:

物联网/嵌入式工程师  指针数组

课程内容:

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

学习笔记:

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

含义

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


定义方式

数据类型 *变量名[元素个数];

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


学习心得:

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


课程截图:






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