gpt4 book ai didi

c - c 中 const char*[] 的指针赋值

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

我想将指针分配给 const char* 数组,如下所示:

#include <stdio.h>


const char *keyContainer[2]= {"test", "test2" };
const char *keyPtr = &keyContainer;


int main(void)
{
printf("%s\n", keyPtr[0]); //test
printf("%s\n", keyPtr[1]); //test2

return 0;
}

keyPtr 包含 keyContainer 的地址,但我无法访问 keyContainer 的内容。

最佳答案

当您使用此功能时,您会收到警告“从不兼容的指针类型初始化[默认启用]”,这是因为 keyContainerchar *[2] ,我们会说它与char **相似(不一样!) 。所以你需要使用const char **keyPtr = keyContainer; .

例如:

#include <stdio.h>

const char *keyContainer[2]= {"test", "test2" };
const char **keyPtr = keyContainer;

int main(void)
{
printf("%s\n", keyPtr[0]);
printf("%s\n", keyPtr[1]);

return 0;
}

希望这有帮助!

关于c - c 中 const char*[] 的指针赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35886581/

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