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(); } #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)个字节 数组只能在定义的时候整体赋值,不能在之后这样用。 所以你只能写成 uchar frist[5]={a,b,c,d,e,f}; 而不能写成 uchar frist[5]; frist[5]={a,b,c,d,e,f}; 如果你真的要在之后赋值,特别是每个成员不一样,你只能用循环或者手动一个一个赋值。 或者先把所有值放在另外一个数值然后memcpy给目标数组。 不可以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]; }C语言数组赋值问题
单片机C语言数组赋值求助
C语言中数组赋值问题