标签:
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};
1.定义常量
2.定义指向常量的指针
如const int *p,就是说p指向的数据是const int 类型的,无法改变数据值。因此p=123这个赋值是无效的。
但是P自己是个变量,它的值可以发生变化。
3.指针的值不变,如
int *const p;表示p指向的地址不会发生变化
4.地址和数据都不能变
const double const *p
表示p指向的地址不变,地址里面的值也不变。
标签:
原文地址:http://www.cnblogs.com/wz0107/p/5339104.html