gpt4 book ai didi

c - 返回全局字符串变量的地址

转载 作者:行者123 更新时间:2023-11-30 18:24:08 25 4
gpt4 key购买 nike

如何返回全局 char* 变量的地址?我必须为一个项目这样做。我必须根据伪代码编写函数,如下所示:

string* get_variable_address();

C 没有字符串,所以我假设 string* 将变成 char**。我已经尝试了很多东西,但我无法让它发挥作用。我所拥有的看起来像这样:

#include <stdio.h>

char test[100] = "Get my address";

int main(void) {
char** address = return_variable_address();

printf("The address is: %s\n", *address);

return 0;
}

char** return_variable_address() {
return &test;
}

最佳答案

C doesn't have string so I assume string* will become char**

可能不是。 C 中的字符串是字符数组,您可以通过 char* 访问它。因此,您可以相当程度地简化您的程序以获得所需的结果:

#include <stdio.h>

char* return_variable_address (void);

char test[100] = "Get my address";

int main(void) {
char* address = return_variable_address();

printf("The content stored at the address: %s\n", address);

return 0;
}

char* return_variable_address (void) {
return test;
}

请注意,所有这些都是不好的做法 - 避免全局变量。

关于c - 返回全局字符串变量的地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43917979/

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