一般都是将数组地址、数组长度作为参数传入函数的。
// 函数
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就是数组长度
}
|