作业帮 > 综合 > 作业

C语言里面 数组都要事先定义长度吗

来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/06/17 10:03:03
C语言里面 数组都要事先定义长度吗
如果我想 随便输入一个数“n” 然后 让 这个n 就等于这个 一维数组的长度呢?
第一行中有个正整数n(n
C语言里面 数组都要事先定义长度吗
数组必须是固定长度,但是可以通过动态内存申请来实现你的要求.
unsigned int *pAllScores;
main()
{
int n = 0;
//输入n请自行完成;
if(n > 0)
{
pAllScores = (unsigned int*)malloc(sizeof(unsigned int) * n);//申请内存
memset(pAllScores, 0, sizeof(unsigned int) * n);//内存清零
//此时,pAllScores就可以当做一个长度为n的整形数组使用了.比如pAllScores[0]表示学号为0的学生的成绩.但是在使用完毕后,要注意释放该动态内存.
//假设此处为输入成绩,保存到pAllScores,并打印输出.在此之后须执行如下操作:
free(pAllScores);
}
}