C语言指针:*pa和pa何时相等?
在指针初始化时,*pa和pa并不完全相同。*pa表示指针所指向的值,而pa表示指针变量本身的地址。只有在对指针进行取地址操作时,*pa和pa才会相同。例如:
int a = 10; // 定义整型变量a,赋值为10
int *pa = &a; // 定义整型指针pa,指向a的地址
在上面的代码中,*pa表示a的值,而pa表示指向a的指针变量的地址。只有在对pa进行取地址操作时,*pa和pa才会相同,例如:
int **ppa = &pa; // 定义指向指针pa的指针ppa,指向pa的地址
if (*ppa == pa) {
printf("*ppa和pa相同\n");
}
在上面的代码中,*ppa表示指向a的指针变量pa,而pa表示a的地址。因此,*ppa和pa相同。
原文地址: https://www.cveoy.top/t/topic/nxod 著作权归作者所有。请勿转载和采集!