中文字幕第五页-中文字幕第页-中文字幕韩国-中文字幕最新-国产尤物二区三区在线观看-国产尤物福利视频一区二区

c語(yǔ)言數(shù)組名作為參數(shù)時(shí),本質(zhì)是什么?-創(chuàng)新互聯(lián)

我們先來(lái)介紹一種計(jì)算數(shù)組長(zhǎng)度的方法:

成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供鯉城網(wǎng)站建設(shè)、鯉城做網(wǎng)站、鯉城網(wǎng)站設(shè)計(jì)、鯉城網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、鯉城企業(yè)網(wǎng)站模板建站服務(wù),10多年鯉城做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
#includeint main()
{
    int arr[10]={1,2,3,4,5,6,7,8,9,10};
    int size=sizeof(arr)/sizeof(arr[0]);
    return 0;
}

這里sizeof(arr)計(jì)算的是整個(gè)數(shù)組所占內(nèi)存的大小,而sizeof(arr[0])計(jì)算的是arr[10]數(shù)組首元素所占內(nèi)存的大小。這樣我們可以很方便的得到數(shù)組的大小,在較大型的項(xiàng)目中,一個(gè)數(shù)組可能會(huì)參與多個(gè)循環(huán)。用size表示數(shù)組長(zhǎng)度的好處是,當(dāng)我們需要改變數(shù)組長(zhǎng)度時(shí),我們只需要改變arr本身,而不用改變循環(huán)的條件。上述代碼運(yùn)行就可以得到size=10

接下來(lái)進(jìn)入正題:

我們把以上代碼封裝成函數(shù)

#includeint arr_size(int arr[])
{
    return sizeof(arr)/sizeof(arr[0]);
}

int main()
{
    int arr[10]={1,2,3,4,5,6,7,8,9,10};
    printf("%d",arr_size(arr));
    return 0;
}

再次運(yùn)行,我們期待打印出的值為10,但F5運(yùn)行后得到的值卻不是10

這是為什么呢?查閱資料,我們發(fā)現(xiàn),c語(yǔ)言中,函數(shù)參數(shù)中的arr[]其實(shí)就是一個(gè)指針,它指向的是首元素的地址。

#includeint arr_size(int arr[])
{
	printf("%p", arr);
	return sizeof(arr) / sizeof(arr[0]);
}

int main()
{
	int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
	arr_size(arr);
	return 0;
}

用%p打印arr的地址,調(diào)試后可以發(fā)現(xiàn),arr確實(shí)是首元素的地址,如下圖所示

所以我們得出結(jié)論,函數(shù)中數(shù)組作參數(shù),其本質(zhì)就是一種指向數(shù)組首元素的指針,此時(shí)sizeof(arr)表示求指針的大小,在x64中為8,而sizeof(arr[0])為int型變量的大小,即為4,則前面錯(cuò)誤代碼運(yùn)行的結(jié)果為8/4=2,不為10。

所以我們把函數(shù)改變一下

void arr_size(int arr[],int sz)
{
	for (int i = 0; i< sz; i++)
	{
		printf("%d", arr[i]);
	}

}

int main()
{
	int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };	
	int size=sizeof(arr) / sizeof(arr[0]);
	arr_size(arr,size);
	return 0;
}

我們也可以直接用指針作為參數(shù)

void arr_size(int *arr,int sz)
{
	for (int i = 0; i< sz; i++)
	{
		printf("%d ", *(arr+i));
	}
}

int main()
{
	int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };	
	int size=sizeof(arr) / sizeof(arr[0]);
	arr_size(arr,size);
	return 0;
}

結(jié)果同樣為正確的

實(shí)際上,arr[i]就是*(arr+i)。

以上是個(gè)人關(guān)于數(shù)組名作參數(shù)的理解,謝謝你看到這里^_^

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧

文章標(biāo)題:c語(yǔ)言數(shù)組名作為參數(shù)時(shí),本質(zhì)是什么?-創(chuàng)新互聯(lián)
瀏覽路徑:http://www.2m8n56k.cn/article48/deodep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營(yíng)銷手機(jī)網(wǎng)站建設(shè)網(wǎng)站制作網(wǎng)站收錄ChatGPT用戶體驗(yàn)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:[email protected]。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
主站蜘蛛池模板: 俺来也欧美亚洲a∨在线 | 免费精品国产日韩热久久 | 国产高清精品久久久久久久 | 国产99网站 | 国产日韩不卡免费精品视频 | 九九热久久免费视频 | 老司机深夜影院入口aaaa | 亚洲第一区视频 | 国产手机在线视频放线视频 | 久久精品国产99久久99久久久 | aa级毛片| 免费国产成人高清在线看软件 | 国产va精品网站精品网站精品 | 成人在免费观看视频国产 | 久草视频在线看 | 色婷婷色综合激情国产日韩 | 色丁香久久 | 欧美满嘴射 | 精品成人在线 | 亚洲国产一区二区三区四区五区 | 欧洲成人全免费视频网站 | 成人99国产精品一级毛片 | 男女午夜视频在线观看 | 成年女人看片免费视频频 | 免费视频一区二区三区四区 | 特级淫片欧美高清视频蜜桃 | 久久伊人网站 | 日韩久久久精品中文字幕 | 免费久久 | 成人午夜性视频欧美成人 | 自拍理论片| 久久精品免费i 国产 | 黄录像欧美片在线观看 | 久热精品免费视频 | 欧美黄网在线 | 中文久久| 欧美曰批人成在线观看 | 精品无码一区在线观看 | 国产亚洲欧美视频 | 欧美日韩免费一区二区三区 | 美女拍拍拍爽爽爽爽爽爽 |