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数组的主要内容,如果未能解决你的问题,请参考以下文章

c语言数组构造类型的特点

C++C++自学旅程:数组与字符数组

c语言如何表示二维数组里面有#

C语言新建一个数组的语法

C语言中,对于不知道长度的数组怎样输入。。。

c语言动态数组如何扩充空间