C 中指针的 const 用法

2024-01-12

我正在复习 C,有一个关于const与指针一起使用。我理解下面的代码:

const char *someArray

这是定义一个指向 char 类型和const修饰符意味着存储在someArray无法更改。然而,下面这句话是什么意思呢?

char * const array

这是指定参数的另一种方法,该参数是指向名为“array”的数组的 char 指针,该数组是const并且不能修改?

最后,这个组合意味着什么:

const char * const s2

作为参考,这些内容取自 Deitel C 编程书籍的第 7 章,所有这些都用作传递给函数的参数。


const char*正如您所说,是一个指向 char 的指针,您无法更改 char 的值(至少不能通过指针(不放弃常量))。

char* const是一个指向字符的指针,您可以在其中更改字符,但不能使指针指向不同的字符。

const char* const是指向常量 char 的常量指针,即您既不能更改指针所指向的位置,也不能更改被指针的值。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C 中指针的 const 用法 的相关文章

  • 如何创建可以像 UserControl 一样编辑的 TabPage 子类?

    我想创建一个包含一些控件的 TabPage 子类 并且我想通过设计器来控制这些控件的布局和属性 但是 如果我在设计器中打开子类 我将无法像在 UserControl 上那样定位它们 我不想创建一个带有 UserControl 实例的 Tab
  • 从 MVC 迁移到 ASP.NET Core 3.1 中的端点路由时,具有角色的 AuthorizeAttribute 不起作用

    我正在尝试将我的项目从 UseMVC asp net core 2 2 兼容样式 升级到 UseEndpoint Routing 并且我的所有请求都被重定向到我的验证失败页面 它与声明有关 如果我删除 Authorize Roles Adm
  • 如何使用recv()检测客户端是否仍然连接(并且没有挂起)?

    我写了一个多客户端服务器程序C on SuSE Linux 企业服务器 12 3 x86 64 我为每个客户端使用一个线程来接收数据 我的问题是 我使用一个终端来运行服务器 并使用其他几个终端来运行服务器telnet到我的服务器 作为客户端
  • 从多个类访问串行端口

    我正在尝试使用串行端口在 arduino 和 C 程序之间进行通信 我对 C 编程有点陌生 该程序有多种用户控制形式 每一个都需要访问串口来发送数据 我需要做的就是从每个类的主窗体中写入串行端口 我了解如何设置和写入串行端口 这是我的 Fo
  • 暂停下载线程

    我正在用 C 编写一个非常简单的批量下载程序 该程序读取要下载的 URL 的 txt 文件 我已经设置了一个全局线程和委托来更新 GUI 按下 开始 按钮即可创建并启动该线程 我想要做的是有一个 暂停 按钮 使我能够暂停下载 直到点击 恢复
  • 当前的 c++ 工作草案与当前标准有何不同

    通过搜索该标准的 PDF 版本 我最终找到了这个链接C 标准措辞草案 http www open std org jtc1 sc22 wg21 docs papers 2012 n3376 pdf从 2011 年开始 我意识到我可以购买最终
  • 在非活动联合成员上使用“std::addressof”是否定义明确[重复]

    这个问题在这里已经有答案了 下面的代码是尝试实现constexpr的版本offsetof在 C 11 中 它可以在 gcc 7 2 0 和 clang 5 0 0 中编译 这取决于申请std addressof工会非活跃成员的成员 这是明确
  • 如何重置捕获像素的值

    我正在尝试创建一个 C 函数 该函数返回屏幕截图位图中每四个像素的 R G 和 B 值 这是我的代码的一部分 for int ix 4 ix lt 1366 ix ix 4 x x 4 for int iy 3 iy lt 768 iy i
  • C# 中条件编译符号的编译时检查(参见示例)?

    在 C C 中你可以这样做 define IN USE 1 define NOT IN USE 1 define USING system 1 system 1 IN USE 进而 define MY SYSTEM IN USE if US
  • 生产代码中的 LRU 实现

    我有一些 C 代码 需要使用 LRU 技术实现缓存替换 目前我知道两种实现LRU缓存替换的方法 每次访问缓存数据时使用时间戳 最后比较替换时的时间戳 使用缓存项的堆栈 如果最近访问过它们 则将它们移动到顶部 因此最后底部将包含 LRU 候选
  • 当“int”处于最大值并使用 postfix ++ 进行测试时,代码定义良好吗?

    示例 未定义行为的一个示例是整数溢出的行为 C11dr 3 4 3 3 int溢出是未定义的行为 但这是否适用于存在循环的以下内容 并且不使用现在超出范围的副作用i 特别是 这是否后缀增量规格帮助 结果的值计算在副作用之前排序 更新操作数的
  • 如何挤出平面 2D 网格并赋予其深度

    我有一组共面 连接的三角形 即二维网格 现在我需要将其在 z 轴上挤出几个单位 网格由一组顶点定义 渲染器通过与三角形数组匹配来理解这些顶点 网格示例 顶点 0 0 0 10 0 0 10 10 0 0 10 0 所以这里我们有一个二维正方
  • 尚未处理时调用 Form 的 Invoke 时出现 ObjectDisposeException

    我们得到一个ObjectDisposedException从一个电话到Invoke在尚未处理的表格上 这是一些演示该问题的示例代码 public partial class Form2 Form void Form2 Load object
  • System.Runtime.InteropServices.COMException(0x80040154):[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我在 C 项目中遇到异常 System Runtime InteropServices COMException 0x80040154 检
  • 是否可以有一个 out ParameterExpression?

    我想定义一个 Lambda 表达式out范围 有可能做到吗 下面是我尝试过的 C Net 4 0 控制台应用程序的代码片段 正如您在 procedure25 中看到的 我可以使用 lambda 表达式来定义具有输出参数的委托 但是 当我想使
  • 运算符“==”不能应用于“int”和“string”类型的操作数

    我正在编写一个程序 我想到了一个数字 然后计算机猜测了它 我一边尝试一边测试它 但我不断收到不应该出现的错误 错误是主题标题 我使用 Int Parse 来转换我的字符串 但我不知道为什么会收到错误 我知道它说 不能与整数一起使用 但我在网
  • 用于 C# XNA 的 Javascript(或类似)游戏脚本

    最近我准备用 XNA C 开发另一个游戏 上次我在 XNA C 中开发游戏时 遇到了必须向游戏中添加地图和可自定义数据的问题 每次我想添加新内容或更改游戏角色的某些值或其他内容时 我都必须重建整个游戏或其他内容 这可能需要相当长的时间 有没
  • 带重定向标准流的 C# + telnet 进程立即退出

    我正在尝试用 C 做一个 脚本化 telnet 项目 有点类似于Tcl期望 http expect nist gov 我需要为其启动 telnet 进程并重定向 和处理 其 stdin stdout 流 问题是 生成的 telnet 进程在
  • 实例化 Microsoft.Office.Interop.Excel.Application 对象时出现错误:800700c1

    实例化 Microsoft Office Interop Excel Application 以从 winforms 应用程序生成 Excel 时 出现以下错误 这之前是有效的 但突然间它停止工作了 尽管代码和 Excel 版本没有变化 我
  • 匿名结构体作为返回类型

    下面的代码编译得很好VC 19 00 23506 http rextester com GMUP11493 标志 Wall WX Za 与VC 19 10 25109 0 标志 Wall WX Za permissive 这可以在以下位置检

随机推荐

  • 为情节图形的每个方面添加痕迹

    我想在情节的各个方面添加痕迹 例如 我想向显示 15 小费的 tips 数据集散点图的每个每日方面添加一条参考线 然而 我下面的尝试仅将线添加到第一个方面 import plotly express as px import plotly
  • laravel Socialite 无法在实时服务器上运行,只能在本地计算机上运行

    我最近将我的应用程序移至实时服务器中 问题是 Laravel Socialite 停止工作 解释如下 我点击谷歌登录并选择电子邮件后 回调时会发生这种情况 InvalidStateException on Abstract php on l
  • 有哪些工具可用于编辑联机帮助页,即 GUI WYSIWYG 编辑器(任何平台)

    是否有任何像样的 GUI 图形用户界面 所见即所得 所见即所得 编辑器 在任何平台上 可用于创作 编辑手册页 一个可以导出为 troff 格式的应用程序也可以 Nroff编辑 http aaa sec com nroffedit 最初是为了
  • 刀片模板和单选按钮 - 在 foreach 循环中选择第一个

    我有以下 Blade 模板条目 它创建 作为表行的一部分 一列单选按钮 我只想选择生成的第一个无线电 并且我想通过 PHP 来执行此操作 没有 js post 页面加载 如何检查这是否是我的集合中的 第一个 条目 从而放置字符串checke
  • 结束 Swing 应用程序时出现 JavaFX 错误

    我有一个 Swing 应用程序 需要在其中显示内部生成的 HTML CSS 为了做到这一点 我已经适应了来自这个 StackOverflow 问题的代码 https stackoverflow com questions 13717769
  • 如何合并动物园对象列表

    我有一个动物园对象列表 我想合并它们 我已经确保它们的长度都相同 看来为了合并它们 我需要做类似的事情 merge my list 1 my list 2 但随着列表长度的增加 这很快就会变得很麻烦 有人对处理这个问题有建议吗 Use do
  • Android SpeechRecognizer设置识别引擎?

    我正在使用 SpeechRecognizer 将语音转换为文本 我使用的是三星 当我将语音识别器设置为 Samsungpowered by Vlingo 时遇到错误 在更改为 Google 后错误消失了 我想知道是否有任何方法可以以编程方式
  • Docker:导出镜像失败:创建镜像失败:获取层失败

    我收到以下错误 导出图像失败 创建图像失败 获取图层失败 sha256 xxxxxxxxxxxxx 层不存在 Dockerfile FROM openjdk 8 COPY lib usr src app BOOT INF lib COPY
  • 在 C# vsto Excel 中选择性粘贴

    我正在开发 C vsto Excel 应用程序 每当用户从另一个 Excel 工作表将某些内容粘贴到 Excel 模板中时 它还会将单元格格式与单元格数据一起粘贴到 Excel 模板中 我想避免这种情况 所以我用谷歌搜索 发现了术语 特殊粘
  • 将元素存储在内存中以防止过于频繁地更新 DOM?

    目前我有一个循环在每次迭代中更新 DOM 我知道这是一种不好的做法 您应该尽可能少地更新 DOM 以提高速度 所以我想知道如何编辑下面的内容 以便我可以将所有元素存储在一个元素或其他元素中 然后在循环结束后执行单个 DOM 添加 这是循环
  • 文本不会被 swift UI 包裹

    即使设置后 lineLimit nil 文本不会被换行 var body some View VStack alignment center Text SwiftUI is a modern way to declare user inte
  • 如何设置自定义单元格的角半径

    这是我的示例输出 其中下面的详细信息中有三个单元格 我为每个自定义单元格设置了角半径 但它无法正常工作 第一个单元格的角半径不起作用 第二个单元格的右上角和顶部左边正在工作 请说明为此做什么 void layoutSubviews supe
  • 临时变量的 C++ 生命周期 - 这安全吗?

    如果我正确理解临时对象生命周期的规则 那么这段代码应该是安全的 因为临时对象的生命周期stringstream in make string 持续到完整表达式结束 我不是 100 确信这里没有一个微妙的问题 但有人可以确认这种使用模式是否安
  • 子类化 UICollectionViewLayout 并分配给 UICollectionView

    我有一个 UICollectionViewController void viewDidLoad super viewDidLoad assign layout subclassed below self collectionView co
  • DebugDiag:如何手动注入 LeakTrack.dll

    我有一个来自生产的故障转储来识别内存泄漏 当我使用 DebugDiag v2 update 2 时 我收到一份报告 DebugDiag 没有检测到 w3wp DMP 中加载的 LeakTrack dll 因此没有泄漏 对此文件进行了分析 如
  • 错误:返回 void,return 关键字后面不能跟对象表达式

    private void QuestionAnswer Load object sender EventArgs e txtQuestion Enabled false txtQuestion BackColor Color White g
  • C 预处理器宏扩展

    我很难理解 C 预处理器在以下上下文中如何应用重写规则 我有以下宏 define A x A x define B x B x define X x x 这个想法是 每个宏都使用串联来创建一个新的表达式 它本身可以是一个宏 如果它是一个宏
  • Python3 硒问题

    我想通过以下方式抓取一些评论Web page https hotels ctrip com hotel 347422 html isFull F ctm ref hod sr lst dl n 1 8 当我尝试通过 Selenium 选择转
  • 如何单独使用 CSS 为 IE 和 Firefox 获得奇数/偶数着色?

    我的 Web 项目使用 php 但我需要单独使用 CSS 进行着色 因此我需要在 Firefox 和 Internet Explorer 中运行的代码 此代码已编写 但在 Internet Explorer 中不起作用 tbl css co
  • C 中指针的 const 用法

    我正在复习 C 有一个关于const与指针一起使用 我理解下面的代码 const char someArray 这是定义一个指向 char 类型和const修饰符意味着存储在someArray无法更改 然而 下面这句话是什么意思呢 char