C/C++指向多维数组指针的详解,内容精简,通俗易懂

指针是最难也是最强大的工具,很多搞java的同学都止步于C/C++的指针,始终理解不了,现在开始详解,用内存的方式来搞定多级指针。
内容精简,通俗易懂

void *p1;
const char* a1 = *((const char (*)[9])p1);

p1是函数中的形参,类型是void*;
要将她赋值给a1,要进行强制类型转换。
char (*)[9]使p1指向一个数组,该数组每个元素又内含9个char型元素(即每个元素都是char*指针)。
p1就变成了数组的指针。用*号解引用该指针,就变成了一级指针,从而跟a1类型相匹配了。
C/C++指向多维数组指针的详解,内容精简,通俗易懂_第1张图片

你可能感兴趣的:(C/C++)