C语言教程学习26-35节 指针全内容第一部分26-30

2022-09-24 21:41:21 浏览数 (1)

26.指针

引出指针: 内存地址

CPU 结构CPU 结构
通过内存 配合CPU数据操作通过内存 配合CPU数据操作

指针也就是内存地址,指针变量是用来存放内存地址的变量。就像其他变量或常量一样,您必须在使用指针存储其他变量地址之前,对其进行声明。指针变量声明的一般形式为:

代码语言:javascript复制
type *var_name;
指针 赋值 会报错,错误原因如下图 指针 赋值 会报错,错误原因如下图
错误原因错误原因
使用指针实例使用指针实例
指针所占字节大小 x64占8字节,x86占4字节指针所占字节大小 x64占8字节,x86占4字节

27.指针运算

编译错误,无法将int类型转换为指针类型,原因 指针类型包括首地址和空间大小,但是int无法表现空间大小编译错误,无法将int类型转换为指针类型,原因 指针类型包括首地址和空间大小,但是int无法表现空间大小
指针运算实例 指针运算实例
上图实例 结果,指针类型加一后,首地址向后移动了sizeof个字节上图实例 结果,指针类型加一后,首地址向后移动了sizeof个字节

28.指针与数组

指针与数组指针与数组
在数组内应用 指针在数组内应用 指针
数组名的值也是首地址,类型数组名的值也是首地址,类型
数组名 例外情况数组名 例外情况
指针 数组名 等价情况指针 数组名 等价情况
数组指针实例, 2[]为什么指向333?原因下图数组指针实例, 2[]为什么指向333?原因下图
原因原因

29.指针作为参数传递

void 类型指针void 类型指针

30.多级指针与指针数组

多级指针: 指针的指针

指针的指针指针的指针
二级指针写法 ,左侧写法都对,没有那么严格二级指针写法 ,左侧写法都对,没有那么严格
二级指针实例二级指针实例

指针数组

指针数组 int*pToArr[]指针数组 int*pToArr[]
循环输出数组循环输出数组

函数中返回指针

函数中返回指针 可能失效,不想失效见下图函数中返回指针 可能失效,不想失效见下图
如果不想失效,加static如果不想失效,加static

函数返回多个变量

函数返回多个变量, a,b 输出为100,200函数返回多个变量, a,b 输出为100,200

0 人点赞