C语言里,*(&a)==a,&(*p)==p的区别

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/30 00:54:55
C语言里,*(&a)==a,&(*p)==p的区别

C语言里,*(&a)==a,&(*p)==p的区别
C语言里,*(&a)==a,&(*p)==p的区别

C语言里,*(&a)==a,&(*p)==p的区别
*(&a)==a,a首先是个变量值,先执行(&a)取得a变量的指针地址,再执行*(&a)取得a变量上的指针地址对应的值.所以这个表达式是两个变量值的比较.
&(*p)==p,p首先是个指针变量,先执行(*p)取得指针地址p对应的值,再执行&(*p)取得该值的地址.所以这个表达式是两个指针地址的比较