当前位置:首页 » 编程语言 » 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为结束, 或先输入长度, 是最为常见的两种方式。

热点内容
linuxroot密码错误 发布:2025-04-16 02:56:05 浏览:665
python交互存储数据的思路 发布:2025-04-16 02:25:20 浏览:655
我的世界无指令泥土商店服务器号 发布:2025-04-16 02:22:29 浏览:815
显示存储器包含在 发布:2025-04-16 02:09:25 浏览:681
java常用集合类 发布:2025-04-16 02:01:33 浏览:818
百度云解压无法预览 发布:2025-04-16 01:46:49 浏览:369
hsqldb数据库 发布:2025-04-16 01:46:45 浏览:729
苹果xs和安卓5哪个好 发布:2025-04-16 01:46:12 浏览:904
萤石c5c怎么配置有线连接 发布:2025-04-16 01:39:16 浏览:455
潮主解压码 发布:2025-04-16 01:26:20 浏览:609