指针数组:存储指针的数组
*pa[n] //an array of pointers
注意这里[]优先级高于*,因此pa是一个包含三个指针的数组 。
指向指针数组的指针
*(*pd)[n] //pointers to an array of pointers
auto pd = &pa; // *(*pd)[n] = &pa;
(*pd)让pd先于*结合,说明pd是一个指针,指向一个包含三个元素的数组。换句话说,这里将原本的数组名pa 替换为 *pd,*pd就是指针数组,(*pd)[i]就是数组元素,即指针。可以使用auto关键字自动生成指向指针数组的指针。
指向指针的指针
auto pc = pa; //a pointer to a pointer
// **pc = pa
// pc[i] = pa[i] *pc[i] = *pa[i] using the same way
我的理解是,对于较为复杂的表达式先找到核心成分,指针数组?指针?在此基础上,如果想定义指向XXX的指针,只需要将核心部分换成指针。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)