数组指针
程序员文章站
2022-06-27 22:05:28
数组指针 (gdb) p p1 $1 = (int ) 0x7fffffffe1c0 // (int ) 是指针的类型 (gdb) p p2 $2 = (int ) 0x7fffffffe1c0 // (int ) 是指针的类型 (gdb) p p3 $3 = (int ( )[10]) 0x7ff ......
数组指针
#include <stdio.h> //p3就是数组指针 int main(){ int ar[10] = {1,2,3,4,5,6,7,8,9,0}; //p1,p2,p3的地址虽然一样,但是意义不同,p3可以作为二维数组的指针,p1和p2不可以作为二维数组的指针, //指针里光有地址信息是不够的,还必须有类型,才是一个完整可用的指针。 int* p1 = ar;//指向数组第一个元素的指针 int* p2 = &ar[0];//指向数组第一个元素的指针 int (*p3)[10] = &ar;//指向整个数组的指针,可以作为二维数组的指针 int br[2][10]; p3 = br; }
(gdb) p p1
$1 = (int ) 0x7fffffffe1c0 // (int ) 是指针的类型
(gdb) p p2
$2 = (int ) 0x7fffffffe1c0 // (int ) 是指针的类型
(gdb) p p3
$3 = (int ()[10]) 0x7fffffffe1c0 // (int ()[10]) 是指针的类型