指针

1、指针变量也是一个变量,是变量就可以赋值

2、指针指向谁,就把谁的地址赋值给指针

3、*变量 操作的是指针所指向内存,可以用来 被赋值 与 取值

4、不可定义void类型的变量,因为不能确定类型

5、可定义void 变量,void 指针也叫万能指针

6、void *可以指向任何类型的变量,使用指针所指向的内存时,要先转换为它本身的指针类型

7、指针步长是根据指针类型决定的,所以用万能指针时要注意转换类型再操作

8、const int *name修饰的是指针所指向空间为只读,不能修改空间里的内容,但指针变量依然可以指向其他地址

9、int * const name修饰的是指针变量所指向的地址和空间里的内容都为只读

10、指针数组也是数组,但元素存放的是指针地址,赋值的写法有两种(p[索引]=&a[索引],p[索引]=a+索引),操作指针指向内存的写法也有两种(p[索引]=值,(*p+索引)=值)

11、值传递,不管这个变量是什么类型,只要是变量本身传递,就是值传递

12、地址传递,可以理解为 函数外调用函数并传递变量地址,函数内对指针指向内存进行操作

13、形参中的数组,不是数组,它是普通指针变量,例如这三种写法对于编译器而言都是等价的:int a[10000]; int a[]; int *a;,编译器最终都会当做 int *a 做处理

14、指针数组,它是数组,每个元素都是指针

15、数组指针,它是指针,指向数组的指针

16、各种环境对于返回局部变量地址的操作是不同的,例如linux返回空(0)

17、解引用和解指针,可以理解为通过地址找到里面的内容

由 4 5 得到结论,变量是系统根据类型分配内存大小,而指针是系统先得到首地址,再根据指针类型得到截止地址,以取得一个区域的内存。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值