数组与指针互访

有一个例子,一维数组arr1,一维字符串str1;然后将两个数组指针放入到void*数组中arr-1。

一维数组arr2,一维字符串str2;然后将两个数组指针放入到void*数组中arr-2。

再将两arr-1和arr-2指针放入到数组二重指针中arr。

问题:用arr来访问,arr1/str1/arr2/str2中的数值。

有几个难点,指针:二重指针、一重指针、一维数组

二重指针:它指向的值还是指针

一重指针:它指向的值可以解引用*,得到数值,但一定要知道指针的类型。不然编译器元法知道如何解析的哪段内存。

一维数组:就是一段连续的内存,数组名也是数组头指针。

将上面代码画分成图形,应该会很清楚的知道在内存中的状态

0x:表示地址值

数组与指针
数组与指针

数组与指针来访问的代码:

注:arr[][]? 这样就是来确定要访问的地址,再将指针转成对应类型指针int* char*,再用下标访问元素。