指针问题

smile0403 2007-06-20 04:09:09
char *p; //定义的全局变量

void a(char *str1)
{
p=str1; //str1是从外部传进来的一个字符串
}

void b(char *str2)
{
str2=p; //想把str1的内容str2
}

为什么实现不了呢
...全文
160 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
smile0403 2007-06-20
  • 打赏
  • 举报
回复
我还是没有传出来 有高手给我发个纸条吧 谢谢
freshui 2007-06-20
  • 打赏
  • 举报
回复
你的malloc内存
光指针指来指去不行的, 就想传销一样

如果要改变str2, 就得用指针的指针
smile0403 2007-06-20
  • 打赏
  • 举报
回复
那怎么可以实现呢?
我第一个函数里面收到外部传的参数
就是那个字符串str1
我想在另一个函数用这个串怎么办呢
shu_yoyo 2007-06-20
  • 打赏
  • 举报
回复
关注一下
freshui 2007-06-20
  • 打赏
  • 举报
回复
void b(char *str2)
{
str2=p; //想把str1的内容str2
}

由于函数调用传递的是参数的拷贝, 该函数可以看作:
void b(char *str2)
{
char *__str2=str2;
__str2=p; //想把str1的内容str2
}
str2没有进行任何修改

还有,你这把指针转来转去, 有什么意义啊?
就比如你叫张三, 你同学叫李四
你现在做的是把你改成叫李四了, 你同学改名叫张三了
但是你还是你, 你同学还是你同学...
  • 打赏
  • 举报
回复
用strcmp 记得要分配内存
freshui 2007-06-20
  • 打赏
  • 举报
回复
void b(char *str2)
{
str2=p; //想把str1的内容str2
}

等于什么都没有做

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧