gpt4 book ai didi

c++ - 理解指针和本地范围

转载 作者:太空宇宙 更新时间:2023-11-03 10:27:33 25 4
gpt4 key购买 nike

<分区>

假设我有以下功能:

char* allocateMemory() 
{
char str[20] = "Hello world.";
return str;
}

int* another()
{
int x = 5;
return &x;
}

int _tmain(int argc, _TCHAR* argv[])
{
char* pString = allocateMemory();
printf("%s\n", pString);

int* blah = another();
printf("%d %d \n", blah, *blah);

return 0;
}

第一个 printf 打印随机值,因为 str 是局部范围。

第二个 printf 打印正确的值,blah = blah 的地址,*blah = 5

为什么局部作用域只影响处理数组的 allocateMemory,而不影响整数?

为什么第一个 printf(返回 char* )打印随机值并受局部作用域影响,但第二个(返回 int* )不受影响?

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