指针与二维数组(笔记,一脸懵)

简介: 指针与二维数组(笔记,一脸懵)

通用指针:void*

1.通用指针可以接受任意类型指针的赋值

2.通用指针不携带类型信息

3.通用指针不能进行寻址操作(解引用操作)

4.通用指针赋值给普通指针,需要显示类型转换(强制类型转换)

指针与一维数组的关系

#include <bits/stdc++.h>
using namespace std;
int main()
{
  int arr[4] = {11,22,33,44};
  //一维数组名表示:数组首元素地址
  //arr[1] --> *(arr + 1)    下标法本身就是指针寻址
  int *p = arr;
  //p[1] --> *(p + 1) 指针可以使用下标法访问元素
  // &arr+1 移动一个数组单位,指向下一个数组
  //数组地址  寻址 = 数组首元素的地址
  // * & arr -->arr 
  return 0;
}
//arr[0][0]:第一行第一个元素
//&arr[0][0]:第一行第一个元素的地址
//&*(arr[0]+0)->arr[0]:第一行第一个元素的地址
//arr:第一行的地址/第一行这个一维数组的地址
//*arr->arr[0]:第一行第一个元素的地址
//arr+1:第二行的地址
已知:int a[2][3];下列各表达式的含义:
&a:数组的地址
a:第一行的地址
&a[0]:第一行的地址
a[0]:第一行第一个元素的地址
a[0][0]:第一行第一个元素
&a[0][0]:第一行第一个元素的地址
已知:int a[3][4]={{1,3,5,7},{9,11,13,15},{17,19,21,23}};
a[1]+2:第二行第三个元素的地址
 *(a+1)+2:第二行第三个元素的地址
 *(a[1]+2):第二行第三个元素
*(*(a+1)+2):第二行第三个元素
(*(a+1))[2]:第二行第三个元素
已知:int a[3][4]={{1,3,5,7},{9,11,13,15},{17,19,21,23}};
          int(*p)[4]=a;
          int*q=&a[0][0];请用p,q分别表示下面的表达式:
a[1]:    *(p+1)       q+4
a+2:    p+2          (int (*)[4])(q+8)
a[2][2]:    *(*(p+2)+2)      *(q+10)
相关文章
|
7月前
|
C语言
C语言---二维数组&&指针
C语言---二维数组&&指针
34 0
|
存储 C++
【指针笔试题的笔记】
【指针笔试题的笔记】
43 0
|
算法 编译器 C++
类与对象知识总结+封闭类+const+this指针 C++程序设计与算法笔记总结(三) 北京大学 郭炜(中)
类与对象知识总结+封闭类+const+this指针 C++程序设计与算法笔记总结(三) 北京大学 郭炜(中)
69 0
|
6月前
指针\动态二维数组空间
指针\动态二维数组空间
34 4
|
2月前
|
存储
如何使用指针数组来实现动态二维数组
指针数组可以用来实现动态二维数组。首先,定义一个指向指针的指针变量,并使用 `malloc` 为它分配内存,然后为每个子数组分配内存。通过这种方式,可以灵活地创建和管理不同大小的二维数组。
|
2月前
|
存储
如何通过指针数组来实现二维数组?
介绍了二维数组和指针数组的概念及其区别,详细讲解了如何使用指针数组模拟二维数组,包括定义与分配内存、访问和赋值元素、以及正确释放内存的步骤,适用于需要动态处理二维数据的场景。
|
3月前
|
存储 人工智能 C语言
C语言程序设计核心详解 第八章 指针超详细讲解_指针变量_二维数组指针_指向字符串指针
本文详细讲解了C语言中的指针,包括指针变量的定义与引用、指向数组及字符串的指针变量等。首先介绍了指针变量的基本概念和定义格式,随后通过多个示例展示了如何使用指针变量来操作普通变量、数组和字符串。文章还深入探讨了指向函数的指针变量以及指针数组的概念,并解释了空指针的意义和使用场景。通过丰富的代码示例和图形化展示,帮助读者更好地理解和掌握C语言中的指针知识。
122 4
|
7月前
|
C++
指针(笔记2)一
本文介绍了C++中`const`关键字修饰指针的两种情况:当`const`位于星号(*)左侧时,它限制指针所指向的内容不可修改,但指针自身可变;当`const`位于星号(*)右侧时,它限制指针变量不可改变,但可通过该指针修改其指向的内容。此外,文章还讨论了指针的基本运算,包括指针加减整数(用于遍历数组),指针减指针(计算两者间元素个数)以及指针的关系运算(在循环中控制指针移动)。
45 1
|
6月前
|
C语言
C语言----关于二维数组传参的本质相关的知识点(数组指针、指针数组)
C语言----关于二维数组传参的本质相关的知识点(数组指针、指针数组)
|
6月前
|
C语言
C语言----指针模拟二维数组
C语言----指针模拟二维数组