各指针含义区分

一、char *a

P109:
(1)(变量)指针变量:指针变量,即指针的定义:用来存放指针的变量。指向的是变量,且可以改变其指向的地址。P104 char *a

(2)(变量)指针常量:指针常量,指向的是变量首字节的地址,但不能修改指针所指向的地址。在定义的同时必须初始化。char * const a = &p

(3)常量指针(变量):常量指针,指向的是常量(如常量字符串(首个字符)、常量字符数组(首个元素的地址)),因此不能通过运算及重新赋值,修改指针所指向地址的内容。
如通过
(数组名) 修改字符数组中的第一个元素的值会提示:表达式必须是可修改的左值,无法修改。
但仍然是一个指针变量,因此可以改变指针所指向的地址。上面的①字符串常量指针,及②数组名都可以看作是常量指针。

其中①字符串常量指针,分为两种情况:
当只有一个字符串指针时,一定没有方括号[] . 后面只能有一个常量字符串指针且使用双引号,可以加花括号也可以不加。
此时必须要用const char * a; 或char const * a; 这两种形式做形式参数。
即不能少const修饰char.

const char * a = "abc";  //等价于const char* a = { "abc" }; 

当至少有两个字符串常量指针,则必须转为 字符串常量指针数组 数据类型;或者只有一个字符串常量指针,但明确定义了是指针数组时:
即当是 字符串常量指针数组 时,则一定有了方括号[]. 此时后面也一定要加花括号,每一个字符串常量元素都用双引号括起来。
指针数组中只有一个字符串常量指针元素时也要用方括号和花括号。

const char* a[] = { "abc" }; 
//这里a是字符串常量指针数组。注意区别上面的const char* a = { "abc" }; 是常量字符串指针,数据类型的本质有区别。
//根据字符串元素数量决定定义(字符串常量指针还是指针数组?),根据定义决定后面是用还是不用,及用哪种[]、{}、""、'',而不是相反或者死记硬背
const char* b[] = {"abc","def"};

在这里插入图片描述

数组名常量指针,可以用const char * a; 或char const * a; 或char * a三种形式,一般是用char * a.
已经定义了一个数组,这里只是数组名称,而并非上面的指针数组整体结构。
在这里插入图片描述

(4)常量指针常量:指向的是常量首字节的地址,且不能改变其指向的地址。

二、char *a[]

定义一个指针数组a,其元素都为指针。

三、char *a()

P123 函数a的返回值是一个指向char类型的指针。

四、char (*a)()

P123 指向函数的指针
定义了一个指向 返回值为char类型的函数 的指针a.

五、指向函数的指针数组

指针数组中的指针元素,均指向函数。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/257473.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

QT 工具栏 状态栏 停靠部件 核心部件

添加/删除工具栏 删除工具栏方法和删除菜单栏方法一样,不过工具栏可以有多个,所以每次右键MainWindow对象,都可以看到添加工具栏的选项。 工具栏添加动作 新添加的QAction对象会在动作编辑器里找到(Action Editor)&a…

【51单片机】AT24C02(江科大、爱上半导体)

一、AT24C02 1.AT24C02介绍 AT24C02是一种可以实现掉电不丢失的存储器,可用于保存单片机运行时想要永久保存的数据信息 存储介质:E2PROM 通讯接口:12C总线 容量:256字节 2.引脚即应用电路 本开发板AT24C02原理图 12C地址全接地,即全为0 WE接地,没有写使能 SCL接P21 S…

WordPress函数wptexturize的介绍及用法示例,字符串替换为HTML实体

在查看WordPress你好多莉插件时发现代码中使用了wptexturize()函数用来随机输出一句歌词,下面boke112百科就跟大家一起来学习一下WordPress函数wptexturize的介绍及用法示例。 WordPress函数wptexturize介绍 wptexturize( string $text, bool $reset false ): st…

VMware虚拟机网络配置

VMware虚拟机网络配置 桥接模式NAT网络 桥接模式 桥接模式其实就是借助你宿主机上的网卡进行联网和通信,所以相当于虚拟机和宿主机平级,处于同一个网段中。 配置要点: 注意选择正确的宿主机网卡 查看宿主机的网络信息,这些信息指…

PHP脉聊交友系统网站源码,可通过广告变现社交在线聊天交友即时通讯APP源码,附带视频搭建教程

探索全新社交体验:一站式PHP交友网站解决方案 🌐 全球化交友,无界沟通 在数字化的浪潮下,社交已不再受地域限制。我们的PHP交友网站不仅支持多国语言,还配备了即时翻译功能,让您轻松跨越语言障碍&#xff…

数据结构(2) 线性表

线性表 线性表的定义线性表的基本操作lnitList(&L)DestroyList(&L)Listlnsert(&L,i,e)ListDelete(&L,i,&e)LocateElem(L,e)GetElem(L,i)Length(L)PrintList(L)Empty(L)Tips:引用值 小结 根据数据结构的三要素–逻辑结构、数据的运算、存储结构,…

Uniapp(uni-app)学习与快速上手教程

Uniapp(uni-app)学习与快速上手教程 1. 简介 Uniapp是一个跨平台的前端框架,允许您使用Vue.js语法开发小程序、H5、安卓和iOS应用。下面是快速上手的步骤。 2. 创建项目 2.1 可视化界面创建 1、打开 HBuilderX,这是一款专为uni…

国家开放大学如何找答案?三个受欢迎的搜题分享了 #经验分享#学习方法

它里面有拍照搜题、文字搜题、语音搜题等多种搜题模式,大家可以根据自己的需求选择相应的搜题模式,很是方便; 1.The Sky The Sky 是一个让人惊艳的天文知识学习软件,也是一个唯美好看的天文科普软件。 它的功能全面丰富&#x…

如何使用C#调用LabVIEW算法

新建一个工程 这是必须的; 创建项目 项目 点击完成; 将项目另存为;方便后续的使用; 创建 一个测试VI 功能很简单,用的一个加法;将加数A,B设置为输入,和C设置为输出,…

windows vs 自己编译源码 leveldb 然后使用自己编译的文件

1 准备源码文件 1.1 第一种方法 git下载源码 vs项目中git leveldb源码和git third_party googletest-CSDN博客 1.2 第二种方法 手动下载 然后把第三方的源码下载 复制到 third_party 对应的文件夹中 没有文件夹 third_party -> powershell mkdir third_party 2 编译lev…

NLP_ChatGPT的RLHF实战

文章目录 介绍小结 介绍 ChatGPT 之所以成为ChatGPT,基于人类反馈的强化学习是其中重要的一环。而ChatGPT 的训练工程称得上是复杂而又神秘的,迄今为止,OpenAl也没有开源它的训练及调优的细节。 从 OpenAl已经公开的一部分信息推知&#xff…

第三百一十五回

文章目录 1. 概念介绍2. 基本用法3. 补充用法4. 内容总结 我们在上一章回中介绍了"再谈ListView中的分隔线",本章回中将介绍showMenu的用法.闲话休提,让我们一起Talk Flutter吧。 1. 概念介绍 我们在第一百六十三回中介绍了showMenu相关的内容…

arkTS开发鸿蒙OS个人商城案例【2024最新 新年限定开发案例QAQ】

龙年前述 源码获取>文章下方二维码,回复关键字“鸿蒙OS商场源码” 前言 arkTS是华为自己研发的一套前端语言,是在js和ts技术的基础上又进行了升级而成! 本篇文章会带领大家通过arkTSnode.jsmongoDB来完成一个鸿蒙OS版本的商城案例&…

【MySQL】索引事务

MySQL索引事务 1. 索引1.1 概念1.2 作用1.3 使用场景1.4 使用1.5 案例 2. 事务2.2 事物的概念2.3 使用 3. 内容重点总结 1. 索引 1.1 概念 索引是一种特殊的文件,包含着对数据表里所有记录的引用指针。可以对表中的一列或多列创建索引, 并指定索引的类…

Django视图

HttpRequests对象 利用http协议向服务器传参的4种途径 提取url特定部分,如/web/index/,可以通过在服务器端的路由中用正则表达式截取查询字符串,形如?key1value&keyvalue2,(?前面是路由,…

Pycharm里如何设置多Python文件并行运行

点击上方“Python爬虫与数据挖掘”,进行关注 回复“书籍”即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 夕阳何事近黄昏,不道人间犹有未招魂。 大家好,我是皮皮。 一、前言 相信使用Pycharm的粉丝们肯定有和我一样的想法,…

在Ubuntu22.04上部署FoooCUS2.1

Fooocus 是一款基于 Gradio的图像生成软件,Fooocus 是对 Stable Diffusion 和 Midjourney 设计的重新思考: 1、从 Stable Diffusion 学习,该软件是离线的、开源的和免费的。 2、从 Midjourney 中学到,不需要手动调整,…

2024牛客寒假算法基础集训营3部分题解

智乃与瞩目狸猫、幸运水母、月宫龙虾 链接:登录—专业IT笔试面试备考平台_牛客网 来源:牛客网 Ubuntu是一个以桌面应用为主的Linux发行版操作系统,其名称来自非洲南部祖鲁语或豪萨语的"ubuntu"一词,意思是"人性…

【C++】内存五大区详解

💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤 📃个人主页 :阿然成长日记 …

Flutter学习(八)Flutter_Boost接入

背景 基于安卓的原生项目,进行Flutter的接入,进行混合开发。 参考链接 官方地址:link fullter_boost配置:link git代理配置:link kotlin语法集成:link 混合开发的坑:link 开发环境 as4…