新手求教关于c++数组指针的问题
发布网友
发布时间:2024-10-09 16:37
我来回答
共1个回答
热心网友
时间:2024-12-06 16:21
是这样,(*pas)[3]表示一个三列的数组,有多少行是任意的;而pas是这个数组的指针;
(*pas)[3]=&stachs表示这个指针数组和stach数组对应了,相当于用pas[0]就等于用stachs,所以pas[0]就是stachs的首地址。比如你打:stachs[1],就相当于打:pas[0][1]。也就说stachs[i]=pas[0][i],对0<=i<=2都对。
但是pas[1]是合法的,它表示pas这个任意行三列数组的第二行的首地址。
容易知道pas[1]的值是pas[0]+3*sizeof(short)
不知道这样说楼主能看懂吗?