小编Jer*_*nDD的帖子

指针算术C和铸造

我见过一个非常奇怪的代码片段,我不太确定我是否理解它:

#include <stdio.h>

int main(char *argc, char **argv)
{
   char a[50];
   *(char *) (a + 2) = 'b'; // <== THE LINE WHICH CONFUSES ME

   printf("value: %c\n", a[2]);
   return 1;
}
Run Code Online (Sandbox Code Playgroud)

是不是我们去2个桶进一步将'b'转换为指向b的指针然后取消引用它?

c pointers

1
推荐指数
1
解决办法
923
查看次数

标签 统计

c ×1

pointers ×1