位置: IT常识 - 正文

C++指针与其它复合类型(c++如何给指针赋值)

编辑:rootadmin
C++指针与其它复合类型

目录

前言:

1.指针与字符串

1.1cout接收char类型的地址的反应

1.2字符串字面值

1.3字符串备份

2.使用new创建动态结构

3.使用new和delete搭配存储键盘输入的字符串


前言:

推荐整理分享C++指针与其它复合类型(c++如何给指针赋值),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:c++中的指针,c++指针用处,c++指针举例,c++中的指针怎么理解,c++ 指针的指针,c++ 指针 赋值,c++指针和c指针不同,c++指针操作符,内容如对您有帮助,希望把文章链接给更多的朋友!

  指针我们已经知道如何使用了,也知道指针和数组配合起来使用,这次我们来讲讲指针与字符串,以及指针和动态结构的一些知识。

1.指针与字符串1.1cout接收char类型的地址的反应

  我们知道字符数组的数组名是首字符的地址,当我们用cout工具来显示字符数组里的字符串的时候,无疑是把首地址传给cout了。cout将顺着这个地址依次往下打印,当它遇到字符串的结束标志时,就停下来不打印了。

  所以我们就知道,cout在打印字符串的时候,接收的是一个字符的地址,并认为我们是要它打印一个字符串,为了与cout对字符串输出的处理保持一致,引号括起来的字符串也应当是一个地址。

1.2字符串字面值

  双引号括起来的字符串是常量字符串,是一个不能被修改的值,一般出现在用字符指针来接收常量字符串的首字符地址。但我们知道,字符串还可以给字符数组初始化,但内容可以被修改,大家注意区分。

  对bird指针进行const修饰,使得代码更加健壮,当发现错误时,主动抛出错误。

C++指针与其它复合类型(c++如何给指针赋值)

  对指向常量字符串的字符指针进行输入是错误的:

有些编译器将字符串字面值视为只读常量,如果修改了它们,编译器将会报错。在C++中,字符串字面值都被视为常量,而有一些编译器并没有改过来,仍可以对其进行修改。有些编译器只使用一个字符串字面值副本来为程序使用。

  补充:C++不能保证字符串字面值被唯一得存储。

1.3字符串备份

  

  怎么将一个字符串给存起来呢?首先我们可以想到用数组,但这个数组如果是静态的话缺点很多,所以我们考虑用new创建一个动态数组,将其地址返回个一个字符指针管理更好。

  在C++中strlen、strcpy的头文件是<cstring>,使用方法和C语言里的一样。

  这里还需要首的一点就是在开辟动态数组时,元素个数的确定+1的问题。因为我们计算字符串长度的时候,空字符是不算内容的,但表示一个字符串,结尾必须有空字符,我们加上这个单位空间,就是给空字符留的。

2.使用new创建动态结构

 创建动态结构和前面的都很相似,我注释里说明清楚啦,这里就不再赘述啦。

  关于为动态结构成员赋值,我们需要使用cin和cin.get()工具分别为变量和字符数组赋值,这一点很重要。可不敢直接像C一样p->name = "张三";如果不是很懂cin.get()请跳转:

链接:《认识C++字符串符合类型》

  而如何访问到结构成员呢?首先p是一个指向结构体的指针,指针通过箭头操作符可以轻松访问到结构体成员。这里读者可能也很好奇,为啥没有结构名称的结构体可以通过(*p).成员名来访问。博主经过一番学习,总结经验,认为是因为内存单元是唯一性的原因。我们知道,两个没有名称的结构体,即使成员一模一样,在

本文链接地址:https://www.jiuchutong.com/zhishi/299652.html 转载请保留说明!

上一篇:【机器学习面试总结】————(一)

下一篇:使用Python批量旋转,镜像图片(python 批量)

  • 先付款后签合同 法律效力
  • 代扣代缴附加税减免
  • 以前未入账固定资产补入账涉及的房产税
  • 经纪代理代订机票电了发票如何入账
  • 自然人管理系统银行信息
  • 以前年度损益调整会计分录
  • 收益性支出应计入产品成本对吗
  • 用友软件销售操作流程
  • 金税三期收费吗
  • 京东预付定金是什么意思
  • 基金申购费有下限吗
  • 工资发多了需要退回吗
  • 土地储备机构也称为什么
  • 月末结转所有收入类账户
  • 企业理财产品收益要交企业所得税吗
  • 国企不交社保怎么办
  • 企业如何申请定增资金
  • 外贸公司发票过期怎么办
  • 企业税前扣除凭证包括以下哪些方面
  • 怎样预交增值税
  • 增值税发票的基数是什么
  • 固定资产提前报废需要补提折旧吗
  • 子公司与总公司的关系说明书
  • 企业管理可以开什么明细发票
  • 进项税额转出月底如何结转
  • 职工教育经费的扣除限额
  • 给对方发短信显示imessage
  • 有限公司注册资本500万就真的有500万吗
  • 前端vue实现预览excel
  • php常用的开发工具
  • mac如何修改
  • 中秋购物
  • 公司缴纳的契税怎么查询
  • 怎么登记总分类账簿
  • 乌尤尼盐沼的演化过程
  • php中常量与变量的区别
  • 废旧物资经营单位增值税税率
  • 银行结算方式有哪几种方式?其具体内容是什么?
  • html作业做网页
  • 差旅费包干是什么意思
  • dedecms使用教程
  • mysql主要支持哪些数据类型?
  • 装卸搬运服务属于劳务吗
  • 零申报年报
  • sql server如何删除
  • 个人独资企业增值税免征额
  • 法人股东的分红怎么算
  • 去年少交的增值税可以和今年的合并吗
  • 去年的成本发票做错了需要补税吗
  • 销售折扣可以开红字专票吗
  • 营改增后计算土地增值税收入公式
  • 购买土地支付的印花税账务处理
  • 研究费用怎么做账
  • 递延收益在资产负债表哪里列示
  • 研发样品是什么费用
  • 购买银行承兑汇票现金流量表怎么填
  • 排污费主要用于哪些方面
  • 交易性金融资产公允价值变动计入
  • 如何看xp系统
  • 怎样一键重装
  • windows xp死亡倒计时
  • linux环境和常用命令
  • 如何设置win10系统输入法
  • winxp网络设置在哪
  • linux怎么禁用命令
  • linux中vi命令详解
  • 怎么看清水印
  • ExtJS Ext.MessageBox.alert()弹出对话框详解
  • android substrate
  • jquery源码分析
  • js实现二叉查找树
  • android网络框架okhttp
  • android系统设置
  • brook javascript框架介绍
  • 最新设立税务师事务条件
  • 国地税合并人员瘦身
  • 事业单位大额资金拨付需要什么报账材料
  • 地税服务大厅上班时间
  • 汽车装潢业务是干什么的
  • 改革概念股是什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设