gpt4 book ai didi

c - 通过指向指针数组的指针递增

转载 作者:行者123 更新时间:2023-12-04 05:08:46 24 4
gpt4 key购买 nike

我希望有人能够通过我的以下代码告诉我我是对还是错。

我正在尝试从函数 mpg123_decoders() 打印返回的数据,其值为 char** ( “CPU 支持的以 NULL 结尾的解码器数组”)。

const char ** pdecoders;
pdecoders = mpg123_decoders();
do {
con_msg(MSG_BAD, "%s\n", *pdecoders);
pdecoders += 1;
} while(*pdecoders != NULL);

我不相信我的以下代码是否正确,因为我确信有更多可用的解码器。

最佳答案

你的代码示例对我来说看起来不错。
以防万一根本没有任何数据,我会改变

do {
con_msg(MSG_BAD, "%s\n", *pdecoders);
pdecoders += 1;
} while(*pdecoders != NULL);


while(*pdecoders != NULL){
con_msg(MSG_BAD, "%s\n", *pdecoders);
pdecoders += 1;
}

但其余的看起来还不错。

尽管由于 const 关键字在 C 中的处理方式,这听起来可能有点令人困惑,但实际上它指向的数据是 const 并且根本没有改变,所以应该没有问题。

尝试完全按照给出的声明阅读声明,您会发现它没有问题:
const char **pdecoders 

读作“pdecoders 是一个指向 const char 指针的指针”。

有问题的情况会改为
char** const pdecoders

因为这将变成“指向字符指针的常量指针”

关于c - 通过指向指针数组的指针递增,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15164124/

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