看c++ primer 的一个疑问,望大家不吝赐教。
在讲用typedef简化指向多维数组的指针时,书中用了:
typedef int int_array[4];
int_array *ip=ia;
第二句怎么理解,请大家细致的讲下,谢谢。
[解决办法]
typedef 声明;
声明中的对象被“提升”为类型
typedef int int_array[4];
typedef 之后的int int_array[4]是个数组对象的声明
typedef 则将 int_array“提升”为一个类型
int_array *ip=ia;
int_array *ip则表示ip是一个指向int_array 这种类型中任一个对象的指针变量,
ip=ia;用ia这个对象对ip初始化
注意ia应该是int [4]类型相关的
但LZ代码没有ia的声明。它是int ia[4],还是int ia[N][4]...?