c语言数组的赋值问题?初学者求助大佬们 c语言结构体数组赋值

5052℃ LYDIA

c语言数组的赋值问题?初学者求助大佬们c语言结构体数组赋值

求助,c语言新手,我想给数组挨个赋值然后输出,为什么出错了?

你的reserve函数错了,你给这个函数定义的形参,有数组(iArray[ ])和整型(iCount)

但是你在main函数中却没有给它传递这个参数进去。

你的意思应该是把所有数组的reserve写在那个函数里,你应该这么写。

#include 

void ReverseArray(){

      int iCount;

   printf("请输入数据个数:");

   scanf("%d",&iCount);

   int iArray[iCount];

   for(int i=0; i

printf("请输入第%d个数据:",i+1);

      scanf("%d",&iArray[i]);

   }

   for(int i=iCount-1;i>=0;i--)

      printf("%d ",iArray[i]);

}

int main(){

   ReverseArray();

}

C语言数组赋值问题

#include <string.h>

int main(void)

{

float a[10];

float b[10];

memcpy( b, a,10*sizeof(float) );

return 0;

}

//直接内存复制数组a到数组b,10个元素,每个元素是sizeof(float)个字节

单片机C语言数组赋值求助

数组只能在定义的时候整体赋值,不能在之后这样用。

所以你只能写成

uchar frist[5]={a,b,c,d,e,f};

而不能写成

uchar frist[5];

frist[5]={a,b,c,d,e,f};

如果你真的要在之后赋值,特别是每个成员不一样,你只能用循环或者手动一个一个赋值。

或者先把所有值放在另外一个数值然后memcpy给目标数组。

C语言中数组赋值问题

不可以b=a, 虽然理论上是可以的。但是a是一维数组,b是二维数组,两个根本是不兼容的类型,世界上任何一个编译器都会提示编译错误的,如果编译器允许通过,那么作者是不负责任的,那会引起程序的安全隐患。

可以按以下方式赋值:

int a[6] = {0,1,2,3,4,5};

int b[2][3];

for(int i=0;i<3;i++)

{

b[0][i] = a[i];

}

for(;i<6;i++)

{

b[1][i] = a[i];

}