C语言中一维数组正确的定义 C语言提问:下列一维数组说明中,正确的是【】?

C\u8bed\u8a00\u4e2d\u4e00\u7ef4\u6570\u7ec4\u6b63\u786e\u7684\u5b9a\u4e49

C\u8bed\u8a00\u4e2d\u5b9a\u4e49\u4e00\u7ef4\u6570\u7ec4\u5982\u4e0b\uff1a
\u6570\u636e\u7c7b\u578b
\u6570\u7ec4\u540d[\u6570\u7ec4\u957f\u5ea6];

//
\u4e0d\u8fdb\u884c\u521d\u59cb\u5316\u7684\u6570\u7ec4
\u6570\u636e\u7c7b\u578b
\u6570\u7ec4\u540d[\u6570\u7ec4\u957f\u5ea6]
=
{\u6570\u7ec4\u5143\u7d20\u521d\u59cb\u5316\u503c};

//
\u8fdb\u884c\u521d\u59cb\u5316\u7684\u6570\u7ec4
\u4e3e\u4f8b\u5982\u4e0b\uff1a
// \u5b9a\u4e49\u4e00\u4e2aint\u578b\u7684\u672a\u8fdb\u884c\u521d\u59cb\u5316\u6570\u7ec4data1
int data1[5];
// \u5b9a\u4e49\u4e00\u4e2aint\u578b\u7684\u6570\u7ec4data2\uff0c\u5e76\u5bf9\u6570\u7ec4\u4e2d\u5404\u5143\u7d20\u8fdb\u884c\u521d\u59cb\u5316
int data2[5] = {5, 2, 4, 0, 3};

1\u697c\u7684\u56de\u7b54\u6211\u770b\u4e0d\u4e0b\u53bb\u4e86

A\u662f\u5bf9\u7684
B)int n=5;
float b[n];//\u6570\u7ec4\u5b9a\u4e49\u65f6\u5927\u5c0f\u5fc5\u987b\u8981\u5728\u7f16\u8bd1\u65f6\u5c31\u786e\u5b9a\u4e0b\u6765\uff0c\u6240\u4ee5n\u5fc5\u987b\u662f\u5e38\u91cf\u800c\u4e0d\u662f\u53d8\u91cf
C)const int m=7;
float a[m];//const\u7684\u610f\u601d\u662fm\u4e0d\u80fd\u518d\u8d4b\u503c\uff0c\u8fd9\u5728C++\u4e2d\u662f\u5bf9\u7684\uff0c\u4f46C\u8bed\u8a00\u4e2d\u662f\u9519\u7684
D) int a(7);//\u5728C++\u4e2d\u662f\u521d\u59cb\u5316a\u4e3a7\uff0c\u4f46\u8fd9\u662fC\u8bed\u8a00\u6ca1\u8fd9\u79cd\u7528\u6cd5

符号常量是用一个标识符来表示一个常量,一维数组的定义方法为:类型说明符+数组名+[常量表达式];

类型说明符是任一种基本数据类型或构造数据类型。数组名是用户定义的数组标识符。方括号中的常量表达式表示数组元素的个数或者长度,可以是常量或符号常量,不能为变量。

例如:

1、int x[8]; 表示定义一个整型数组x,数组长度为8.

2、float a[8],b[10];表示定义一个实型数组b,数组长度为8,一个实型数组c,数组长度为10

3、 ch[15];  表示定义一个字符数组ch,数组长度为15。

扩展资料

在程序中可以使用下标变量,即说明这些变量的整体为数组,数组中的每个变量的数据类型是相同的。当数组中每个元素都只带有一个下标时,称这样的数组为一维数组。

一维数组是由数字组成的以单纯的排序结构排列的结构单一的数组。一维数组是计算机程序中最基本的数组。二维及多维数组可以看作是一维数组的多次叠加产生的。

数组是计算机编程中的重要概念,运用数组可以方便地处理大规模的数据。

参考资料:百度百科-一维数组



在C语言中使用数组必须先进行定义。一维数组的定义方式为:

类型说明符 数组名 [常量表达式];

其中,类型说明符是任一种基本数据类型或构造数据类型。数组名是用户定义的数组标识符。方括号中的常量表达式表示数据元素的个数,也称为数组的长度。例如: 

1、int a[10];  /* 说明整型数组a,有10个元素 */

2、float b[10], c[20];  /* 说明实型数组b,有10个元素,实型数组c,有20个元素 */

3、 ch[20];  /* 说明字符数组ch,有20个元素 */

扩展资料:

通过给出的数组名称和这个元素在数组中的位置编号(即下标),程序可以引用数组中的任意一个元素。

在C++中,一维数组的引用格式为:数组名[下标]

例如: int a[10];

其中,a是一维数组的数组名,该数组有10个元素,依次表示为a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9]。

需要注意的是,a[10]不属于这一个数组的空间范围中。当在说明部分定义了一个数组变量后,编译程序会在内存空间中开辟一串连续的存储单元。

对于数组而言,程序的执行部分使用的是数组变量而不是数组类型。需要注意的是:在引用时,下标可以是整型变量或整型表达式。

如果使用表达式,会先计算表达式以确定下标。程序只能逐个应用数组中的元素而不能一次引用整个数组。如:

int a[100],b[100]; a=b;

参考资料:百度百科——一维数组



符号常量的概念是:在程序运行过程中,其值不能被改变的量称为常量.用一个标示符代表一个常量的符号,称为符号常量

符号常量在使用之前必须先定义,其一般形式为:#define 标识符 常量

其中define是一条预处理命令,被叫做宏定义命令,功能是把这个标识符定义为常量值。经过定义之后程序中所有出现这个标识符的地方都用这个常量值代替。

扩展材料:

另一层含义指它们的编码方法是不变的(但是严格来说‘人为规定的某一种方法也可以因地制宜而人为改变,所以其本身数值大小‘不是‘常量’的内涵’),比如字符'A'无论在硬件、软件还是各种编程语言中,它的信息编码即为 ‘ 0x41’。

在除了‘C/C++’的一些高级程序语言中,‘常量’可以被称作,“在一个信息变化过程中,始终不发生改变的量”,其可以是不随着时间变化的某些量的固定信息;也可以表示为某一数值的字符(或字符串),常被用来标识、测量和比较两者的差异。

但在 ‘C/C++语言中’,‘常量’如果还用‘运行过程中不变的量’来描述,就显得不太准确了,甚至是在具体使用时,这就是一个错误的概念。在 ‘C/C++’中,定义‘指针常量’时,根据‘const ’的位置的不同,可以定义出几个不同的形式,虽然其看起来‘符合常量的概念’,但是在实际运行中,其值或地址值是会发生变化的。所以本质还不是‘常量概念’

形式为 :const type name = value;

例如:const int MONTHS = 12;

这样就可以在程序中使用MONTHS而不是12了。常量(如MONTHS)被初始化后,其值就被固定了,编译器将不允许再修改该常量的值。假如您这样做:

MONTHS = 18;

是不对的,就好像您将值4赋给值3一样,无法通过编译。

此外注意应在声明中对const进行初始化。下面的代码是不正确的:

const int toes;// toes的值此时是不确定的

toes=10;//这时进行赋值就太晚了

参考资料来源:百度百科——符号常量



符号常量是用一个标识符来表示一个常量,一维数组的定义方法为:

类型说明符+数组名+[常量表达式];

类型说明符是任一种基本数据类型或构造数据类型。数组名是用户定义的数组标识符。方括号中的常量表达式表示数组元素的个数或者长度,可以是常量或符号常量,不能为变量。

例:

1、int x[8]; 表示定义一个整型数组x,数组长度为8.

2、float a[8],b[10];表示定义一个实型数组b,数组长度为8,一个实型数组c,数组长度为10

3、 ch[15];  表示定义一个字符数组ch,数组长度为15。

扩展资料

一维数组的定义又可分为固定长度数组和长度可变数组两种,定义方法为:

1、固定长度数组

固定长度数组可以具有任意存储类别:可以将它们定义在所有函数的外面或语句块的里面,并且可以使用或不使用存储类修饰符 static。唯一的限制是数组不能作为函数参数。一个传入函数的数组参数需要被转换为指向数组第一个元素的指针。如:

int a[10];// a有外部链接

static int b[10];// b有静态存储周期和文件作用域

void func()

{static int c[10];// c有静态存储周期和块作用域

int d[10];// d有动态存储周期

/* ... */}

2、长度可变数组

如果一个数组具有动态存储周期(也就是说,如果在语句块内定义数组,并且没有 static 修饰符),那么 C99 也允许把非常量表达式作为元素数量来定义该数组。这样的数组被称为长度可变数组(variable-length array)。

注意:长度可变数组的名称必须是普通的标识符。长度可变数组不能作为结构或联合的成员。

例:void func( int n )

{int vla[2*n]; // 合法:存储周期为动态的

static int e[n];// 非法:长度可变数组不可有静态存储周期

struct S { int f[n]; };// 非法:f不是一个普通标识符

/* ... */}

参考资料来源:百度百科——一维数组



这道题正确的答案是:C选项。

A. int  a (5);  
错误,因为不能用(),()一般函数,以及(*int)强制转换类型。


B. int  n=5,  a[ n ];
错误,因为不能是变量。

C.int a[SZ];
正确,SZ为符号常量,如被定义是:#define SZ  10,这就是int a[SZ];

符号常量的解释:

1、符号常量是:在C语言中,可以用一个标识符来表示一个常量,称之为符号常量。

2、符号常量在使用之前必须先#define定义(如代码1),一般使用const来指明(如代码2)。

代码实例1:#define MAX_SIZE 256;

代码实例2:const int MAX_SIZE =256;

3、#define 也是一条预处理命令(预处理命令都以"#"开头),称为宏定义命令,通过预处理器来替换符号常量,其功能是把该标识符定义为其后的常量值。

一经定义,以后在程序中所有出现该标识符的地方均代之以该常量值。习惯上符号常量的标识符用大写字母,变量标识符用小写字母,以示区别。

4、符号常量虽然有名字,但它不是变量。它的值在其作用域内是不能改变的,也不能被赋值。

5、使用符号常量的好处是:1、含义清楚。2、在需要改变一个常量时能做到“一改全改”。

参考资料:百度百科-符号常量



  • 63銆佷互涓嬪涓缁存暟缁a鐨勬纭畾涔鏄 C 銆
    绛旓細LLChina99 閲囩撼鐜:59% 鎿呴暱: C/C++ 姹囩紪璇█ 瓒崇悆 鍏朵粬缂栫▼璇█ 妫嬬墝楹诲皢 鍏朵粬鍥炵瓟 瀵逛簬涓缁存暟缁,鏁扮粍闀垮害涓嶈兘鐢ㄥ彉閲忚〃绀,A閫夐」鐨勮〃绀烘湁璇,鍙兘鐢ㄤ腑鎷彿銆侭閫夐」,瀹氫箟鐨n鏄釜鍙橀噺,澶у皬涓嶇‘瀹,涓嶈兘浣滀负鏁扮粍闀垮害銆侰閫夐」,浣跨敤瀹忓畾涔,鐩稿綋浜庡皢N瀹氫箟涓哄间负10鐨勫父閲,鏁呭彲浠ヤ綔涓烘暟缁勯暱搴︺侱閫夐」,涔熸槸閿欒鐨勬兂浠...
  • c璇█涓,杩欐牱瀹氫箟涓缁存暟缁勬纭鍚? int a[5]={0,1,2,3,4}
    绛旓細杩欐槸姝g‘鐨锛屼綘瀹氫箟浜哸[5]鐨勬暟缁锛屽氨鐩稿綋浜庡畾涔変簡5涓猧nt鍨媋[0],a[1],a[2],a[3],a[4],鐒跺悗鎸夌収椤哄簭渚濇璧嬪硷紝鍗砤[0]=0,a[1]=1,a[2]=2,a[3]=3,a[4]=4杩欐牱
  • 浠ヤ笅瀵涓缁存暟缁a鐨勫畾涔変腑姝g‘鐨鏄( ). A int a(10); B int a[0鈥100...
    绛旓細鏍规嵁瀹氫箟鍙煡锛歺[0] = 11; x[1] = 5; x[2] = 4; x[3] = 6; x[4] = 8;鏁呰棰樺簲閫塀
  • 浠ヤ笅鑳姝g‘瀹氫箟涓缁存暟缁勭殑閫夐」鏄 () A. int a[5]={0,1,2,3,4,5}...
    绛旓細B鏄姝g‘鐨锛孉鐢变簬瀹氫箟鐨勬暟缁鍙湁5涓厓绱犵殑绌洪棿锛岃岃祴鍒濆鍊间负6涓紝鎵浠ョ紪璇戞椂閮戒笉鍙兘閫氳繃锛孊娌℃湁瀹氫箟澶у皬锛岀敱鍚庨潰鐨勫垵濮嬪兼暟閲忕粰瀹氾紝C鏄竴涓彉閲忕被鍨嬶紝鑰屾病鏈夌粰鍑哄彉閲忥紝鎵浠ヤ篃鏄敊璇殑銆傝繕鏈変竴鐐癸紝鍙兘瀵逛綘鐞嗚В鏈夊府鍔╋紝char浠庡師鎰忔潵璇存槸瀛楃锛屽瓧绗︼紙ASCII鐮侊級鍙互鐢ㄦ暣鏁板彧琛ㄧず锛屾墍浠娌℃湁闂銆侰...
  • 浠ヤ笅瀵涓缁存暟缁a鐨勫畾涔変腑姝g‘鐨鏄( ). A int a(10); B int a[0鈥100...
    绛旓細浠ヤ笂棰樼洰灞炰簬鑰佹棫棰樼洰锛屽浜嶤99鏍囧噯浠ュ墠鐨勭紪璇戝櫒锛岄夐」C鏄姝g‘鐨锛屽浜嶤99鍙婁互涓婄紪璇戝櫒锛孋D閮芥槸姝g‘鐨勩
  • 鍐掓场鎺掑簭 error C2057: 搴旇緭鍏ュ父閲忚〃杈惧紡
    绛旓細浠ヤ笅鏄C璇█涓瀵规暟缁勭殑瀹氫箟瑙勫垯锛氬湪C璇█涓娇鐢ㄦ暟缁勫繀椤诲厛杩涜瀹氫箟銆涓缁存暟缁勭殑瀹氫箟鏂瑰紡涓猴細绫诲瀷璇存槑绗 鏁扮粍鍚 [甯搁噺琛ㄨ揪寮廬;鍏朵腑锛岀被鍨嬭鏄庣鏄换涓绉嶅熀鏈暟鎹被鍨嬫垨鏋勯犳暟鎹被鍨嬨傛暟缁勫悕鏄敤鎴峰畾涔夌殑鏁扮粍鏍囪瘑绗︺傛柟鎷彿涓殑甯搁噺琛ㄨ揪寮忚〃绀烘暟鎹厓绱犵殑涓暟锛屼篃绉颁负鏁扮粍鐨勯暱搴︺傛敞鎰忥細涓嶈兘鍦ㄦ柟鎷彿涓敤...
  • C璇█涓瀵涓缁鏁村舰鏁扮粍鐨勬纭璇存槑
    绛旓細浠ヤ笅瀵涓缁鏁村瀷鏁扮粍a鐨勬纭璇存槑鏄痏__銆侫) int a (10);//鏁扮粍鐨勫畾涔鏍煎紡涓猴細鏁版嵁绫诲瀷 鏁扮粍鍚峓甯搁噺琛ㄨ揪寮廬锛涘彧鑳界敤[]涓嶈兘鐢紙锛夛紝鍥犳閿欒 B) int n=10, a[n];//瀹氫箟鏃讹細鏁扮粍鍚峓甯搁噺琛ㄨ揪寮廬閲屽父閲忚〃杈惧紡鍙兘鏄暣褰㈠父閲忓拰绗﹀彿甯搁噺锛岀粷瀵逛笉鑳芥槸鍙橀噺锛屽洜姝銆C 閮芥槸閿欒鐨 C) int n; ...
  • 涓嬪垪涓缁存暟缁勫畾涔夋纭殑鏄 A x=6;int num[x] B const int x=6;float...
    绛旓細涓嬪垪涓缁存暟缁勫畾涔夋纭殑鏄 A x=6;int num[x] B const int x=6;float a[x] C const float x=6;int b[x]绂婚棶棰樼粨鏉熻繕鏈 14 澶 23 灏忔椂 鎻愰棶鑰咃細濡嶆氮 D const int x=6;int c[x]C,D閮借兘姝g‘瀹氫箟涓缁存暟缁锛屽彧鏄被鍨嬩笉鍚屻倄涓瀹氳鏄暣鍨嬪父閲忔墠鑳瀹氫箟涓缁存暟缁勭殑銆
  • 浠ヤ笅鑳姝g‘瀹氫箟涓缁存暟缁勭殑閫夐」鏄
    绛旓細B 濡傛灉N鏄竴涓彉閲忥紝鍒欎笉姝g‘锛屼絾N鏄畯锛屾墍浠ュ湪缂栬瘧鍓嶅氨琚睍寮浜嗭紝鍜宨nt num[100]鍏跺疄鏄竴鏍风殑锛岄偅涔圓涓轰粈涔堜笉鏄瀹氫箟鍛紝鍥犱负A鏄0鏄庯紝娌℃湁缁鏁扮粍鍒嗛厤绌洪棿锛屾墍浠ヤ笉鍙畾涔
  • 浠ヤ笅鑳姝g‘瀹氫箟涓缁存暟缁勭殑閫夐」鏄 ~~~姹傝В閲 瑙i噴
    绛旓細a瀵 b瀹氫箟鐨勬槸char鏁扮粍锛屽嵈浣跨敤int鏁版嵁璧嬪 c瀹氫箟鐨涓嶆槸鏁扮粍 d瀹氫箟鐨勬槸int鏁扮粍锛屽嵈浣跨敤瀛楃涓茶祴鍊
  • 扩展阅读:二维数组a 3 4 ... 一维和二维数组的区别 ... 正确声明一个一维数组 ... 定义一个一维数组求和 ... 数学一维和二维的区别 ... 二维数组的一维写法 ... 数组第一维大小指什么 ... c语言数组的使用 ... c语言定义一维整形数组 ...

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