当前位置: 首页 > news >正文

指针数组 数组指针 常量指针 指针常量 函数指针 指针函数

一、指针常量与常量指针

1、指针常量

  本质上是一个常量,常量的类型是指针,表示该常量是一个指针类型的常量。在指针常量中,指针本身的值是一个常量,不可以改变,始终指向同一个地址。在定义的时候,必须要初始化。

int a = 10, b = 20;
int *const p = &a;
*p = 30;				

p指针指向的地址是不变的,但是其内容可被修改。

2、常量指针

  常量指针本质上是一个指针,常量表示指针指向的内容,说明该指针指向一个“常量”。在常量指针中,指针指向的内容是不可改变的,指针看起来好像是指向了一个常量。

int a = 10, b = 20;
const int *p = &a;
p = &b;			

指针可指向其他地址,但是指向的内容不可以改变。

二、指针数组与数组指针

1、数组指针

  首先本质上是一个指针;指针指向数组;
定义方式:
存储类型(可省) + 数据类型(*指针名)[下标] = 值;
如 int (*p)[3];
存储类型:auto、static、extern
在这里插入图片描述

2、指针数组

  首先是个数组;
定义方式:[存储类型] + [数据类型] * 数组名[长度];
如:

int *arr[3];

指针数组的含义是:数组中每个元素都是指针。

三、函数指针和指针函数

1、指针函数

定义方式:返回值 * 函数名(形参)
如 int *fun(int);

2、函数指针

 本质是一个指针,只不过指针指向函数
类型:(*指针名) [形参名]
如 int (*p)(int);
表示一个指针指向函数

int add(int a, int b)
{return (a+b);
}
int main()
{int (*p)(int, int);p = add;ret = p(1, 2);printf("%d\n", ret);			// ret = 1+2 = 3;
}
http://www.lryc.cn/news/36596.html

相关文章:

  • 前端js学习
  • “华为杯”研究生数学建模竞赛2007年-【华为杯】A题:食品卫生安全保障体系数学模型及改进模型(附获奖论文)
  • 转战C#---day2
  • 【vue2源码学习】— diff
  • 更换 Linux 自带的 jdk 环境
  • MySQL8读写分离集群
  • 蓝桥冲刺31天之第七天
  • 【Python百日进阶-Web开发-Vue3】Day550 - Vue3 商城后台 10:Veux4-02基本使用
  • ESP32驱动-红外寻迹传感器驱动
  • 【TS】TypeScript泛型 T 的用法详解
  • Vue 3.0 单文件组件 【Vue3 从零开始】
  • 北邮22信通:你是不是在looking for……那串代码?(2)第三章单链表
  • 蓝库云|告诉你传统产业该如何进行数字化转型
  • 121.(leaflet篇)leaflet结合echarts4迁徙图
  • 链表及其基本操作
  • 【Java基础 下】 031 -- 反射 动态代理
  • springcloud3 GateWay
  • 万字长文:Stable Diffusion 保姆级教程
  • WAMP搭建靶场
  • Uipath Excel 自动化系列13-ForEachExcelSheet(遍历Sheet)
  • JDBC快速入门
  • 蓝桥杯三月刷题 第六天
  • 分享几个常用的运维 shell 脚本
  • 分隔链表(精美图示详解哦)
  • 腾讯乐固加固+app签名+多渠道打包
  • Spring Boot整合Redis缓存(Lettuce)
  • Feign
  • 【代码训练营】day54 | 392.判断子序列 115.不同的子序列
  • 【unity3D】创建TextMeshPro(TMP)中文字体(解决输入中文乱码问题)
  • JAVA开发(JAVA中的异常)