【LVL1_6_c】 指针数组 数组指针 的区别(仅仅是初步学习理解)

指针数组与数组指针详解
本文详细解析了指针数组与数组指针的概念及其使用方式。指针数组是一组指针变量的集合,而数组指针是指向数组的指针。通过具体示例解释了两者之间的区别。

一、

指针数组:

指针类型的数组(就像有指存整型的、存浮点型的、所以存指针的数组)

数组元素都是指针变量。

(大白话——指针数组是  有一大堆指针变量的数组)


比如

int * a[4];

【1】int*是类型名 .

【2】a[4]是定义了一段连续的存储空间,4个元素(空间)都是 int *类型。


————————————————————————————————

二、

数组指针:

是“指向数组的指针”的简称

举例

int (*p2)[10];

【1】p2指针变量名int 是修饰数组的内容。[10]修饰的是数组的长度

【2】p2 是一个指针,它指向一个包含10 个int 类型数据数组

【3】P2指向的是整个一维数组的首地址,不是一个元素的首地址.(虽然两个首地址一样,但意义不一样)

【4】P2指向的是一个数组,而不是一个整型元素!!!

【5】int *p2后面 ,若出现[x] ,就表示指的是一个数组,括号里的x就是这个数组的长度.


(大白话 数组指针是——一下就能指一排的超叼指针)



























void SIGNAL_SetLevel (u16 lvl) { if (s_sSignalData.uWorkState == lvl) return; s_sSignalData.uWorkState = lvl; if (lvl == 0) { BEEP_SetState (STA_CLOSE); s_sSignalData.pSoundData = NULL; s_sSignalData.pSoundHdlr = NULL; } else if (lvl == WARN_LVL_ALARM) { s_sSignalData.pSoundData = (RHYTHM_P)&s_sAlarmSound; s_sSignalData.iSoundUniv = s_sSignalData.iSoundTime = 0; } #if WARN_LEVEL_SUPPORT == 1 else if (lvl == WARN_LVL_REMIND) { #if BEEP_LOCAL_BUZZER #else s_sSignalData.pSoundHdlr = beep_PlayWarnSound; s_sSignalData.iSoundUniv = 0; s_sSignalData.iSoundTime = 0; #endif } #endif else if (lvl == WARN_LVL_CHECK) { #if BEEP_LOCAL_BUZZER s_sSignalData.pSoundData = (RHYTHM_P)&s_sWarnSound1; s_sSignalData.iSoundUniv = s_sSignalData.iSoundTime = 0; #else s_sSignalData.pSoundHdlr = beep_PlayWarnSound; s_sSignalData.iSoundUniv = 3000; s_sSignalData.iSoundTime = 0; #endif } else if (lvl == WARN_LVL_SERIOUS) { #if BEEP_LOCAL_BUZZER s_sSignalData.pSoundData = (RHYTHM_P)&s_sWarnSound2; s_sSignalData.iSoundUniv = s_sSignalData.iSoundTime = 0; #else s_sSignalData.pSoundHdlr = beep_PlayWarnSound; s_sSignalData.iSoundUniv = 5000; s_sSignalData.iSoundTime = 0; #endif } #if WARN_LEVEL_SUPPORT == 1 if (lvl == 0) { LED_SetState (1, STA_CLOSE); LED_SetState (2, STA_CLOSE); s_sSignalData.pLightData = NULL; } else if (lvl == WARN_LVL_CHECK) { s_sSignalData.pLightData = (RHYTHM_P)&s_sLedTwinkle1; s_sSignalData.iLightUniv = s_sSignalData.iSoundTime = 0; } else if (lvl == WARN_LVL_SERIOUS) { s_sSignalData.pLightData = (RHYTHM_P)&s_sLedTwinkle2; s_sSignalData.iLightUniv = s_sSignalData.iSoundTime = 0; } #endif } 讲一下
最新发布
11-09
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值