c语言中什么时候可以这样定义数组"int a[]"

如题所述

不可以。知
数组在编译时编译器就会在内存中根据该数组的长度给它分配内存单元。(即编译时长度已经定了)
故而数组必须定义道其长度,且一旦定义,在系统运行中不可变,要么用整形数直接定义,要么通过直接初始化,编译内器根据初始化的元素个数自动确定该数组的长度。
定义时,方括号内不可以为容变量,但是允许:
int
n=5;
int
a[n];
这样的语句是可以的。
温馨提示:内容为网友见解,仅供参考
第1个回答  2019-07-30
不可以吧……
你说随用户抄需求定义出一个符合要求的数组?
这样试袭试
int
*p;
int
n;
scanf("%d",&n);
p
=
(int
*)malloc(sizeof(int)*n);
这样出来的效百果就和int
a[]
差不多了
如果空间不够还可以用度
realloc
再申请
谢谢~~
第2个回答  2019-01-03
int
a[]={1,2,3,4}
必须要初始化才能这么用,好处就是数组增加元素时不需要去手动计算元素个数,方便维护

c语言中什么时候可以这样定义数组"int a[]"
定义数组,并通过初始化方式来填写数组内容 int a[]={1,2,3,4,5} ;这与int a[5]={1,2,3,4,5} ; 是一样的,[]中不写数字,表示数组空间大小由实际数组元素数据个数来决定。这样定义的数组,一般表示一个常量数组。当然,因为没有加const,也可以修改数组元素内容,如:a[0]=6 ;自定...

C语言中如何定义数组
C语言中,同变量一样;数组也必须先定义后使用。一维数组的定义形式:类型标识符 数组名[常量表达式];例如int a[10]; 其中a为地址常量。如变量的定义一样,int a ;double a;float a等;数组的定义只是把后面的变量名改为数组名而已。int a[10]就是定义了一个数组名为a的数组;此数组有10...

C语言中int a[] 可以当参数吗? 他代表的是指针么?
int a[]可以当形参。数组当参数的时候回退化成指针,也就是一个指针常量

int a[ ][3]正确吗
在C语言中,二维数组的定义是允许的,并且灵活多变。关于题目中的 `int a[ ][3]` 这样的声明,它定义了一个二维数组。在这个声明中:1. `int` 表示数组的元素类型是整数。2. 第一个方括号 `[]` 表示第一维的大小是未知的,通常用于动态分配内存的场景。比如在使用 `malloc` 时会如此声明。...

c语言中什么时候数组不必定义大小,直接用[]表示。 麻烦告诉下,谢谢...
C\/C++中使用数据都必须要在定义的时候确定大小。直接用[]的情况是在声明数组时就初始化该数组,例子如下:int a[] = {1,2,3,4,5,6,7,8};这种直接使用[]是因为在直接声明赋初值时,初始值确定了数据的大小,如上例数组大小为8.外还有一种是将数组作为参数传给函数,实际那是传的指针,如下...

C语言数组问题:int a[]; a代表a[0]的值,还是指向a[0]的地址
a代表数组的首地址,就是指向a[0]的地址。

c语言 int a[]
意思是可以不用写数组的个数 ,当然后面还得有大括号说明数组个数。。。函数的形参中数组的 [] 号标示指针,所以可以不用写数组个数,当然写了也没用

为什么说c语言中的符号常量也能定义数组长度,不理解哎。。请教谢谢_百...
数组在定义的时候大小是确定的,而符号常量在编译的时候就是确定的,无法更改,所以可以用 define N 10 int a[N];\/\/N的值你是无法修改的

C语言怎么用变量定义来数组元素个数?
C语言中数组的维数表示数组中元素的个数,在常规数组中维数是必须要指明的,如果没有指明,则必须在初始化列表中给定初始值,编译器通过初始化列表来确定数组的维数。int a[] = {1,2,3,4};上面的代码虽然没有指明数组的维数,但是编译知道数组a的维数是4(只有4个元素)。要实现用变量定义数组的...

c语言数组的定义
在C语言中使用数组必须先进行定义,一维数组的定义方式为:类型说明符; 数组名 ;[常量表达式]。其中,类型说明符是任一种基本数据类型或构造数据类型。数组名是用户定义的数组标识符,方括号中的常量表达式表示数据元素的个数,也称为数组的长度。例如:int a[10]; \/* 说明整型数组a,有10个元素 ...

相似回答
大家正在搜