把b的定义改为,int (*b)[3]就可以了
定义成这样子,说明b是一个指向一个长度为3的一维数组,也就是书上所说的行指针.意思是,b+1,就指向了a[1],一下子跳过了a[0](一共六个字节),而不是指向a[0][1];
你本来把b定义成int *b;则这个是列指针,即一次只移动一个int
的长度(两个字节).所以此时的b+1,就指向了a[0][1];
把b的定义改为,int (*b)[3]就可以了
定义成这样子,说明b是一个指向一个长度为3的一维数组,也就是书上所说的行指针.意思是,b+1,就指向了a[1],一下子跳过了a[0](一共六个字节),而不是指向a[0][1];
你本来把b定义成int *b;则这个是列指针,即一次只移动一个int
的长度(两个字节).所以此时的b+1,就指向了a[0][1];