一般都是將數組地址、數組長度作為參數傳入函數的。
// 函數
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就是數組長度
}
|