【C语言】a和&a有什么区别?

7451

参考答案:

请写出以下代码的打印结果,主要目的是考察 a 和&a 的区别。

#include<stdio.h> 
void main( void ) 
{ 
     int a[5]={1,2,3,4,5}; 
     int *ptr=(int *)(&a+1); 
     printf("%d,%d",*(a+1),*(ptr-1));  	
     return; 
}

输出结果:2,5

注意:数组名 a 可以作数组的首地址,而&a 是数组的指针。思考,将原式的 int *ptr=(int *)(&a+1); 改为 int *ptr=(int *)(a+1);时输出结果将是什么呢?


特别声明:本文仅供交流学习 , 版权归属原作者,并不代表游民部落赞同其观点和对其真实性负责。若文章无意侵犯到您的知识产权,损害了您的利益,烦请与我们联系vmaya_gz@126.com,我们将在24小时内进行修改或删除。

相关推荐:

教程推荐