二维数组的指针访问二维数组|学习笔记

简介: 快速学习二维数组的指针访问二维数组

发者学堂课程【C语言学习教程二维数组的指针访问二维数组】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/387/detail/4948


二维数组的指针访问二维数组


目录:  

一、用指向二维数组的指针访问

二、相关的例子


一、用指向二维数组的指针访问

例如:

int a[3][4]={1,2,,3,4,5,6,7,8,9,10,11,12};

int (*p)[3][4]=&a;

p[0][0][2]=100; //等价于[0][2]=100;

p[0][1][2]=200; //等价于[1][2]=200;


二、相关的例子

Main.C

二维数组的指针

Created by dancer on 16/8/1.

Copyright © 2016年 NS0bject. All rights reserved.

include <stdio.h>

int main(int argc, const char * argv[]) {

int tArr[5] = {1,2,3,4,5};

tArr+1;

int array [2][3] = {{1,2,3},{4,5,6}};

int (*p)[2][3] = NULL;

p = &array;

/*

 array[0][0]

*p == array

(*p)[0][0]

     (*p)[0][1]

      p[0] == *p

      p[0][0][0] == array[0][0]

      p[0][0][1] == array[0][1]

      p[0] == array

      p[0][0] == array[0] == *(p[0]+0) == arr1

      p[0][1] == array[1] == *(p[0]+1) == arr2

      p + 1   跨过 6*4个字节

      p[0] + 1   跨过 3*4个字节

      *(p[0]+0)+1

      p[0][0] + 1 跨过 4字节

      array[0] + 1 二维数组第一个元素值+1

      */

       printf(“p = %p\n”,p);

       printf(“p+1 = %p\n”,p+1);

printf(“p[0] = %p\n”,p[0]);

       printf(“p[0]+1 = %p\n”,p[0]+1);

printf(“p[0][0] = %p\n”,p[0][0]);

printf(“p[0][0]+1 = %p\n”,p[0][0]+1);

printf(“p[0][0][0] = %p\n”,p[0][0][0]);

// insert code here...

printf(“Hello,World!\n”);

return 0;

}

相关文章
使用指针访问数组元素
【10月更文挑战第30天】使用指针访问数组元素。
150 3
指针\动态二维数组空间
指针\动态二维数组空间
99 4
|
存储 编译器 Linux
【c++】类和对象(上)(类的定义格式、访问限定符、类域、类的实例化、对象的内存大小、this指针)
本文介绍了C++中的类和对象,包括类的概念、定义格式、访问限定符、类域、对象的创建及内存大小、以及this指针。通过示例代码详细解释了类的定义、成员函数和成员变量的作用,以及如何使用访问限定符控制成员的访问权限。此外,还讨论了对象的内存分配规则和this指针的使用场景,帮助读者深入理解面向对象编程的核心概念。
651 4
使用指针访问数组元素
【10月更文挑战第31天】使用指针访问数组元素。
158 2
|
存储
如何使用指针数组来实现动态二维数组
指针数组可以用来实现动态二维数组。首先,定义一个指向指针的指针变量,并使用 `malloc` 为它分配内存,然后为每个子数组分配内存。通过这种方式,可以灵活地创建和管理不同大小的二维数组。
|
存储
如何通过指针数组来实现二维数组?
介绍了二维数组和指针数组的概念及其区别,详细讲解了如何使用指针数组模拟二维数组,包括定义与分配内存、访问和赋值元素、以及正确释放内存的步骤,适用于需要动态处理二维数据的场景。
|
存储 人工智能 C语言
C语言程序设计核心详解 第八章 指针超详细讲解_指针变量_二维数组指针_指向字符串指针
本文详细讲解了C语言中的指针,包括指针变量的定义与引用、指向数组及字符串的指针变量等。首先介绍了指针变量的基本概念和定义格式,随后通过多个示例展示了如何使用指针变量来操作普通变量、数组和字符串。文章还深入探讨了指向函数的指针变量以及指针数组的概念,并解释了空指针的意义和使用场景。通过丰富的代码示例和图形化展示,帮助读者更好地理解和掌握C语言中的指针知识。
523 4
Go: struct 结构体类型和指针【学习笔记记录】
本文是Go语言中struct结构体类型和指针的学习笔记,包括结构体的定义、成员访问、使用匿名字段,以及指针变量的声明使用、指针数组定义使用和函数传参修改值的方法。
|
存储 C++
c++学习笔记06 指针
C++指针的详细学习笔记06,涵盖了指针的定义、使用、内存占用、空指针和野指针的概念,以及指针与数组、函数的关系和使用技巧。
151 0
|
C语言
C语言----关于二维数组传参的本质相关的知识点(数组指针、指针数组)
C语言----关于二维数组传参的本质相关的知识点(数组指针、指针数组)
155 0