本篇文章给大家谈谈c语言数组长度不确定,以及c语言定义不定长数组对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
1、C语言定义数组但是数组长度不确定怎么处理2、在c语言中如何将一组不定长度的数存入数组3、c语言 不定长数组4、C语言中可以定义不定长度的数组(即数组长度由变量确定)吗?5、C语言中,对于不知道长度的数组怎样输入。。。
C语言定义数组但是数组长度不确定怎么处理
假设数组存的是int型 那么 你先申请10个元素 int* a = (int*)malloc(sizeof(int)*10); 如果又来了个元素,那么你就可以 a=(int *)realloc(a,11*sizeof(int)); 求元素个数int i,n=1; for(i = 0;(a+i)!=NULL;i++) { ; } n=i+1;//n就是元素个数
在c语言中如何将一组不定长度的数存入数组
C语言中不能定义未确定个数的数组,不过可以用指针来变相的完成你的要求。
示例程序如下:
#includestdio.h
#includestdlib.h
void main()
{
int* p;
int n,i=0;
scanf(“%d”,n);
printf(“请输入%d个数字:\n”,n);
p=(int*)malloc(n*sizeof(int));
for(;in;i++)
{
scanf(“%d”,p+i);
}
printf(“输入的数字有:”);
for(i=0;in;i++)
printf(“%d “,*(p+i));
puts(“”);
}
该程序完成了用指针定义N个整数数组的功能,如果有其它的类型只需要改变指针和malloc中的类型即可,有问题hi我
c语言 不定长数组
数组本身就是静态连续分配的,其有数据类型,也就是说是固定长度的,不定义就默认,你写的就是char
型的,长度为256;
动态数组就借助于指针了,char
*c
=
(char*)malloc(sizeof(char)
*
strlen);strlen是所定义的数组的维数,这样在定义后,在栈内分配,不用了一定要free(c),不然,系统一直占用!
希望可以帮到你,如果满意请采纳!
C语言中可以定义不定长度的数组(即数组长度由变量确定)吗?
不可以,数组在创建时长度已经确定了,而且创建后也无法更改数组的长度,楼上说的malloc动态申请的内存也是已确定的,你都不能在 不破坏原有数据的情况下改变其大小。
那怎么储存未知大小的数据呢,在储存后怎样能随意的对其添加、更改、删除、查找等一系列操作呢?只用简单的数组肯定不行,需要用到别的数据结构,如链表、二叉树等等,总有一款适合你。在大家学到数据结构与算法的时候 ,一切难题都将迎刃而解。
最后补充一点,楼上有人说数组的长度不能用变量来确定,这是错误的。 C中有 变长数组 的概念呀(c99标准),“变长”的意思就是 可以用变量来指定数组的长度,而数组一旦创建 长度就无法变化了,而且变量必须赋值在先,变长数组才能创建。某些人不能因为无法正确的设置编译器支持c99标准,而否定了 变长数组 这个用法。
C语言中,对于不知道长度的数组怎样输入。。。
1、一维数组的定义、引用和初始化:定义一维数组的一般形式:类型名 数组名[常量表达式]。
2、一维数组程序举例:冒泡法。
3、得到结果进行输出。
4、二维数组常称为矩阵。把二维数组写成行列的排列形式,可以形象的理解二维数组的逻辑结构。
5、字符数组的定义,引用和初始化:C语言中没有字符串类型,字符串是存放在字符型数组中的。
6、字符数组综合举例。输出一个菱形。
关于c语言数组长度不确定和c语言定义不定长数组的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。