2019-12-07 C数组和指针,数组指针,指针数组

2019-12-09  本文已影响0人  GoodWen

1,数组

是一个数据的集合,在内存中的体现是一个连续性的内存区域,

2,指针数组

顾名思义, 数组中每一个元素都是指针,指针指向一个地址,地址存放一个变量
指针优先级:() > [] > *

int main() 
{

    int arr[] = { 100,200,300 };
    
    int *p[3];//指针数组

    
    for (int i = 0; i < 3; i++)
    {
        p[i] = &arr[i];
    }
    printf("-------操作后-------\n");
    for (int i = 0; i < 3; i++)
    {
        printf("数组%d\n", *p[i]);
    }
    system("pause");
    return 0;
}

2,数组指针 也称为行指针

定义: int (p)[n]
优先级最高,首先说明p是一个指针,指向一个整型的一维数组,这个数组的长度是n,也可以说是p的步长,也就是说在执行p+1时,p要跨过n个整型数据的长度。
int a[3][4];
int (
p)[4]; //该语句定义一个数组指针,指向含四个元素的一维数组。
p = a; //将改二维数组的首地址赋值给p,也就是a[0]或者a[0][0];
p++ ; //该语句执行过后,也就是 p = p+1; p跨过行a[0][]指向a[1][]

QQ截图20200119112948.png
上一篇下一篇

猜你喜欢

热点阅读