gpt4 book ai didi

c - 如果一个 C 函数被调用两次,它会创建一个在函数中声明的变量两次吗?

转载 作者:行者123 更新时间:2023-12-03 22:56:46 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





String literals: Where do they go?

(8 个回答)


去年关闭。




我有一个用 C 编写的函数,它由一个像这样的指针变量组成

#include<stdio.h>
void print()
{
char *hello="hello world";
fprintf(stdout,"%s",hello);
}

void main()
{
print();
print();
}
如果我调用 print() 函数两次,它会为 分配内存吗?你好 变量两次?

最佳答案

if i call the print() function twice, will it allocate the memory for the hello variable twice?


不,它是一个字符串文字并且只分配了一次。
您可以通过检查地址来检查:
fprintf(stdout,"%p: %s\n", hello, hello);
示例输出:
0x563b972277c4: hello world
0x563b972277c4: hello world

关于c - 如果一个 C 函数被调用两次,它会创建一个在函数中声明的变量两次吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63956285/

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