typedef int* ptr_t;
int target;
const ptr_t a = ⌖
*a = 6; //OK
a = ⌖ //<- error: assignment of read-only variable ‘a’
顯然,指針是常量,而不是指向的值。相反,如果使用#define。typedef-ed指針如何工作
對typedef中聲明的指針應用修飾符的規則是什麼?
對於一個實際的例子,考慮代碼 void (**foo)(void);
一個如何去的typedef-ING一個類型,有資格頂級指針爲const(例如,指向一個硬件的位置),下一個指針是揮發性的(例如,可以由獨立硬件修改)指向函數的指針?
typedef void (**foo)(void)
如果這是我們必須處理的固定聲明,那麼請在源代碼中執行上述操作?