当前位置:首页 » 编程语言 » c语言不定长参数

c语言不定长参数

发布时间: 2025-04-14 19:30:30

1. c语言中可以定义不定长度的数组(即数组长度由变量确定)吗

不可以,数组在创建时长度已经确定了,而且创建后也无法更改数组的长度,楼上说的malloc动态申请的内存也是已确定的,你都不能在 不破坏原有数据的情况下改变其大小。
那怎么储存未知大小的数据呢,在储存后怎样能随意的对其添加、更改、删除、查找等一系列操作呢?只用简单的数组肯定不行,需要用到别的数据结构,如链表、二叉树等等,总有一款适合你。在大家学到数据结构与算法的时候 ,一切难题都将迎刃而解。
最后补充一点,楼上有人说数组的长度不能用变量来确定,这是错误的。 C中有 变长数组 的概念呀(c99标准),“变长”的意思就是 可以用变量来指定数组的长度,而数组一旦创建 长度就无法变化了,而且变量必须赋值在先,变长数组才能创建。某些人不能因为无法正确的设置编译器支持c99标准,而否定了 变长数组 这个用法。

2. C语言编译不出结果。。。0error,但是调试一长串东西,看不懂,高人指教啊~~

前面3行是正常调试信息,最后两行是说程序已经退出了。你问这个问题,看来是初学者,所以我估计是你的程序已经执行完毕了。在程序结尾打个断点或加个输入语句,保证程序能够在执行中能停下
其实程序应该没有问题的。

3. 在c语言中如何将一组不定长度的数存入数组

C语言中不能定义未确定个数的数组,不过可以用指针来变相的完成你的要求。
示例程序如下:
#include<stdio.h>
#include<stdlib.h>
void main()
{
int* p;
int n,i=0;
scanf("%d",&n);
printf("请输入%d个数字:\n",n);
p=(int*)malloc(n*sizeof(int));
for(;i<n;i++)
{
scanf("%d",p+i);
}
printf("输入的数字有:");
for(i=0;i<n;i++)
printf("%d ",*(p+i));
puts("");
}
该程序完成了用指针定义N个整数数组的功能,如果有其它的类型只需要改变指针和malloc中的类型即可,有问题hi我

4. c语言,输入一个长度不定的整型数组(1000位以内),我要怎么知道该数组的长度。

一般有两种方式。
1 第一个输入为数组长度。 比如输入 3 12 45 87
2 以特定输入为结束标记, 比如 以0,-1或者EOF作为结束标记。或者整行输入,以换行符为结束标记。
一般来说,在自动判题系统中,以EOF为结束, 或先输入长度, 是最为常见的两种方式。

热点内容
怎么做云脚本 发布:2025-04-25 23:37:17 浏览:541
怎么配置serial窗口 发布:2025-04-25 23:32:24 浏览:961
java配置路径 发布:2025-04-25 23:29:44 浏览:824
闪迪存储卡g 发布:2025-04-25 23:24:51 浏览:211
c语言和It 发布:2025-04-25 23:18:22 浏览:695
c语言简单程序设计 发布:2025-04-25 23:13:14 浏览:593
c语言编程思路 发布:2025-04-25 23:08:08 浏览:341
安卓开发存储空间多少则为不足 发布:2025-04-25 22:54:55 浏览:541
视频课堂源码 发布:2025-04-25 22:52:55 浏览:982
庭院植物配置需要什么 发布:2025-04-25 22:46:47 浏览:985