【⛔C语言“数组名”,不得不说的秘密!⛔】c语言“数组名字“初探
生活随笔
收集整理的這篇文章主要介紹了
【⛔C语言“数组名”,不得不说的秘密!⛔】c语言“数组名字“初探
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
?代碼:
#include<stdio.h> int main() {int a[10] = {0};printf("a: %p a + 1: %p\n",a,a + 1);printf("&a: %p &a + 1: %p\n",&a,&a + 1);printf("&a[0]:%p &a[0] + 1: %p\n",&a[0],&a[0] + 1);return 0; }結(jié)果:
a: 0x7ffc2190a8b0 a + 1: 0x7ffc2190a8b4 &a: 0x7ffc2190a8b0 &a + 1: 0x7ffc2190a8d8 &a[0]:0x7ffc2190a8b0 &a[0] + 1: 0x7ffc2190a8b4結(jié)論:
數(shù)組名a表示的是“數(shù)組首個(gè)元素的地址,而首個(gè)元素是int類型”,&a指的是int?a[10]這個(gè)數(shù)組的地址,而這個(gè)數(shù)組的長度是40個(gè)字節(jié),所以&a + 1比a大了40。
可以發(fā)現(xiàn)a?與 &a[0]是等價(jià)的:在很多用到數(shù)組名字的地方,編譯器都會(huì)自動(dòng)地將其替換為一個(gè)指向數(shù)組首元素的指針。
擴(kuò)展:
1.本文以int數(shù)組為例,字符串?dāng)?shù)組等其他類型數(shù)組同樣適用此特性;
2.數(shù)組名稱作為形參傳進(jìn)去函數(shù)時(shí),退化成指針使用。
總結(jié)
以上是生活随笔為你收集整理的【⛔C语言“数组名”,不得不说的秘密!⛔】c语言“数组名字“初探的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 你会和丑且家境不好,但对你好的男孩结婚吗
- 下一篇: 了解招聘中的这些潜台词,找工作少走弯路