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

【养成记】嵌入式挑战第6天,第二周第三讲-数组指针和二维数组及const关键字

标签:
C C++ 嵌入式

【养成记】嵌入式挑战第6天,第二周第三讲-数组指针和二维数组及const关键字

课程章节

物联网/嵌入式工程师 第二周第三讲 1-14 数组指针和二维数组、1-16 const关键字

课程内容

对数组指针和二维数组及const关键字做了介绍

学习笔记

1. 数组指针和二维数组

1.1 讲解

int a[3][4];
int (*p)[4];

p = a;

公式
a[i][j] <=> *(a[i] + j) <=>*(*(a + i) + j)
p[i][j] <=> *(p[i] + j) <=>*(*(p + i) + j)

注意:
a是一个数组名,它标识数组的首地址,它是一个符号常量,不能修改
p是一个指针变量,它保存了二维数组的首地址,它是一个变量,可以修改

图片描述

1.2 代码示例

图片描述

2. const关键字

2.1 含义

const是constant的缩写,意思是"恒定不变的量"。在C语言中const来修饰变量,表示这个变量是不可以被修改的,拥有只读属性。通过const操作的变量,其值不能通过赋值或者递增,递减来修改,所以要一开始初始化变量;

2.2 基本用法

2.2.1 修饰普通变量

数据类型 const 变量名 = 值;

const 数据类型 变量名 = 值;

2.2.2 修饰指针变量

const除了修饰变量外,还可以修饰指。修饰指针有以下几种用法:

int const *p; //指针p本身的值可以改,但是p所指向的内容不能改.(*p不能改)
const int *p; //指针p本身的值可以改,但是p所指向的内容不能改.(*p不能改)

int *const p; //指针p本身的值不能改,但是p所指向的内容可以改.(p不能改)

int const * const p; //指针p本身的值不能改,并且p所指向的内容不能改.(p和p都不能改)
const int * const p; //指针p本身的值不能改,并且p所指向的内容不能改.(p和
p都不能改)

2.2.3 代码示例

图片描述

课程评价

对数组指针和const有了更深的了解

  • 数组指针是指针,指针数组是数组
  • const 修饰谁,谁不可以修改,而且它还存在就近原则,仅对其后紧跟的变量生效
点击查看更多内容
1人点赞

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

评论

作者其他优质文章

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

100积分直接送

付费专栏免费学

大额优惠券免费领

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

举报

0/150
提交
取消