C数组
Posted Debugor
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C数组相关的知识,希望对你有一定的参考价值。
数组声明
int arr[10]
初始化
int arr[2]={1,2};
常量数组
const int arr[2]={1,2}
表示无法修改数组中的元素的具体的值
数组长度
int arr[10];
sizeof arr //40bytes
sizeof arr[0] //4bytes
数组的赋值
1 不能把数组整个赋值,如
int arr1[1]={1};
int arr2[1]=arr1; //error
2.不能整个花括号赋值,初始化除外
int arr[1];
arr[0]={1} //error
函数传递数组
如sum(arr);
那么,该函数的定义就可以为
sum(int *arr)
因为int *arr和int arr[]等价
所以可以代替
如sum(int *arr),sum(int arr[]),sum(int *),sum(int [])
保护数组
对数组进行保护,把数组输入到函数里的时候不去改变数组,可以用const
如const int arr[3]={1,2,3};
const的用法
1.定义常量
2.定义指向常量的指针
如const int *p,就是说p指向的数据是const int 类型的,无法改变数据值。因此p=123这个赋值是无效的。
但是P自己是个变量,它的值可以发生变化。
3.指针的值不变,如
int *const p;表示p指向的地址不会发生变化
4.地址和数据都不能变
const double const *p
表示p指向的地址不变,地址里面的值也不变。
数组书上就这些把。EOF
以上是关于C数组的主要内容,如果未能解决你的问题,请参考以下文章