取地址操作符为&,也称引用,通过该操作符我们可以获取一个变量的地址值;取值操作符为*,也称解引用,通过该操作符我们可以得到一个地址对应的数据。如下例所示,我们通过&i获取整型变量 i的地址值,然后对整型指针变量 p 进行初始化, 中存储的是整型变量i的地址值,所以通过p(printf 函数中的p)就可以获取整型变量i的值p 中存储的是一个绝对地址值那为什么取值时会获取 4字节大小的空间呢?这是因为 为整型变量指针,每个int 型数据占用4 字节大小的空间,所以 p 在解引用时会访问 4字节大小的空间,同时以整型值对内存进行解析
#includeint main() {int i = 5;
//定义了一个指针变量 i_pointer就是指针变量名
//指针变量的初始化是某个变量取地址来赋值,不能随机写个数
int *i_pointer = &i;
printf("i=%d\n",i);//直接访问
printf("*i_pointer=%d\n",*i_pointer);//间接访问
return 0;
}
说某个变量的地址时,讲的都是它的起始地址
指针的使用场景通常只有两个,即传递与偏移
|
|
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧