ZKX's LAB

17,关于数组,以下描述错误的是: C 的数组都必须先声明后使用

2020-10-01知识9

在C语言编程中,定义一个数组时要不要初始化? 首先要清楚什么是初始化:在声明变量的同时赋值就是初始化。而在其后的赋值语句就不是初始化。一般来说,如果你不给变量一个确定的值,就直接引用它,则系统不能保证运行的唯一性,而这是我们程序所不允许的。所以我们一般用初始化的方法来确定其值。但并不总是这样。如下:int i;for(i=0;i;i+).i就不是通过初始化,而是用赋值的方法确定值的。扩展到数组中,也是如此,如果你在引用数组元素前不把它的值确定下来,程序运行就可能不确定。因为确定数组元素值的方法有两个:初始化和赋值,所以“必须要初始化”是没有道理的。

c语言中什么时候数组不必定义大小,直接用[]表示。 麻烦告诉下,谢谢 C/C++中使用数据都必须要在定义的时候确定大小。直接用[]的情况是在声明数组时就初始化该数组,例子如下:int a[]={1,2,3,4,5,6,7,8};这种直接使用[]是因为在直接声明赋初值时,初始值确定了数据的大小,如上例数组大小为8.外还有一种是将数组作为参数传给函数,实际那是传的指针,如下:void function(int a[]);调用该函数时是直接写function(a);此外基本没有直接使用[]的。C/C++中如果不确定数组大小的,一般会使用堆栈或容器进行操作。或是动态分配内存自己管理操作。

c语言 定义数组时 大小必须是常量吗 1、首先双击启动visual studio 2015,单击“文件”-“新建”-“项目”抄,选择visual c++,然后是“空项目”。2、定义了2个一维数组,一个名为arry1的整形数组,有1个元素;arry2为实型数组,有100个元素,注意数组下标是知从0开始的,不是从1开始,比如arry1的第一个数组为arry[0]不是arry[1]。道3、对数组赋值或者部分赋值,第一个表示x[0]=1,x[1]=2,x[2]=3,x[3]=4,x[4]=5;第二个表示对前三个元素赋值,后面的元素都为0,x[0]=1,x[1]=2,x[2]=3,x[3]=0,x[4]=0。4、一般形式:数组名[下标1][下标2],下标也是从0开始表示是第一个元素。5、最后对二维数组赋值:int x[2][2]={ {1,2},{3,4} }表示x[0][0]=1,x[0][1]=2,x[1][0]=3,x[1][1]=4,x[0][0]表示第一行第一列,其他依次类推即可。

c语言如何先声明后初始化字符数组 在定义的时候就对数组进行赋值操作称为初始化;先定义后赋值并不能称为初始化,只能叫做对数组进行赋值操作。举例如下:char a[]=\"abcd;定义(声明)字符数组a,并进行初始化以下为数组的赋值操作char b[5];定义(声明)一个字符数组b对字符数组每个元素进行赋值b[0]='a';b[1]='b';b[2]='c';b[3]='d';b[4]='e';

C语言中数组长度不能用变量定义吗? C语言里,所有变量空间都2113是在程序运行之初向系5261统申请的,包括指针,除了一4102些动态申请1653方式如malloc函数。没有申请的空间系统是不允许读写的。那么如果一个数组大小是变量定义,则在程序运行前不能确定数组大小,也就无法申请,故不允许。所以,解决的办法便是通过malloc函数,即int a[n];可改为int*const a=(int*)malloc(sizeof(int)*n);这样a变量就完全可以当作一个数组直接使用了,包括a[1]之类的。因为“[]”中括号运算符做的只是偏移其内的地址数并取值。如:a[1]等价于(a+1)而const修饰符在星号之后,则表示指针在被声明后不能改变,即只能指向这个获取的空间,完全符合数组的性质综上所述,如果需要变量控制长度的一个数组,类似“int a[n];的,可改成“int*const a=(int*)malloc(sizeof(int)*n);并直接作为数组以[]方式使用。const可以去掉,但要保证使用时不改变a的指向

c语言数组先声明,然后直接使用,为什么不能用

C语言中如何定义数组 C语言中,同变量2113一样;数组也5261必须先定义后使用。一维数组的定义形4102式:类型标1653识符 数组名[常量表达式];例如int a[10];其中a为地址常量。如变量的定义一样,int a;double a;float a等;数组的定义只是把后面的变量名改为数组名而已。int a[10]就是定义了一个数组名为a的数组;此数组有10个元素。其中各元素从a[0]到a[9];并没有a[10]元素。下面列举一个。扩展资料常量表达式可以包括字面常量和符号常量;但不能包含变量。例如对下面定义是错误的int n=5int a[n]可以修改为define N 5int a[N]其中对二维及多位数组定义可以类推int a[x][y][z][.]其中 x,y,z为数字。参考资料-C语言

c语言数组的定义 C语言支持一维数组和多维数组。如果一个数组的所有元素都不是数组,那么该数组称为一维数组。在C语言中使用数组必须先进行定义,一维数组的定义方式为:类型说明符;。

c语言中数组能不能先定义,然后直接赋给初值。 int a[2][3];这句是表示建立一个二维数组a[2][3]={{1,2,3},{4,5,6}};表示将数组a的[2,3]这个单元定义为{{1,2,3},{4,5,6}};但是这怎么可能,一个单元就一个数,你还赋予他一个数组。要么你直接写在一起,int a[2][3]={{1,2,3},{4,5,6}};要么你就依次把a的所有单元全部定义一次,例如a[0][0]=1;

#数组#变量#指针初始化#赋值#初始化

随机阅读

qrcode
访问手机版