数组中a和a 的区别?
生活随笔
收集整理的這篇文章主要介紹了
数组中a和a 的区别?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
數組中a和&a 的區別?
例:
main()?
{?
int a[5]={1,2,3,4,5}; //a[0]=1-------a[4]=5
int *ptr=(int *)(&a+1);
printf("%d,%d",*(a+1),*(ptr-1));?
}?
打印出來的值為多少呢?
答案:2 ?5
(1)a 是數組首元素的首地址,也就是a[0]的首地址,a+1 是數組下一元素的首地址,即a[1]的首地址。
(2)&a 是數組的首地址,&a+1 是下一個數組的首地址。所以ptr 是指向a[5],并且ptr 是int * 類型,所以 ? ? *(ptr-1) 是指向a[4] ,輸出5。
例:
main()?
{?
int a[5]={1,2,3,4,5}; //a[0]=1-------a[4]=5
int *ptr=(int *)(&a+1);
printf("%d,%d",*(a+1),*(ptr-1));?
}?
打印出來的值為多少呢?
答案:2 ?5
(1)a 是數組首元素的首地址,也就是a[0]的首地址,a+1 是數組下一元素的首地址,即a[1]的首地址。
(2)&a 是數組的首地址,&a+1 是下一個數組的首地址。所以ptr 是指向a[5],并且ptr 是int * 類型,所以 ? ? *(ptr-1) 是指向a[4] ,輸出5。
總結
以上是生活随笔為你收集整理的数组中a和a 的区别?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: a[0]和a 的区别?
- 下一篇: 指针和数组的对比