C++ 指针与数组

  1. 数组名被视为指针,
cookies == &cookies[0]
  1. 整型数组作为形参(函数头和函数原型中的传入参数,其是按值传递的)的表达方法
int * 数组名, int 数组个数     

或者
int 数组名[ ] , int 数组个数

其本质是将数组分成两个参数传入函数,其一是第一个元素的地址,及其类型,其二是数组的元素个数
(作为对比普通整型作为形参的表达为 int 参数名

  1. 数组与指针的转换恒等式
arr[i] = *(arr + i)
& arr[i] = arr +i
  1. 注意 int *arrint arr[] 并不总是一回事,只是在作为形参的声明中可以互换,不能在函数体中使用int arr[]来声明指针

  2. 对指针声明的理解

int i =4;
int *a = &i; 

先定义一个变量名为a,将i的地址赋值给a(此时a可以被称为半个指针了,他不完整,他不知道地址指向的数据类型,所以再声明一个数据类型就完整了),
*a 是a 地址中储存的变量, int *a 是说这个储存的变量是个整型,

  1. 对整型声明的理解
int i = 4;

先定义一个变量名叫做i,然后把4 这个值赋值给i, 然后告诉i 你是个整型。

  1. 指针与数组的关系:数组是指针加上数组长度

如果在主程序里打印数组名的长度,给出的是整个数组所有元素在一起的字节长度(即数组的长度),
如果是将数组首地址传入函数里,打印这个数组名(此时实质是个指针,其没有数组长度这个属性),给出的是这个地址的字节长度,不同长度字节系统给的值不同。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值