go语言怎么输出存放指针的数组

Python031

go语言怎么输出存放指针的数组,第1张

以下代码在VC6.0以上版本测试通过!

输出结果:6

#include <stdio.h>

int main(void)

{

int a[2][2] = {{1,2}, {3,4}}

int b[2][2] = {{5,6}, {7,8}}

int (*p1)[2] = a

int (*p2)[2] = b

int (*q[2])[2] = {p1, p2} 这样才是正确的定义!

printf("%d\n", *(*q[1]+1))

return 0

}

但在tc2.0和bc3.1中提示非法初始化!

但把

int (*q[2])[2] = {p1, p2}

改成

int (*q[2])[2]

q[0] = p1

q[1] = p2

可以通过!

原因暂不清楚,估计是老旧的编译器不支持太复杂的定义!

其实最好的方法是使用typedef,简单明了,可读性大大提升!

#include <stdio.h>

int main(void)

{

typedef int (*PA)[2] 使用typedef

int a[2][2] = {{1,2}, {3,4}}

int b[2][2] = {{5,6}, {7,8}}

int (*p1)[2] = a

int (*p2)[2] = b

PA q[2]= {p1, p2} 这样可读性是否大大的增加?!

printf("%d\n", *(*q[1]+1))

return 0

}

数组是一个由 固定长度 特定类型元素 组成的序列,一个数组可以由零个或多个元素组成。 数组是值类型

数组的每个元素都可以通过索引下标来访问,索引下标的范围是从0开始到数组长度减1的位置,内置函数 len() 可以返回数组中元素的个数。

2.类型的打印,结果的第二种打印方式

3.对元素的修改或者赋值

4.判断数组是否相等:长度、类型

4.数组的地址:连续存储的空间

5.数组的赋值、地址、取值

6.数组的默认值

7.数组的初始化

8.数组的逆置

9.求数组的最大值、最小值、平均值

10.对数组字符串进行连接

11.冒泡排序法的实现

12.数组做函数的参数

13.二维数组:赋值和地址

14.二维数组:打印和输出

15. 指针数组,每一个元素都是地址

17.数组的内存分配