wyz20010429 发表于 2021-8-13 12:05:30

指针问题,求助大佬

求大佬解释下划线部分的意思?{:10_254:}

Max472 发表于 2021-8-13 12:05:31

你圈起来的array前面的是强制类型转换,转换后的类型是数组指针,因为 * 在括号里边,优先级高,所以这个类型是指向整型数组的指针,这个被指向的整型数组包含三个整型元素,并把转换后的结果赋值给同样类型的 p 数组指针。
你圈起来的这行的整体意思是,把数组array的地址从整型指针转换成为指向包含三个整型变量的整型数组指针并把它赋值给同样类型的 p 指针。也就是说,此时 p 指针指向了 array 数组的前三个元素的地址,
printf("%d %d\n", p, p);
这句话打印出来的是
3 4
通过强制类型转换后,可以理解为 p 指向的是一个二维数组,因为指针本身和数组就有不可告人的关系,然后又是指向数组,所以可以理解为二维数组,也就是把 array 数组理解成
{
{1, 2 ,3 ,},
{4 ,5 ,6 ,},
{7 ,8 ,9 ,},
}

wyz20010429 发表于 2021-8-13 12:06:24

尽量详细说明,把我当个傻子就行
页: [1]
查看完整版本: 指针问题,求助大佬