美文网首页
指针(数组指针、指针数组、二级指针)

指针(数组指针、指针数组、二级指针)

作者: 勤学奋进小郎君 | 来源:发表于2019-05-25 16:13 被阅读0次

指针的概念

首先我们需要知道变量的概念(不管变量和常量,这个概念是一样的),变量即一系列的值。我们在声明变量的时候,就需要在内存中申请一个地址去存放变量值。所以关于这个变量,它只有一个属性,就是它的内存地址,内存地址处的数据就是这个变量

指针是一个变量:它有一个属性即他的内存地址
指针是一个扩展型的变量:指针它的这个变量值作为一个内存地址去指向另外一个值
所以,指针有两个属性:

  1. 指针变量值有他的内存地址,这个地址指向的值就是指针变量值
  2. 指针变量值作为内存值指向另外的一个值(扩展项)

指针用法

  1. *添加加在变量前面表示这个变量是一个指针
  2. 给指针赋一个int类型,表示这个指针内存放的内存地址所指向的值是一个int值
  3. *加上指针变量名就代表指针中内存地址所指向的值,如下解释:
//变量a的值为10
int a = 10;
//指针pointer的值为变量a的内存地址
//*pointer可以表示变量a或者10
int *pointer = &a;

数组指针

一个指向数组的指针

//()优先级高,所以先声明pointer变量是一个指针
//然后声明这个指针pointer是一个数组指针,数组指针存储的内存地址所指向的值是一个长度为10的int型数组
int (*pointer)[2];
//初始化一个数组
int arr[] = {1, 2};
//初始化这个数组指针
pointer = &arr;
//*pointer就是这个int数组的首地址
//那么**pointer就是这个int数组的第一个值
printf("first value is :%d", **pointer);
printf("first value is :%d", *(*pointer+1));

指针数组

一个存放指针的数组

//声明一个数组,只存储了一个int型指针
int *pointer[1];
int a = 1;
int *pa;
pa = &a;
//给数组赋值
pointer[0] = pa;
//pointer[0]是一个int指针,所以要用*来获取指针指向的值
printf("first value is :%d", *pointer[0]);

二级指针

二级指针这个特殊的变量,存放的内存地址是另一个指针本身的内存地址

char a = "a";
//指针p的值就是字符a的内存地址
char *p = &a;
//二级指针pp的值就是指针p的内存地址
char **pp = &p;

相关文章

  • c基础—指针运算和函数指针

    二级指针 数组和数组指针 采用指针遍历数组循环赋值 遍历 赋值 指针与数组的几种写法 函数指针(回调) 题目:监听...

  • 混淆知识点

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

  • 函数指针

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

  • C语言

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

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

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

  • 学习笔记3(指针运算,函数参数与指针,数组指针,二级指针)

    一、指针运算 二、数组与指针 三、指针和函数参数 java中: C/C++中: 四、指针数组 五、 二级指针 六、...

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

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

  • 指针(数组指针、指针数组、二级指针)

    指针的概念 首先我们需要知道变量的概念(不管变量和常量,这个概念是一样的),变量即一系列的值。我们在声明变量的时候...

  • C语言指针相关

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

  • C语言指针部分说明

    二级指针 函数指针 数组和链表 访问数组 访问链表 Makefile

网友评论

      本文标题:指针(数组指针、指针数组、二级指针)

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