C中的字符串数组指针的用法与字苻串指针的区别
从上面的截图我们可以看到字符数组指针的用法和字符串的差别。他们的类型是不同的比如上面的代码中,filename的类型是char[12]而pname的类型是char*,&filename的结果是数组指针的用法指针图中显示的是char[12]*。还可以发现对于pname和p虽然是两个不同的指针,但是他们都指向同一个地址这也是编译器投机取巧的地方,因为他们都是指向"fangzhen"这个字符串所以编译器就只存储一次。
c中多维数组指针的用法的内存分配过程
第二個int*所在位置为0x003c12e0(从下图我们可以读出)
第3个int*所在位置为0x003c1580(从下图的蓝色框内可以看出)
(1)还没有执行第一个if
现在还没有执行对*brr分配内存,所以brr处的内存昰随机的,
还没有执行第二个if 之前,没有对(*brr)[0]进行空间的分配, 内存中的数都是随机数
我们到0x处查看, 可以发现, 所分配的48个int型内存进行了初始化
到此為止, 其实内存都已经分配完毕, 现在所要做的就是为(*brr)[1]和(*brr)[2]进行赋值.
for循环执行一次之后,