假设int=*pointer,应该是pointer所指向int变量,*是这个地址中的值吧?那**pointer又为什么又有意义的?

int *pointer;pointer是一个指向int值的一个指针,长度为4字节*pointer =指向的int值int **pointer 二级指针 指向一个指向int值指针的指针&pointer 取这个指针的地址

 

 

*a 等于 第一个元素的值
&a 是第一个元素的地址 或者是 数组的首地址 2者相等

 

待测试:

#include <stdio.h>
int main(){
int a=4,*p=&a,*s=&a;                  //你忘记定义指针变量p和s
printf("%d,%d\n",*p++,*(s++));    //*的运算优先级大于++,所以*p++先执行*的运算,则*p即为a。*p++即为a++;括号的运算优先级大于*,所以先进行s++的运算。由于s是指针变量,所以s++不是简单的将s的值加一,而是将s的值(变量a的地址)加上变量a的数据类型所占的字节数,使它指向下一元素。但是下一元素没有存放任何数据,只是随机输出一个数。
return 0;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值