求教一个char数组的问题
我刚接触C,对于char数组和做字符串的时候长度有点不解下面代码为什么是那样的?是不是传地址指针的时候,sizeof()得到的是该地址所占用的空间大小呢?
如果是的话,我想把char a[]里的字符串赋给 char b[] 应该怎样写呢
求指点迷津。
程序代码:
void reverseCopy(char *a,char *b);
int main()
{
char a[] ="abcdefghigklmnopqrstuvwxyz";
char b[27];
printf("%d,%d",sizeof(a),sizeof(b));
reverseCopy(&a,&b);
printf("%s",b);
getch();
}
// 反转复制
void reverseCopy(char *a,char *b)
{
int i;
int j=0;
if(sizeof(a)!=sizeof(b))
{
printf("The wrong length!");
return;
}
printf("The array length is %d",sizeof(a));// 输出4 为什么?
for(i=sizeof(a)-1;i>=0;i--)
{
b[j]=a[i];
j++;
}
}









