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)
如果这是我们必须处理的固定声明,那么请在源代码中执行上述操作?