指针问题
代码:#include <stdio.h>
void main(){
char cha1[20] ="HThis is a test";
*cha1 = 0x42;
char *cha2 = (char *)&cha1;
*(char *)&cha1 = 0x43;
printf("&cha1=%d,\n*cha1=%d,\ncha1=%s,\n*cha2=%d,\n&cha2=%d,\ncha2=%s\n"
,&cha1,*cha1,cha1,*cha2,&cha2,cha2);
}
输出:
&cha1=1245036,
*cha1=67,
cha1=CThis is a test,
*cha2=67,
&cha2=1245032,
cha2=CThis is a test
Press any key to continue
我知道指针cha2指向指针cha1,所以输出跟cha1同样的内容,我的问题是我想在程序里看到指针cha2指向指针cha1的过程,比如cha1在内存里的指针地址是1245036,cha2是怎样指向指针cha1的?我们可以通过那种方式通过cha2输出cha1在内存里的1245036指针地址呢?