gpt4 book ai didi

C 在动态二维数组中存储字符串文字

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

我有一些函数可以动态分配内存以将字符串存储到 char *** (2D 字符串数组或 3D 字符数组)中。

后来我想,如果将它们存储为字符串文字会更好,所以我将数组更改为 const char ***。然而,当我使用 strcpy()free() 时,这会给我带来错误。

error: passing argument 1 of 'strcpy' discards 'const' qualifier from pointer target type

据我了解,strcpy()free() 采用的参数类型为 char *void *,但我也读到,将字符串存储到 const char * 而不是 char * 中是一种很好的做法。

如果字符串文字不能用于 strcpy()free() 等操作,我该如何使用它?我应该将其保留为 char *** 而不是 const char *** 吗?这里有一些明显的东西我不明白。

最佳答案

据我了解,您的数组不包含指向字符串文字的指针,而是包含字符串文字的副本。否则strcpy有什么用呢?因此,您可以从数组(或相应的指针)声明中删除 const 限定符。请考虑到 C 字符串文字具有非常量数组类型。

关于C 在动态二维数组中存储字符串文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40938494/

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