经常忘记数组作为子函数参数进行传递的函数声明格式,索性写一篇博文记录一下。
例如以下代码块:
其中*nSendByte作为数组进行传递。在读取数组中特定位置的数值时采用语句:
S0BUF = *(nSendByte + i);//i代表第几个数值。
void UART0_Send_NByte(unsigned char n,unsigned char *nSendByte)
{
unsigned char i = 0;
for(i = 0; i < n; i++)
{
S0BUF = *(nSendByte + i);
while(!f_uart0_tx_ok); //等待发送完成
f_uart0_tx_ok = 0;
}
}
调用方式举例如下:LED_VALUE_BUF为数组名称
UART0_Send_NByte(LED_VALUE_BUF[1],LED_VALUE_BUF);