问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c语言 定义数组时 大小必须是常量吗

发布网友 发布时间:2022-08-25 02:21

我来回答

5个回答

热心网友 时间:2024-11-26 22:26

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]表示第一行第一列,其他依次类推即可。

热心网友 时间:2024-11-26 22:27

哈哈,楼上的两位真有意思,
一个咬定是"唯一的办法",一个还吹捧的劲儿劲儿的
动态数组的malloc和realloc都不知道吧。

这么做就可以了:
既然是记录条数,那么一定是一个整数,用动态数组就可以实现。

#include <malloc.h>
void main()
{
int *p; //动态数组的声明
p = (int * ) malloc (10);//这里的10就是动态申请的size,也就是数组的成员个数
p[0]=1;//后面就和正常的数组使用一样
p[1]=p[0]+2;
.........................

//换一个数据库 大小就变化了
p = (int * ) realloc (p,20); //假设变成了20,再通过realloc来重新定义数组大小
…………………………

free(p);//当内存不再使用时,应使用free()函数将内存块释放
}

热心网友 时间:2024-11-26 22:27

C语言中,直到C99标准出现之前,声明数组时在方括号内只能使用整数常量表达式。

而C99做了很大改进,允许数组的[ ]中的值是整形变量或是整形表达式。如:

int n;
scanf ("%d", &n);
int array[n];

虽然n确实是需要运行时动态确定的变量,但是在C99中,以这种变量作为数组大小的形式已经是允许的了。这样的数组就被称之为“变长数组”。

注意:变长数组是指用整型变量或表达式声明或定义的数组,而不是说数组的长度会随时变化,变长数组在其生存期内的长度同样是固定的。

热心网友 时间:2024-11-26 22:28

是的.
可以这样:
#include<stdio.h>
#include<stdlib.h>num是变量.
int *a=(int *)malloc(num*sizeof(int));
改变大小:
a=realloc(a,num2*sizeof(int));
用完后
free(a);

热心网友 时间:2024-11-26 22:29

嗯.楼上说的是.这是通常采用的办法.用预编译命令,在程序文件的开关,定义一个常量,如这次你使用这个程序时记录数是一百,你就可以定义:#define MAX 100,之后,你就可以定义数组如a[MAX]下次你再使用这个程序时,记录数是200,你只要修改一下这里就可以了.朋友.
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
四万元没开发票税务局发多少钱 不给开发票这个情节要罚多少钱? 广东乌龙茶的种类 银行什么时候拉征信 600795国电电力,为什么在2010年4,5月突然从8块跌到4块呢?涨幅-50%... 学习很差怎么逆袭 高考文科差生五十天冲刺计划!!! ...漂亮女人,那些不大漂亮的还很善良有点丑的怎么办?她们不是很可怜吗... CS1.6 AWP经典的FRAG视频 求链接 ...大家谁有AWP的视频或者DEMO,要个看看,学学,谢谢!~ 求仙侠类网页游戏~ c语言中如何用变量定义数组大小 最好有个简单的例子 各位大虾大婶帮帮忙... 变量 数组长度C语言 C语言中数组大小如何用已经被赋值的变量来定义? 求详细的样本代码... c定义数组大小 恒字取名的寓意 属羊的几月出生最不好 我用word2007做了一张日历,但想用一张图片作为这张日历的背景,要怎么... 日本的俳句产生于哪个年代? 急!哪位日语达人帮我翻译一下啊~~ kwanzas20是哪国货币 夸女人漂亮的经典语录? 刘亦菲经典语录 仙侠霸气经典语录精选 属猪的出生日期,属猪的哪天出生是官命 C语言比java难学难在哪里? c语言和java哪个难学? 沙苑子的功效与作用 天姓氏的古风仙气十足的名字 姓天的仙气飘扬的名字 淹好的鸡腿鸭腿没烤的怎么样保氶才不会变味? 求一些仙侠类的网页游戏~! QQ炫舞炫舞web端是哪个 生日会上可以玩哪些好玩的游戏,12岁生日 连云港东港中学学区房有哪些 连云港日出东方属于那个学区 连云港市优步花园有学区吗 一级注册建筑师和一级注册建造师有什么区别 ...浩方集团提供品牌出海加速孵化服务,他们的亚马逊运营风控体系... 连云港2022解放路小学学区房划分 连云港万润丰泰苑属于哪里学区? 连云港实验小学升学还要看学区吗? 江苏连云港灌云县书香学府属于学区房吗? 连云港市区小学入学学区房需要提前一年买吗? 连云港2011小学学区划分已出台,现想知到每个社区包含哪几个小区或范围... 债券的基本介绍 银耳发奶吗 银耳汤下奶还是回奶 耳朵和嘴是怎样相通的? 王者荣耀特别的女生名字,我老公的名字是独占怡红院,我也不知道是什么... oracle中怎么取一个字段的第二个数据