21
2020
02

a 和&a 有什么区别

请写出以下代码的打印结果,主要目的是考察 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);时输出结果将是什么呢?

« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。