C语言中a【10】什么意思?

Python011

C语言中a【10】什么意思?,第1张

如果在类型后面的话,就是定义数组a大小维度10的意思。比如 int a[10] 就是定义整型数组a,大小10个整型数据大小(1个int占 4字节的话,就是占40个字节大小的内存)。

如果是在表达式中,比如 a[10]=1 这里a[10]就表示a数组第11个元素(数组下标是从0开始的,10就是第11个元素)。 a[10]=1就是给该元素赋值1,同理如果在等号右边就是取a[10]的值。

另外 &a[10] 表示a[10]元素的地址。 a表示a数组首地址常量,相当于&a[0]。

//定义数组a[10],并输入10个整数给各元素赋值,将所有元素由高到低排序//使用指针作形参写3个函数:①输入10个数;②由高到低排序;③输出排序结果#include <stdio.h>double a[10]int ivoid inputData( double * )void sort( double * )void outputData( double * )int main( void ){ inputData( a ) sort( a ) outputData( a ) return 0}void inputData( double *a ){ for ( i = 0i <10i++ ){ printf("Enter number %-2d: ",i+1) scanf("%lf",&a[i]) }}void sort( double *a ){ int j, max double temp for ( i = 0i <10i++ ){ for ( max = j = ij <10j++ ) { if ( a[max] <a[j] ) max = j } if ( max != i ) { temp = a[i] a[i] = a[max] a[max] = temp }}}void outputData( double *a ){ for ( i = 0i <10i++ ){ printf("%g\n",a[i]) }}

[10]表示字符数组a的维度大小。

表示a数组在内存中占用10个(char)大小空间。

另外作为字符数组,定义[10],实际只使用9个空间存储字符,最后一个留着存放字符串结束符号‘\0’。

扩展资料:

数组:

在C语言中, 数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。

关于可变长数组(VLA)的问题:原来的C89标准中是不允许可变长数组出现的,但是在C99标准中,加入了对VLA的支持,但是支持的编译器不多,而且由于栈溢出的安全问题,没有太多的人敢用这个可变长数组,所以在C11标准中又把它规定为可选实现的功能了 。

如果有过用其它语言编程的经历,那么想必会熟悉数组的概念。由于有了数组,可以用相同名字引用一系列变量,并用数字(索引)来识别它们。

在许多场合,使用数组可以缩短和简化程序,因为可以利用索引值设计一个循环,高效处理多种情况。数组有上界和下界,数组的元素在上下界内是连续的。因为 Visual Basic对每一个索引值都分配空间,所以不要不切实际声明一个太大的数组。

此处数组是程序中声明的变量数组。它们不同于控件数组,控件数组是在设计时通过设置控件的 Index 属性规定的。变量数组总是连续的;与控件数组不同的是,不能从一个数组的中部加载或卸载数组元素。

一个数组中的所有元素具有相同的数据类型(在C、C++、Java、pascal中都这样。但也并非所有涉及数组的地方都这样,比如在Visual Foxpro中的数组就并没这样的要求)。

当然,当数据类型为 Variant 时,各个元素能够包含不同种类的数据(对象、字符串、数值等等)。可以声明任何基本数据类型的数组,包括用户自定义类型和对象变量。

参考资料来源:百度百科-数组