c语言int a[10] 10是什么意思 c语言中 int a[10] int *pa=a是什么意...

c\u8bed\u8a00 int a[10] \u8fd9\u4e2a\u8bed\u53e5\u662f\u4ec0\u4e48\u610f\u601d\uff1f\u4e3a\u4ec0\u4e48\u4e0d\u80fd\u7528a++\u8fdb\u884c\u8d4b\u503c\uff1f

int a[10]\u8868\u793a\u5b9a\u4e49\u4e00\u4e2a\u6574\u5f62\u6570\u7ec4\uff0c\u800ca++\u4ee3\u8868\u6570\u7ec4\u7684\u5730\u5740\u6307\u9488\u5411\u53f3\u79fb\u4e00\u4f4d\uff0c\u6307\u5411a\u30101\u3011\uff0c\u6240\u4ee5a++\u4e0d\u80fd\u8d4b\u503c\uff0c\u8fd9\u662f\u5730\u5740\u6307\u9488

int a[10]; // \u5b9a\u4e49\u4e00\u4e2a\u957f\u5ea6\u4e3a10\u7684\u6574\u578b\u6570\u7ec4
int *pa = a; // \u5b9a\u4e49\u4e00\u4e2a\u6574\u578b\u6307\u9488pa\u6307\u5411\u6570\u7ec4a\u7684\u8d77\u59cb\u5730\u5740

\u76f8\u5f53\u4e8e\u5982\u4e0b\uff1a
*(pa + 0) == a[0]
*(pa + 1) == a[1]
......
*(pa + n) == a[n]

\u5e0c\u671b\u6211\u7684\u56de\u7b54\u53ef\u4ee5\u5e2e\u5230\u4f60\uff0c\u5982\u6709\u4e0d\u660e\u767d\u7684\u5730\u65b9\uff0c\u6b22\u8fce\u8ffd\u95ee\uff0c\u6211\u4e00\u5b9a\u5c3d\u529b\u56de\u7b54\u3002

inta表示a这个变量是整型,只能存放整数。

inta【10】【10】

指的是代表a的二维数组,是指向一个有十个元素的数组的指针,或者说a是具有十个元素的数组的首元素的地址,这十个元素,每个元素都是一个数组。

扩展资料

在C语言的定义中,二维数组可以看作一个一维数组,每个元素还是一个一维数组。

inta[m][n];

表示一个包含m个元素的一维数组,每个元素是一个包含n个整型数据的一维数组。(参考K&R C 第二版 5.7 Multi-dimensional Arrays)

2.在C语言中,指针和数组有相似之处,但是两者本质不同。两者相似的地方有两点:

读取数组元素

函数传递

就二维数组来说,“相似”的指针应该指向和二维数组的子数组相同的数据类型,如

int(*p)[n]=a;

此时可以用a[i][j]或p[i][j]或*(p+i)[j]或*(a+i)[j]来获取相同的数据。

在声明一个接受一个二维数组的函数原型时,会忽略第一层数组的长度,等效的是上述指针类型的参数。即下面两种函数原型的声明都可以成功接受a做参数:



定义一个有10个元素的整型(int)数组,数组元素从a[0]到a[9],不包括a[10]。数组元素的完整定义为:
int a[10]={1,2,2,6,5,4,9,5,7,7};

定义一个大小为10的整型数组,数组元素分别是从a[0]到a[9],不包括a[10].

10是该树组的长度,即在内存中分配10个连续的空间用于存放整型数据.

10表示的是数组的大小,也就是以int类型大小为单位分配的内存空间的长度。

扩展阅读:int a[3][2] ... int a在c语言中什么意思 ... int a[10]={ }哪里错了 ... c语言printf用法例子 ... 数组int a[10] ... c语言 int转化为int ... c语言int a 3 4 什么意思 ... int a=2 ... c语言中int a 10 什么意思 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网