C语言如何定义未知数

来源:魅力女性吧 1.01W
C语言如何定义未知数

C语言在数组个数未知的情况下,根据应用情况不同,有三种方式。

1,数组元素总数未知,但是需要存储的内容是已知的。其实这是一种变相的已知个数,只是编程者不去计算总个数,把这个工作交给系统来做。这时可以通过数组个数留空,显式初始化数组进行声明。比如char s[] = "this is a test string"就是初始化了这样一个数组s,其空间个数隐式的由初始化字符串决定。

2,数组元素总数未知,但最大规模已知。比如不知道数组的总个数,但是确定不会超过100个,那么就可以定义一个100个元素的数组,供存储调用。

3,动态分配数组。通过malloc函数,可以动态的分配数组,然后记录下当前分配的数组元素个数,并使用该数组。当数组空间不足时,可以通过realloc函数,重新分配空间,扩大数组元素个数。比如int size = 100int *p = (int *)malloc(sizeof(int) * 100) // 初始化分配100个元素空间。用size保存当前数组规模。p = realloc(sizeof(int)*(size + 100), p)//当空间不足时,增加100个元素。size+=100//需要注意的是,必须同步维护size的大小,否则会出错。

用malloc函数。。。。比如你要申请int型的未知个数数组。可以以下程序#include<stdio.h>#include<stdlib.h>main(){int *pint nprintf("请输入录入个数N:n")scanf("%d",&n)p = (int *)malloc(n*sizeof(int))//然后把*p当作数组指针用就可以了。。~~~~}

热门标签