寻找与解决字符串数组相关的特定主题的一些说明。似乎有几个相关的问题,但我找不到一个讨论我的问题的问题。如果之前有人问过这个问题,请指出我相关的线程。
在下面的代码片段中(检查 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++;
}
显然这不起作用:)但我仍然不太确定编译器如何解释它。
谢谢。