数组和指针
定义数组:
①:数据类型+数组名+[]
int arr [10];
②:在这里我们初始化时可以直接给值
int brr [10]={1,2,3,4,5,6,7,8,9,10};
③:也可以初始化一部分,剩余都是0
int crr [10]={1,2,3,4,5};
***注意:进行整体赋值时只有在初始化时。***
④:定义数组也可以不写长度,长度由系统自行推导。
int drr []={1,2,3,4,5};
⑤:求数组大小标准公式
sizeof(arr)/sizeof(arr[0]);//注意:得在定义数组的同一函数下
***在定义数组的同一函数下,其中两种情况中数组名代表整个数组。***
①:sizeof(arr) //求数组长度
②:&arr+1 //对数组每个取地址+1
其他情况下,数组名只代表数组首元素的地址!
现在做一个题:输出一个数组后,再逆置输出这个数组
一般正常我们是定义数组,用for循环让i++依次输出整个数组,逆置数组输出时,定义一个临时变量来交换第一个元素和最后一个元素值,一共十个整数,所以循环范围i<10
代码如下:
可以看出,结果并不如意,逆置数组输出后没有变化。
调试后发现,在循环第五次时,数组已经逆置完成,循环后五次将逆置后的数组又逆置了一遍,导致数组没有发生变化。这下解决就简单了,让循环范围变小一半就可以了。
代码如下:
这样逆置数组输出就完成了。