gpt4 book ai didi

您可以在函数内部取消引用 char 指针吗?

转载 作者:太空宇宙 更新时间:2023-11-04 01:05:32 25 4
gpt4 key购买 nike

我正在尝试将 char 指针引用到函数内的 char 数组:

void getword(char *word)
{
*word = "bar";
}


int main()
{
char defword[4] = "foo";
getword(defword);

printf("%s\n", defword);

return 0;
}

我希望得到“bar”作为输出,但我似乎得到了完全不相关的字符串“1oo”。

最佳答案

取消引用的 char * 的类型是 char — 原始值类型。在这种情况下,*wordword[0] 相同。

"bar" 的类型是 const char * — 指针类型。

您正在将指针的值赋给一个字符。我怀疑您的编译器是否允许这种情况发生而没有大声尖叫。

无论如何,请查看strcpy .抛开这一切可怕的不安全因素,这会更好:

strcpy(word, "bar");

关于您可以在函数内部取消引用 char 指针吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24250023/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com