为了账号安全,请及时绑定邮箱和手机立即绑定

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

标签:
C C++ 嵌入式

【养成记】嵌入式挑战第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人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消