在指针初始化时,*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相同。

C语言指针:*pa和pa何时相等?

原文地址: https://www.cveoy.top/t/topic/nxod 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录