gpt4 book ai didi

C:在这种情况下,字符串的行为如何?

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

<分区>

Possible Duplicate:
Where are literal strings placed and why can I return pointers to them?

假设我有如下代码:

char *string;

void foo(char *s)
{
string = s;
}

foo("bar");

内部发生了什么?因为我没有明确声明我传递给 foo 的内容,例如通过做类似的事情。

char s[] = "bar";
foo(s);

“bar”会一直存储在相同的内存位置吗?是否自动为其分配了一些内存?如果是这样,这个地址是否保持不变,以便“string”总是指向一个包含“bar”的字符数组?

我想我要问的更普遍的问题是:当您将参数传递给函数而不先明确地将其分配给某个变量,然后再传递该变量时,内部会发生什么。

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