指针

指针也是变量,只不过其存储的是一个十六进制的地址,这个地址指向某一个变量.

&: 取地址符

*: dereference, 也可称为取值运算符

#include <stdio.h> 
int main() 
{ 
    int a = 1;
    printf("a=%d \n", a);
    int *p = &a;
    *p = 2;

    printf("变量a的地址:%x \n", &a);
    printf("指针p的地址:%x, 其存储的值为:%x \n", &p, p);
    printf("指针改变a的值后:a=%d ,p的值仍为%x(仍指向a) \n", a,p);
    return 0; 
}
a=1 
变量a的地址:5e634998 
指针p的地址:5e634990, 其存储的值为:5e634998 
指针改变a的值后:a=2 ,p的值仍为5e634998(仍指向a)

变量名相当于门牌号, 变量值相当于里面住的人, 变量名和变量值构成一一映射关系: 变量名->变量值,我们在代码中操作的是变量值。

p就是变量a的地址,*p就是a的值

results matching ""

    No results matching ""