成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

怎么用sizeof求數(shù)組長度 在C語言中用sizeof()測試數(shù)組或字符串大小的差異是什么?

在C語言中用sizeof()測試數(shù)組或字符串大小的差異是什么?1. 在回答這個(gè)問題之前,我們需要了解sizeof是什么。Sizeof是單目運(yùn)算符,用于獲取數(shù)組或其他數(shù)據(jù)類型的大小。大小以字節(jié)為單位,其

在C語言中用sizeof()測試數(shù)組或字符串大小的差異是什么?

1. 在回答這個(gè)問題之前,我們需要了解sizeof是什么。Sizeof是單目運(yùn)算符,用于獲取數(shù)組或其他數(shù)據(jù)類型的大小。大小以字節(jié)為單位,其返回類型為size 。尤其是,sizeof是編譯時(shí)運(yùn)算符,也就是說,它不會增加任何執(zhí)行時(shí)負(fù)擔(dān)。下面我們來看一個(gè)例子:

float array[20

]此時(shí),sizeof(array)將返回80,因?yàn)橐粋€(gè)float類型占用4個(gè)字節(jié),而數(shù)組有20個(gè)float,所以返回80

如果您想返回?cái)?shù)組的元素?cái)?shù),您可以這樣寫:

sizeof(array)/sizeof(array[0])

2當(dāng)我們使用sizeof獲取字符串大小時(shí),我們應(yīng)該特別注意以下示例:

如果我們定義以下變量:

char*STR1=“asdfgh”

char STR2[]=“asdfgh”

使用sizeof分別獲取STR1和STR2的大小時(shí),返回值不同:

sizeof(STR1),],返回值是4,因?yàn)镾TR1是指針。在32位計(jì)算機(jī)中,指針大小通常為4字節(jié),因此大小為4。

sizeof(STR2)。返回值是7,一個(gè)字符串。默認(rèn)為C語言,在字符串末尾添加0,因此STR2數(shù)組有7個(gè)元素,即a、s、D、F、G、h、0