C语言数组的初始化表示方法

是不是inta[]... 是不是 int a[] 展开
 我来答
文望刃
推荐于2019-10-18 · TA获得超过1783个赞
知道答主
回答量:11
采纳率:0%
帮助的人:1.2万
展开全部

不是inta[]   而是例如int a[10]这种。括号内一定要有个常量数字。

我们可以这样定义

#define N 5

int a[N]

这表明了数组名为a;数组有5个元素;分别是a[0]到a[4];

对于数组来说;数组是变量的集合,因此数组也具有与变量相同的数据类型和储存类型。数组的类型就是它所有的变量的类型。在定义数组时,应在数组名前对数组的类型加以确定。如上面的int a[10];则表明了数组内元素均为整形。

所有当表示浮点型可以定义为例如float a[10]。 举例如下:

扩展资料

数组名是由用户命名的C语言标识符,要遵循标识符命名规则。数组名表示数组存储区域的首地址。数组的首地址也就是第一个元素的地址。数组名是一个地址常量,不能对它赋值。

数组名后是由方括号括起来的常量表达式,不能使用其他括号

xp19971025
推荐于2019-10-20 · TA获得超过17.6万个赞
知道小有建树答主
回答量:42
采纳率:100%
帮助的人:2.3万
展开全部

在C语言中,数组的初始化有以下几种方式:

1、定义的时候同时初始化:

int array[10] = {1,2,3,4,5};

2、定义的时候不指定数组大小,由初始化的数组元素来确定大小:

int array[] = {1,2,3,4,5};

3、先定义变量,然后初始化.注意点:定义变量时必须制定数组的大小.此时只能对数组变量成员元素逐一赋值,不能批量赋值.

//    int array[]; //错误用法

int array[12];

//    array = {1, 2, 3}; //错误用法.

array[0] = 1;

array[1] = 2;

array[2] = 3;

4、只有一种情况,在作为方法的形式参数时,可以不指定数组的大小.这时传入方法的是数组的首地址,所以在方法内部是无法得到数组长度的,数组长度必须作为参数传入函数.

void test()

{

int array[] = {1,2,3,4,5};

int length = sizeof(array)/sizeof(int);

int result = sumOfArray(array, length);

printf("%d",result);

}

int sumOfArray(int array[], int length)

{

int result = 0;

for (int i=0; i<length; i++)

{

result += array[i];

}

return result;

}

扩展资料

C语言数组构建:

1、遵循原则

申请的时候从外层往里层,逐层申请;

释放的时候从里层往外层,逐层释放。

2、构建所需指针

对于构建一维动态数组,需要一维指针;

对于二维,则需要一维,二维指针;

三维需要一,二,三维指针;

依此类推。

参考资料

百度百科-C语言



本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
吉祥二进制
高粉答主

推荐于2017-10-03 · 科技改变生活,生活改变科技。
吉祥二进制
采纳数:33926 获赞数:84580

向TA提问 私信TA
展开全部

一般对数组初始化可以用以下方法实现:


(1)在定义数组时对数组元素赋以初值。如:

static int a[10]={0,1,2,3,4,5,6,7,8,9};

经过上面的定义和初始化后,a[0]=0,a[1]=1,…,a[9]=9。

(2)初始化时可以只对一部分元素赋初值。例如:

static int a[10]={0,1,2,3,4};

定义的数组有10个元素,但只对其中前5个元素赋了初值,后5个元素初值为0。

(3)如果想使一个数组的元素值全部为0,可以用下面的方法:

static int a[10]={0,0,0,0,0,0,0,0,0,0};

不能用:

static int a[10]={0*10};

如果对static型数组不赋初值,系统会对定义的所有数组元素自动赋以0值。

(4)在对全部数组元素赋初值时,可以不指定数组长度。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
台式小情歌

2019-12-21 · TA获得超过6386个赞
知道大有可为答主
回答量:1.2万
采纳率:73%
帮助的人:534万
展开全部
C语言数组的初始化表示方法有4种,分别是:

1、定义的同时进行初始化,我们同样用数组的初始化引出结构体的初始化,我们知道数组在定义的同时进行初始化的代码如下:

int nums[] = {1, 3, 5};

由此可推出结构体在定义的同时进行初始化的代码如下:

struct Person p = {"lee", 23, 1.8};

2、先定义再进行初始化,这种初始化方法其实昨天的内容里已经写过了,代码如下:

struct Person p;

p.name = "lee";

p.age = 23;

p.height = 1.8;

我们知道数据定义好后就不能对其进行一次性初始化了,比如如下代码是编译不通过的。

int nums[3];

num = {1, 2, 3}

3、第三种结构体比较例外,它可以这样做,只不过需要对其进行一下强制类型转换,代码如下:

struct Person p;

p = (struct Person){"xq, 8, 8.8}

4、指定将数据赋值给指定的属性,数组中我们见过这种写法,代码如下:

int nums[3] = {[0] = 2, [2] = 1, [1] = 2};

我们可以为不同的索引指定值,并不需要一定要按顺序来,所以数组可以,结构体是否可以呢,当然,代码如下:

struct Person p = {.height = 1.8, .name = "lee", .age = 23};
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
HBITC3
2018-06-26 · TA获得超过7.5万个赞
知道小有建树答主
回答量:453
采纳率:100%
帮助的人:17.3万
展开全部

C语言数组的初始化表示方法有4种,分别是:

1、定义的同时进行初始化,我们同样用数组的初始化引出结构体的初始化,我们知道数组在定义的同时进行初始化的代码如下:

int nums[] = {1, 3, 5};

由此可推出结构体在定义的同时进行初始化的代码如下:

struct Person p = {"lee", 23, 1.8};

2、先定义再进行初始化,这种初始化方法其实昨天的内容里已经写过了,代码如下:

struct Person p;

p.name = "lee";

p.age = 23;

p.height = 1.8;

我们知道数据定义好后就不能对其进行一次性初始化了,比如如下代码是编译不通过的。

int nums[3];

num = {1, 2, 3}

3、第三种结构体比较例外,它可以这样做,只不过需要对其进行一下强制类型转换,代码如下:

struct Person p;

p = (struct Person){"xq, 8, 8.8}

4、指定将数据赋值给指定的属性,数组中我们见过这种写法,代码如下:

int nums[3] = {[0] = 2, [2] = 1, [1] = 2};

我们可以为不同的索引指定值,并不需要一定要按顺序来,所以数组可以,结构体是否可以呢,当然,代码如下:

struct Person p = {.height = 1.8, .name = "lee", .age = 23};

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式