我們來做一個小實驗
#define BUFFER_SIZE 10;
在主函式或者其他函式中使用它,最簡單宣告陣列或者打印...
char buf[BUFFER_SIZE]={};
printf("%d\n",BUFFER_SIZE);
以下是ARM-MDK結果error: #17: expected a "]"
error: #29: expected an expression
error: #18: expected a ")"
error: #29: expected an expression
以下是x64-GCC 5.4.0結果error: expected ‘]’ before ‘;’ token
note: in expansion of macro ‘BUFFER_SIZE’
error: expected ‘)’ before ‘;’ token
note: in expansion of macro ‘BUFFER_SIZE’
所以C51可預測結果也是一樣的,可自己實驗玩看看噢