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

原文地址:https://www.cnblogs.com/wz0107/p/5339104.html