我见过一个非常奇怪的代码片段,我不太确定我是否理解它:
#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的指针然后取消引用它?