[面试] C/C++语法(三)—— 字符串
1. C 字符串的类型
"hello"
即为 C 风格字符串;
使用 typeid 关键字查看
std::cout << typeid("hello").name() << std::endl;
输出为:
char const [6]
:长度为6(\0
)的字符数组
2. 以’\0’结尾
char str[10];
strcpy(str, "0123456789");// "0123456789":长度其实是11// 所以,拷贝不会成功
char str[10] = "hello";// str[0] == h// ...// str[4] == o// str[5] - str[9] == \0
3. 常量字符串
为了节省内存,C/C++ 把常量字符串放到单独的一个内存区域。
当几个指针赋给相同的常量字符串时,它们实际上会指向相同的内存地址;
用常量内存初始化数组,情况会略有不同。
char str1[] = "hello world";
char str2[] = "hello world";// str1 ≠ str2
char* str3 = "hello world";
char* str4 = "hello world";// str3 == str4
str1 和 str2 是两个字符串数组(char[]),我们会为它们分配两个长度为 12 个字节的空间,并把"hello world"的内容分别复制到数组中去。显然这是两个初始地址不同的数组,因此 str1 和 str2 的值也不相同。
str3 和 str4 是两个指针,我们无需为它们分配内存以存储字符串的内容,而只需要把它们指向“hello world”在内存中的地址就可以了。由于"hello world"是常量字符串,它在内存中只有一个拷贝。
[面试] C/C++语法(三)—— 字符串相关推荐
- python语法(三)字符串
字符串 1.字符串的定义 2.转义字符 3.格式化输出 4.输入 5.字符串的切片 6.字符串函数 1.字符串的定义 -单引号定义:'123' -双引号定义:"456987" 什么 ...
- 面试被问了三次的http状态码到底有什么
面试被问了三次的http状态码到底有什么 想想很多人面试都会有被问到http的状态码的经历,我也是经历了三面,每次都在问这个问题.今天就来细致的讨论一下HTTP的状态码,如有不足,欢迎留言交流: HT ...
- (79)FPGA如何处理跨时钟域问题-面试必问(三)(第16天)
(79)FPGA如何处理跨时钟域问题-面试必问(三)(第16天) 1 文章目录 1)文章目录 2)FPGA初级课程介绍 3)FPGA初级课程架构 4)FPGA如何处理跨时钟域问题-面试必问(三)(第1 ...
- 互联网面试知识点总结(三)- 计算机网络篇
互联网面试知识点总结(三)- 计算机网络篇 ******************************* 概 述 ******************************* 一. OSI七层模型 ...
- 前端面试查漏补缺--(三) 跨域及常见解决办法
前言 本系列最开始是为了自己面试准备的.后来发现整理越来越多,差不多有十二万字符,最后决定还是分享出来给大家. 为了分享整理出来,花费了自己大量的时间,起码是只自己用的三倍时间.如果喜欢的话,欢迎收藏 ...
- 【Groovy】Groovy 方法调用 ( 字符串切割 | 使用 Java 语法切割字符串 | 使用 Groovy 语法切割字符串直接为变量赋值 | 数组赋值给变量 变量个数小于等于数组长度 )
文章目录 一.字符串切割 1.使用 Java 语法切割字符串 2.使用 Groovy 语法切割字符串直接为变量赋值 3.数组赋值给变量 变量个数小于等于数组长度 二.完整代码示例 一.字符串切割 在 ...
- [Python学习] 专题三.字符串的基础知识
在Python中最重要的数据类型包括字符串.列表.元组和字典等.该篇主要讲述Python的字符串基础知识. 一.字符串基础 字符串指一有序的字符序列集合,用单引号.双引 ...
- JAVA面试常考系列三
转载自 JAVA面试常考系列三 题目一 什么是迭代器(Iterator)? 迭代器(iterator)是一种对象,它能够用来遍历标准模板库容器中的部分或全部元素,每个迭代器对象代表容器中确定的地址.迭 ...
- Pocket英语语法---三、英语动词的特点是什么
Pocket英语语法---三.英语动词的特点是什么 一.总结 一句话总结:即表示时间(时态),又表示人数(单复数) 1.第十七讲,不定量表达法? 1.a few为肯定含义几个,few为否定含义没几个, ...
- 三分钟计算机自我介绍面试,三分钟面试自我介绍【三篇】
[导语]自我介绍是向别人展示你自己的一个重要手段,自我介绍好不好,甚至直接关系到你给别人的第一印象的好坏及以后交往的顺利与否.同时,也是认识自我的手段.以下是无忧考网整理的三分钟面试自我介绍,欢迎阅读 ...
最新文章
- s-sar命令(System Activity Reporter系统活动情况报告)
- 网络编程--connect()、listen()、accept()
- 51单片机系列——基础指令
- .NET Core中Object Pool的简单使用
- scrapy 去重策略修改
- 烟台大学计算机学院宋宜斌教授,宋宜斌
- java.lang.IllegalArgumentException at java.sql.Date.getHours
- 智力问答选择题_智力问答:智力题大全及答案
- Vue中阿里图标的使用
- java倍数增长计算公式,增长倍数计算公式是什么
- 计算机网络(2.11)物理层- 宽带接入技术-光纤同轴混合网 (HFC网)
- 【工控老马】MODBUS通讯协议及编程详解
- IE8 访问https安全证书错误;导航阻止 解决办法 《转》
- android图片:多选相册的实现
- Chrome浏览器安装本地插件
- CentOS7-安装防火墙
- 为什么曾经优秀的老员工被辞退了?
- 【BUUCTF】Crypto题解
- 解决myeclipse破解运行后出现的security alert:integrity check error
- 数据化运营chapter3_code--数据处理
热门文章
- 2005 mysql连接字符串_怎么用c#远程连接sql server2005,连接字符串怎么写
- ide循环执行用例 selenium_使用Selenium测试Web界面时使用循环控制功能
- offset函数的高级用法_数据验证(数据有效性)结合Offset函数 的综合用法
- 两个实际任务掌握图像分类【Keras】(转)
- TensorFlow 中的 tf.train.exponential_decay() 指数衰减法
- lvm硬盘管理及LVM扩容
- 【Linux 命令】- tail命令
- BZOJ 4011 HNOI2015 落忆枫音
- js制作带有遮罩弹出层实现登录小窗口
- android 选择多选图片