小染的疑惑集【4】c/c++地址传递问题
问题描述:
数组版 编译错误
#include
int main()
{
char ah[1000],bh[1000];
gets(ah);
gets(bh);
ah=bh;//编译错误
//ah,bh和明明也是首地址,可是却编译错误
puts(ah);
}
指针版 正确
#include
#include
int main()
{
char *ah,*bh;
ah=(char*)malloc(1000);//开辟数组
bh=(char*)malloc(1000);//开辟数组
gets(ah);
gets(bh);
ah=bh;//把bh的地址传给ah
//甚至可以可以写bh+1,把传递首地址后的一个地址
puts(ah);
}
原因分析:
说明指针和数组还是有一定区别的
解决方案:
以后传地址还是用指针的好
共有 0 条评论