欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
請教大家sizeof函數
[打印本頁]
作者:
egsresrhtrhrtst
時間:
2024-6-26 20:19
標題:
請教大家sizeof函數
函數
void buzzer_on(int* music)
{
sizeof(music)
}
實際傳入的是一個數組
int solitary_brave[]=
{
M6,50,M7,50,H1,50,H2,50,M7,50,H1,50,H1,100,Z0,10,
};
例
buzzer_on(solitary_brave);
想問一下各位為什么sizeof(music)打印出來的值是4,而不是實際大小
直接sizeof(solitary_brave)打印出來才是實際的值
是哪里錯了嗎
作者:
624353765
時間:
2024-6-27 06:35
music是指針,計算的是指針占用內存的大小,還有sizeof不是函數
作者:
xiaobendan001
時間:
2024-6-27 07:34
sizeof是操作符,不是函數,只能用在靜態內存分配的變量上面。
作者:
123156fsadf
時間:
2024-6-27 08:45
int* music 你傳進去的是指針,你這個平臺的cpu int型指針的大小是4
作者:
Y_G_G
時間:
2024-6-27 09:35
sizeof是C語言關鍵字,不是函數,它就像for if之類的
它的含義1樓已經說明了
sizeof(music)它是計算music所占空間的大小,就是music變量所占的字節數
作者:
EELDFW
時間:
2024-6-27 10:19
sizeof(*music)
作者:
egsresrhtrhrtst
時間:
2024-6-27 21:23
再問一下各位,像這樣怎么才可以讀取出實際的大小呢,就是以傳入形參的方式,有沒有其他的關鍵字,或者怎樣改動一下,謝謝各位。
作者:
xzw5151
時間:
2024-6-28 10:19
可以把size大小作為參數傳遞給目標buzzer_on。
作者:
mrfdream
時間:
2024-6-28 10:44
一般都是將數組地址、數組長度作為參數傳入函數的。
// 函數
void buzzer_on(int* music, int len)
{
...
}
int main()
{
buzzer_on(solitary_brave, sizeof(solitary_brave));
}
但是,如果因為特殊原因,不能把長度當參數,那,,,如果是我的話,會在每個數組末尾加個特殊字符,例如:
// 數組
int solitary_brave_1[]=
{
M6,50,M7,50,H1,50,H2,50,M7,50,H1,50,H1,100,Z0,10,FF // FF當作特殊字符
};
// 函數
void buzzer_on(int* music)
{
int* ptr;
int len = 0;
ptr = music;
while(*ptr != FF)
{
len++;
ptr++;
}
len *= 4; // len就是數組長度
}
作者:
黃youhui
時間:
2024-7-2 10:24
egsresrhtrhrtst 發表于 2024-6-27 21:23
再問一下各位,像這樣怎么才可以讀取出實際的大小呢,就是以傳入形參的方式,有沒有其他的關鍵字,或者怎樣 ...
要不你試試函數strlen()函數,這是計算字符串長度的函數。
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1