需要在foo函数中操作这个字符数组中的元素,如何传递aaa这个字符数组呢,比如
void foo(参数不知道如何写)
{
aaa[0]=0x20;
aaa[1]=0x40;
aaa[2]=0x20;
aaa[3]=0x40;
}
7 个解决方案
#1
补充下,开始代码是在
void getComm()
{
char aaa[4];
aaa[0]=0x00;
aaa[1]=0x00;
aaa[2]=0x00;
aaa[3]=0x00;
foo(参数不知道如何写);
}
下面的bbb的是通过foo函数参数传递过来的aaa数组
void foo(参数不知道如何写)
{
bbb[0]=0x20;
bbb[1]=0x40;
bbb[2]=0x20;
bbb[3]=0x40;
}
}
void getComm()
{
char aaa[4];
aaa[0]=0x00;
aaa[1]=0x00;
aaa[2]=0x00;
aaa[3]=0x00;
foo(参数不知道如何写);
}
下面的bbb的是通过foo函数参数传递过来的aaa数组
void foo(参数不知道如何写)
{
bbb[0]=0x20;
bbb[1]=0x40;
bbb[2]=0x20;
bbb[3]=0x40;
}
}
#2
void getComm()
{
char aaa[4];
aaa[0]=0x00;
aaa[1]=0x00;
aaa[2]=0x00;
aaa[3]=0x00;
foo(aaa);
}
void foo(char* bbb)
{
bbb[0]=0x20;
bbb[1]=0x40;
bbb[2]=0x20;
bbb[3]=0x40;
}
{
char aaa[4];
aaa[0]=0x00;
aaa[1]=0x00;
aaa[2]=0x00;
aaa[3]=0x00;
foo(aaa);
}
void foo(char* bbb)
{
bbb[0]=0x20;
bbb[1]=0x40;
bbb[2]=0x20;
bbb[3]=0x40;
}
#3
void foo(char *aaa[4])
{
*aaa[0]=0x20;
*aaa[1]=0x40;
*aaa[2]=0x20;
*aaa[3]=0x40;
}
是这意思吗
{
*aaa[0]=0x20;
*aaa[1]=0x40;
*aaa[2]=0x20;
*aaa[3]=0x40;
}
是这意思吗
#4
就用指针就是了,以前定义过忘了,反正就算定义了编译器也不会给你检查的,编译器还是按照指针处理的,不会检查数组长度的
#5
void fa(char a[])
{
printf("%c\n",a[0]);
printf("%c\n",a[1]);
printf("%c\n",a[2]);
printf("%c\n",a[3]);
}
main()
{
char a[4]={'1','2','3','4'};
fa(a);
}
{
printf("%c\n",a[0]);
printf("%c\n",a[1]);
printf("%c\n",a[2]);
printf("%c\n",a[3]);
}
main()
{
char a[4]={'1','2','3','4'};
fa(a);
}
#6
* 直接传指针 传个长度
#7
void foo(char(aaa[4]))
#1
补充下,开始代码是在
void getComm()
{
char aaa[4];
aaa[0]=0x00;
aaa[1]=0x00;
aaa[2]=0x00;
aaa[3]=0x00;
foo(参数不知道如何写);
}
下面的bbb的是通过foo函数参数传递过来的aaa数组
void foo(参数不知道如何写)
{
bbb[0]=0x20;
bbb[1]=0x40;
bbb[2]=0x20;
bbb[3]=0x40;
}
}
void getComm()
{
char aaa[4];
aaa[0]=0x00;
aaa[1]=0x00;
aaa[2]=0x00;
aaa[3]=0x00;
foo(参数不知道如何写);
}
下面的bbb的是通过foo函数参数传递过来的aaa数组
void foo(参数不知道如何写)
{
bbb[0]=0x20;
bbb[1]=0x40;
bbb[2]=0x20;
bbb[3]=0x40;
}
}
#2
void getComm()
{
char aaa[4];
aaa[0]=0x00;
aaa[1]=0x00;
aaa[2]=0x00;
aaa[3]=0x00;
foo(aaa);
}
void foo(char* bbb)
{
bbb[0]=0x20;
bbb[1]=0x40;
bbb[2]=0x20;
bbb[3]=0x40;
}
{
char aaa[4];
aaa[0]=0x00;
aaa[1]=0x00;
aaa[2]=0x00;
aaa[3]=0x00;
foo(aaa);
}
void foo(char* bbb)
{
bbb[0]=0x20;
bbb[1]=0x40;
bbb[2]=0x20;
bbb[3]=0x40;
}
#3
void foo(char *aaa[4])
{
*aaa[0]=0x20;
*aaa[1]=0x40;
*aaa[2]=0x20;
*aaa[3]=0x40;
}
是这意思吗
{
*aaa[0]=0x20;
*aaa[1]=0x40;
*aaa[2]=0x20;
*aaa[3]=0x40;
}
是这意思吗
#4
就用指针就是了,以前定义过忘了,反正就算定义了编译器也不会给你检查的,编译器还是按照指针处理的,不会检查数组长度的
#5
void fa(char a[])
{
printf("%c\n",a[0]);
printf("%c\n",a[1]);
printf("%c\n",a[2]);
printf("%c\n",a[3]);
}
main()
{
char a[4]={'1','2','3','4'};
fa(a);
}
{
printf("%c\n",a[0]);
printf("%c\n",a[1]);
printf("%c\n",a[2]);
printf("%c\n",a[3]);
}
main()
{
char a[4]={'1','2','3','4'};
fa(a);
}
#6
* 直接传指针 传个长度
#7
void foo(char(aaa[4]))