美文网首页
NDK基础:指针数组 数组指针

NDK基础:指针数组 数组指针

作者: space0o0 | 来源:发表于2019-11-05 17:35 被阅读0次

指针和数组

在学习之前,还是需要先学习下指针、数组的使用。

int main(){
    
      //首先申明一个数组
    int arr[]={100,200,300};
      //申明一个指针变量,指向arr,然后打印出指针指向的数组
    int* ptr=arr;
//    *(ptr+1) = 400;
    printf("%d \n" ,*ptr);
    for (int i=0; i<3; i++) {
        printf("%d \n" ,ptr[i]);
    }
}
//log日志
100 
100 
200 
300 

可以看到,指针ptr现在指向第一位的值,如果我们想要指向第二位,只需要*(ptr+1)

现在把// *(ptr+1) = 400;该行注释移除,该行指令代表的是修改数组第二位的值。

运行函数。

100 //这是*ptr
100 //数组0
400 //数组1
300 //数组2

我们可以直接使用指针+1的形式,修改数组的值。

指针数组

指针数组,顾名思义,就是一个数组,里面放的都是指针。本质上还是一个数组。

    int arr[]={100,200,300};
//申明一个指针数组,和申明数组很像,只是多加了一个*
    int *ptrs[3];
    for (int i=0; i<3; i++) {
//指针数组每一位赋值,对应的是数组中每一个值的内存地址
        ptrs[i] = &arr[i];
    }

    for (int i=0; i<3; i++) {
//打印指针数组的值
        printf("%d \n" ,*ptrs[i]);
    }

log日志
100 
200 
300 

指针数组其实非常简单,只不过把数组的基本类型变成了指针。它是一个存放的都是内存地址的数据结构。

数组指针(行指针)

数组指针是指向数组地址的指针,本质上就是指针。

可是,普通指针也可以指向数组呀,那再来个数组指针是干什么用的?

假设我们有以下3x4的数组

int arrs[3][4]={
        {1,2,3,4,},
        {5,6,7,8,},
        {9,10,11,12,}
    };
//申明一个数组指针并指向arrs
int (*ptr)[4] = arrs;

ptr首先被申明是一个指针,指向了长度为4的一位数组,那它刚好就指向了arrs[0],也就是arrs的第一行数组。

当执行ptr++; 的时候,ptr就会跳过4位长度,指向第2行的一维数组。因此,数组指针的移动都是以行为单位的,所以,也被称为行指针

相关文章

  • NDK基础:指针数组 数组指针

    指针和数组 在学习之前,还是需要先学习下指针、数组的使用。 可以看到,指针ptr现在指向第一位的值,如果我们想要指...

  • 混淆知识点

    1、指针数组&数组指针、常量指针&指针常量、函数指针&指针函数 数组指针&指针数组 数组指针的定义 int (*p...

  • C语言的数组指针与指针数组(One)

    一、数组指针与指针数组: 数组指针<——>本质是指针 指针数组<——>本质是数组上图: 二、数组指针: int ...

  • 函数指针

    概念: 指针函数, 函数指针, 指针数组, 数组指针, 指向数组的指针, 指向函数指针数组的指针。

  • C语言基础一

    一、基本数据类型 二、指针 1、基本 2、修改值 4、交换 5、多级指针 三、数组和数组指针 1、基础 数组指针,...

  • 指针与数组和函数的几个关系

    指针数组、数组指针 指针数组。数组的元素类型是指针如:int* a[4] 数组指针。指向数组的指针变量如:int ...

  • C语言指针相关

    一、指针数组 和 数组指针的区别:1:指针数组,还是数组,数组每个元素是指针。2:数组指针,是指针,指向的是数组。...

  • C语言

    C 指针、指针变量、函数指针、指针函数、指针数组、数组指针、C 数组

  • 指针笔记

    指针数组和数组指针 数组指针是指向数组的指针,指针的值与数组首元素地址相同,但范围是整个数组,所以数组指针和数组名...

  • C语言21 指针数组与数组指针

    C语言21 指针数组与数组指针 指针数组的定义 指针数组的赋值 结构体指针数组 分析下面的代码 数组指针的定义 数...

网友评论

      本文标题:NDK基础:指针数组 数组指针

      本文链接:https://www.haomeiwen.com/subject/smjebctx.html