C语言怎么定义长度为n的数组,c语言数组长度怎么表示

http://www.itjxue.com  2023-01-06 15:33  来源:未知  点击次数: 

c语言:我想定义一个行数为n的数组,为什么还是告诉我不确定数组的大小?怎么改?急求!!!

你这么写的话,那个n还是一个变量,c语言首先需要编译才能执行,而编译的时候编译器就认为这个n是不确定的,所以他不知道要给你分配多大的存储空间,我建议你可以定义一个指针来做,下面是一个例子。

假设数组存的是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语言怎么自定义数组长度。

动态分配的数组可以自定义数组的长度,示例如下:

#include

stdio.h

#include

string.h

#include

stdlib.h

int

main()

{

printf("输入要分配的内存大小:");

int

size;

scanf("%d",

size);

//输入自定义的数组长度

int

*pstart

=

(int

*)malloc(sizeof(int)

*size);

if

(pstart==0)

{

printf("不能分配内存\n");

return

0;

}

memset(pstart,

0x00,

sizeof(int)

*

size);

int

inx;

for

(inx=0;

inx!=size;

++inx)

pstart[inx]

=

inx;

for

(inx=0;

inx!=size;

++inx)

printf("%d\t",

pstart[inx]);

printf("\n");

return

0;

}

C语言中数组长度用变量n定义,组元素为1到n,令n=1,2,3,分别输出每次的数组,求代码

#include?stdio.h

#include?stdlib.h

int?main()

{

int?n,?i;

//?声明整型数组指针变量

int?*array;

printf("input?n:?");

scanf("%d",?n);

//?创建长度为n的数组

array?=?(int?*)malloc(n?*?sizeof(int));

//?赋值并输出

for(i?=?0;?i??n;?i++)

{

array[i]?=?i?+?1;

printf("%d???",?array[i]);

}

printf("\n");

return?0;

}

c语言,,要怎么改,,要求自定义数组的长度,,为n,,n为键盘输入值

#include stdio.h

int main()

{

int num_count=0,times=0;

int c=0,temp=0;

scanf("%d %d",num_count,times);

temp=num_count; //将num_count暂存,后面备用

//定义数组,并赋值

int a[num_count];

while(num_count){

scanf("%d",a[num_count-1]);

num_count--;

}

//输入times个数字判断是否在数组中

while(times){

num_count=temp; //重置num_count的值

scanf("%d",c);

//判断c是否在数组中

while(num_count)

{

if (c==a[num_count-1])

printf("%d",num_count-1);

else

printf("-1");

num_count--;

}

times--;

}

}

(责任编辑:IT教学网)

更多

推荐其它系统文章