继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

慕粉152226940
关注TA
已关注
手记 72
粉丝 8
获赞 43

【养成记】嵌入式挑战第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 修饰谁,谁不可以修改,而且它还存在就近原则,仅对其后紧跟的变量生效
打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP