C语言char指针的使用

2023-05-16

在c语言中,char指针不仅能指向char变量,还能指向常量字符串,同时也能指向一个char数组的。

想要访问单个字符,就要通过*来进行解引用,若是要访问整个数组或字符串的话,就直接输入地址。


但是注意,再上图中b指向的内容时不可改变的,c指向的是可以改变的。

因为b指向的是个常量字符串,是不可改变的,而c指向的是个数组,是可以改变的。

程序运行到*c='a'时未报错,但是到了*b=‘w’时确保错了。


拿一道题目

 请问运行结果时什么?


可以分析,在str1和str2中分别存放了两个数组,只是内容相同,但在进行判断时,str1和str2的地址仍旧不相同,所以结果应该是str1!=str2

但在str3和str4的比较中,他们都指向一个字符串常量,且这个常量是同一个,地址相同所以结果应该是str3==str4(编译器为了节省内存,通常是会指向同一个常量)。


看下结果.

 

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

C语言char指针的使用 的相关文章

  • 如何区分 malloc 字符串和字符串文字?

    有没有一种方法 在纯C中 来区分malloc从字符串文字中提取字符串 而不知道哪个是哪个 严格来说 我试图找到一种方法来检查变量是否是 malloced 字符串 如果是 我将释放它 如果没有 我就放手 当然 我可以向后挖掘代码并确定变量是否
  • 可以将整数值赋给 char,但不能将整型变量赋给 char

    为什么下面的代码不能编译 int n 5 char c n 但以下确实可以编译 char c 5 在这两种情况下我不是只是为 char 分配一个整数值吗 A char可以分配给一个int没有强制转换 因为这是一个扩大的转换 为了执行相反的操
  • Java中的char和Character有什么区别?

    我需要知道Java中的char和Character有什么区别 因为当我编写java程序时 char可以工作 而Character却不起作用 char 是表示单个 16 位 Unicode 字符的原始类型 而 Character 是一个包装类
  • 如何在c中将数组的值分配给另一个数组(制作副本)?

    我想复制二维数组并将其分配给另一个数组 在Python中我会做这样的事情 grid a b c d e f g h i grid copy grid 我想在 C 中做同样的事情 char grid 3 3 a b c d e f g h i
  • 在运行时将 char[x] 大小调整为 char[y]

    好吧 我希望我能正确解释这一点 我有一个结构 typedef struct MyData char Data 256 int Index MyData 现在 我遇到了一个问题 大多数时候MyData Data256 就可以了 但在某些情况下
  • 在 C++ 中将整数存储到 char* 中

    我正在编写一些返回整数的代码 然后需要使用 ncurses 库中的 printw 输出该整数 但是 由于 printw 只接受 char 我不知道如何输出它 本质上 有没有办法将整数存储到 char 数组中 或者使用 printw 输出整数
  • 如何将此代码转换为使用字符串

    char recursivecombo char str int choices int level int len strlen str level if level choices for int i 0 i lt len 2 i pr
  • 如何计算字符串中括号的个数?

    这是我计算字符串中括号数量的方法 public int checkParenthesis String print char par int num 0 for int i 0 i
  • 打印一个字符*

    我提前为这个愚蠢的问题道歉 这是我的结构定义 struct vcard char cnet char email char fname char lname char tel 我正在尝试使用函数 vcard show vcard c 打印此
  • C问题:为什么char实际上占用了4个字节的内存?

    我写了一个小程序来检查 char 在内存中占用了多少字节 它显示 char 实际上在内存中占用了 4 个字节 我知道这主要是因为字对齐 并且没有看到 char 只有 1 个字节的优势 为什么不使用 4 个字节作为 char int main
  • char * 变量地址与 char[] 变量地址

    我从以下两个声明和初始化中打印出地址和字符串 char strPtr char This is a string made on the fly char charArray Chars in a char array variable 打
  • 在这种情况下,数组索引中的字符表示如何工作?

    我是 C 初学者 我有这样的代码 include
  • 字符类型边界处增量运算符的行为

    我想知道 C 在这种情况下的表现如何 char variable 127 variable 在这种情况下 变量现在等于 128 但是 增量运算符是否将值包装到其下限或是否发生了溢出 发生溢出并导致未定义的行为 第 5 5 节 如果在计算表达
  • 尝试在整数后添加字符然后打印结果时出现奇怪的结果

    我正在尝试创建一个简单的欧姆定律计算器 所以我们的想法是你可以填写两个变量 然后它会计算第三个变量 当我创建这个程序时 我发现了一个小问题 我不明白它是如何发生的 不幸的是我无法找到答案 我尝试打印一个显示完整计算的字符串 用户填写的两个变
  • 将文本文件读入 char 数组。 C++ ifstream

    我试图将整个 file txt 读入字符数组 但遇到一些问题 请提出建议 ifstream infile infile open file txt char getdata 10000 while infile eof infile get
  • C++11 类型推导与 const char *

    In GotW 94 http herbsutter com 2013 08 12 gotw 94 solution aaa style almost always auto Herb Sutter 对 经典 C 声明进行了区分 const
  • gcc 内部使用相同的位表示 int 和 char 吗?

    我只是为了好玩而玩弄 unicode 字符 不使用 wchar t 支持 我只使用常规的 char 数据类型 我注意到 当以十六进制打印它们时 它们显示了完整的 4 个字节 而不是仅一个字节 对于前 考虑这个 c 文件 include
  • 如何将单个 char 转换为 int [重复]

    这个问题在这里已经有答案了 我有一串数字 例如 123456789 我需要提取它们中的每一个以在计算中使用它们 我当然可以通过索引访问每个字符 但是如何将其转换为 int 我研究过 atoi 但它需要一个字符串作为参数 因此 我必须将每个字
  • JNI 将 Char* 2D 数组传递给 JAVA 代码

    我想从 C 代码通过 JNI 层传递以下指针数组 char result MAXTEST MAXRESPONSE 12 12 8 3 29 70 5 2 42 42 在java代码中我写了以下声明 public static native
  • C++ new * char 不为空

    我有一个问题 我在 ASIO 中开发服务器 数据包采用尖头字符 当我创建新字符时 例如char buffer new char 128 我必须手动将其清理为空 By for int i 0 i lt 128 i buffer i 0x00

随机推荐

  • QT 程序打包的方法

    01前言 很多朋友因为要把程序放到不同电脑的环境去测试 xff0c 而又不可能每一台电脑都安装了QT的开发环境 xff0c 于是乎有了将程序打包的想法 这里用来的包的工具是windeployqt xff0c 是QT官方自带的打包软件 xff
  • C++Qt开发——事件处理函数

    事件 event 是由系统或者Qt本身在不同时刻发出的 当用户按下鼠标 敲下键盘 xff0c 或者其它情况时候都会发出一个相应的事件 一些事件在对用户操作做出相应时发出 xff0c 如键盘事件等 xff1b 另外一些则是由系统自动发出 xf
  • C++Qt开发——类图结构

    Qt 类图 系统性地总结一下相关的知识点 xff0c 这里有个网图 xff0c 是Qt的类图 xff0c 看完可以对Qt整体的框架有一个大致的了解 xff0c 具体如下 CSDN QT大纲 xff1a Qt开发必备技术栈学习路线和资料 Qt
  • QT如何实现一个五子棋游戏

    FIR pro QT 43 61 core gui TARGET 61 FIR TEMPLATE 61 app SOURCES 43 61 main cpp widget cpp HEADERS 43 61 widget h wight h
  • Qt5实现UDP通信的示例代码怎么写

    QT5实现UDP通信的示例代码怎么写 xff0c 很多新手对此不是很清楚 xff0c 为了帮助大家解决这个难题 xff0c 下面小编将为大家详细讲解 xff0c 有这方面需求的人可以来学习下 xff0c 希望你能有所收获 前言 该例程经过实
  • OpenCV+Qt实现图像处理操作工具

    一 目标 Qt界面实现 雪花屏 高斯模糊 中值滤波 毛玻璃 灰度化 XY方向模糊 双边模糊 腐蚀 图像处理操作 要求左边原图 xff0c 右边效果图 结果展示如下 xff1a 图像处理实现有点多 xff0c 就不一个一个地展示了 xff0c
  • 链表的建立、赋值、输出、查找、增、删

    include lt stdio h gt include lt string h gt include lt math h gt include lt stdlib h gt typedef struct node 定义结构体 int n
  • 蓝桥杯-串口

    本文通过电脑串口发送文本模式和HEX模式进行介绍串口的简单使用 xff01 注意事项 xff1a 1 本节通过定时器2的串口1 进行串口控制 2 串口如果开启了 编程完成后自动打开串口会导致第一次发送无法看到 xff08 HEX模式 xff
  • GSV2008

    GSV2008 是HDMI2 0 四进二出矩阵 xff0c 自持HDCP2 2 xff0c 支持DOWN SCALER 四个HDMI输入 xff0c 2个HDMI输出 xff0c 自动EQ 应用 xff1a 1 xff0c 功放 ARC C
  • 漏洞挖掘-从任意文件读取漏洞到获取账户利用

    开篇 大家好 xff0c 我是承影战队的v1ct0ry xff0c 这次我为大家分享一次比较有趣的漏洞挖掘经历 这次挖掘过程是以灰盒挖掘为主要思想进行展开 xff0c 不熟悉的读者可以阅读上篇文章熟悉一下 一 任意文件读取 开局我们通过扫描
  • curl命令行工具

    转载 curl 命令行工具的使用及命令参数说明 curl的使用 1 1 URL访问 1 2 表单提交 1 3 其它HTTP请求方法 1 4 文件上传 1 5 HTTPS支持 1 6 添加请求头 1 7 Cookie支持curl语法及选项cu
  • Ubuntu20.4安装ROS系统教程(自用)

    1 Ubuntu各个版本系统对应的ROS版本 1 2Ubuntu16 04与ROS kinetic的安装 1 2 1Ubuntu16 04配置 1 2 2安装ROS kinetic版 1 3Ubuntu18 04和ROS melodic的安
  • UART 空闲中断+DMA接收流程

    在项目中利用UART空闲中断接收外部信号 xff0c 利用DMA接收 xff0c 实现外部到内存的传输 通过分析其它文章的代码 xff0c 大概如下 xff1a span class token comment 配置 DMA Stream
  • 5分钟带你从数据类型了解Java相比C/C++有什么优势

    数据类型是一门语言的血肉 xff0c 通过这5分钟的浏览 xff0c 只学过C C 43 43 的小伙伴会初步了解Java的一些特性 xff0c 学过一点Java的朋友在读完这篇文章后也一定会对Java的语法规范有更深刻的了解 Java数据
  • 备赛电赛学习硬件篇(一):电机部分

    目录 一 电机选型 二 电机的正反转 xff0c 刹车 一 电机选型 1 电机类型 无刷电机较贵 xff0c 但是静音且损耗小 xff0c 由于霍尔元件的特殊性 xff08 不带霍尔需要转速高的时候才可以利用反电动势准确确定转子的位置 xf
  • 【总线】一文看懂RS232和RS485通信总线

    目录 RS232概述 RS232特性 RS485 概述 RS485 特性 RS232 和 RS485 的区别 区别总结 RS232概述 RS 232接口符合电子工业联盟 xff08 EIA xff09 建立的串行数据通信接口标准 原始编号是
  • 【C++学习笔记】vector构造函数

    文章目录 1 vector构造函数说明 xff1a 2 实战 xff1a 2 1 vector构造函数代码示例2 2 输出 3 参考资料 1 vector构造函数说明 xff1a span class token keyword templ
  • 请求报文/相应报文

    一 请求报文分为4个部分 请求行 请求头 请求空行 请求体 1 1 请求行 主要是3个部分 GET 请求方式 1 2 请求地址 所带的参数 demo demo php userName 61 E6 9D 8E E5 9B 9B amp us
  • python+requests——高级用法——auth认证

  • C语言char指针的使用

    在c语言中 xff0c char指针不仅能指向char变量 xff0c 还能指向常量字符串 xff0c 同时也能指向一个char数组的 想要访问单个字符 xff0c 就要通过 来进行解引用 xff0c 若是要访问整个数组或字符串的话 xff