gpt4 book ai didi

c - 访问指向字符串的指针数组

转载 作者:太空宇宙 更新时间:2023-11-03 23:53:50 25 4
gpt4 key购买 nike

寻找与寻址字符串数组相关的特定主题的一些说明。似乎有几个相关的问题,但我找不到一个讨论我的问题的问题。如果之前有人问过这个问题,请将我指向相关主题。

在下面的代码片段中(检查 printf 语句),我使用相同的变量来访问内存位置的值和内存位置的地址。我不太确定这是否是我应该编写这段代码的方式。有没有更好的方法可以清楚地表明我访问的是地址还是值?

char *board[NUM_MAX_ROWS] = {"0101001",
"1101011"};

int main()
{
int i, num_rows=0, num_cols=0;

num_cols = strlen(board[0]);
num_rows = ARR_SIZE(board);

for (i=0; i<num_rows; i++)
printf("%s stored at %p\n", board[i], board[i]);

}

我的第一次尝试是这样的

while(*board != '\0')
{
printf("%s stored ar %p\n", *board, board);
board++;
}

显然这行不通 :) 但我仍然不太确定编译器如何解释它。

谢谢。

最佳答案

您可以通过取消引用指针一次来获取字符串本身的地址,从而使第一次尝试起作用。

printf("%s stored ar %p\n", *board, *board);

顺便说一句,当您使用数组语法编写时,它实际上与

相同

printf("%s 存储了 ar %p\n", *(board+i), *(board+i));

编辑:我似乎错过了阅读问题..修复。

关于c - 访问指向字符串的指针数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13262331/

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