gpt4 book ai didi

c - 如何从 c 中的字符串数组访问单个字符?

转载 作者:太空狗 更新时间:2023-10-29 17:04:45 28 4
gpt4 key购买 nike

只是想了解如何处理字符串数组中的单个字符。此外,这当然会让我理解指向一般下标指针的指针。如果我有 char **a 并且我想到达第二个字符串的第 3 个字符,这是否有效:**((a+1)+2)?好像应该...

最佳答案

差不多,但不完全是。正确答案是:

*((*(a+1))+2)

因为您需要先解除对实际字符串指针之一的引用,然后再解除对该选定字符串指针的引用,直至指向所需的字符。 (请注意,为了清楚地说明那里的操作顺序,我添加了额外的括号)。

或者,这个表达式:

a[1][2]

也会工作!....并且可能会更受欢迎,因为您尝试做的事情的意图更加不言而喻,并且符号本身更加简洁。对于刚接触该语言的人来说,这种形式可能不是很明显,但是理解数组符号起作用的原因是因为在 C 中,数组索引操作实际上只是等效指针操作的简写。即:*(a+x) 与 a[x] 相同。因此,通过将该逻辑扩展到原始问题,有两个单独的指针取消引用操作级联在一起,表达式 a[x][y] 等同于 *((*(a+x))+ 的一般形式y).

关于c - 如何从 c 中的字符串数组访问单个字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/606879/

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