C语言怎么定义长度为n的数组,c语言数组长度怎么表示
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--;
}
}