趣学 C 语言(四)—— 字符串与字符数组
char *ps1 = "hello";// 字符串// ps1 ⇒ 类型为 char*// const char *
char ps2[] = "hello";// 字符串// ps2 ⇒ 类型为 char[6]// char* const
两者最根本的区别在于,ps1
指向的这个字符串是个常量, 不可改变,程序在编译期间就为"hello"
这个字符串分配了固定的空间,它被存储在全局静态区中。
而ps2
是个变量, 其内容可以被更新和改变, ps2
可以理解为一个不可改变其指向位置的指针, 即char * const ps2
, 它所占用的内存在程序运行时被自动分配和释放, 而p1
占用的内存要等到整个程序结束时才被释放。
#include <stdio.h>
int g; // 存储在全局静态区
int main()
{char* ps1 = "hello"; // 和g一样char ps2[] = "hello"; // 堆栈中printf("%x %x %x", &g, p1, p2);return 0;
}
你可以看出ps1
和g
的位置距离很近, 而和ps2
相隔很远, 可以看出他们的确是被存储在不同的内存空间中的。
趣学 C 语言(四)—— 字符串与字符数组相关推荐
- C语言中字符串和字符数组的区别
C语言中字符串和字符数组的区别 1.基本概念 2.代码分析 3.总结 1.基本概念 字符串和字符数组很相似,但是有本质上的区别. (1) C语言中,字符串是双引号括起来的单个或多个字符的集合,编译器自 ...
- C++语言篇 字符串及字符数组练习
01:统计数字字符个数 描述 输入一行字符,统计出其中数字字符的个数. 输入 一行字符串,总长度不超过255. 输出 输出为1行,输出字符串里面数字字符的个数. 样例输入 Peking Univers ...
- C语言关于字符串和字符数组的题目(差别)
1.题目: 已有定义:char a[]="she",b[]={'s','h','e'};,以下叙述中正确的是( ) C A)数组a和b的长度相同 B)a数组长度小于 ...
- C语言定义字符串和字符数组
#include<stdio.h> int main(){ char cArray[] = {'I', 'L', 'O', 'V','E', 'C'}; char sArray[] = & ...
- (C/C++学习)15.C语言字符串和字符数组
说明:在C语言中字符串和字符数组有很多相似之处,却又有着一些不同.本文将针对其区别与联系,进行分析总结. 一.字符串 1.在C语言中,字符串是由双引号括起来的任意字符序列,如:"china& ...
- C语言之字符串探究(一):字符串与字符数组
相关博文:C++之char和string字符串类探究 相关博文:C语言之数组探究(一):定义.大小.初始化.访问和三要素 相关博文:C语言之字符串探究(一):字符串与字符数组 相关博文:C语言之字符串 ...
- Swift解读专题四——字符串与字符
2019独角兽企业重金招聘Python工程师标准>>> Swift解读专题四--字符串与字符 一.引言 Swift中提供了String类型与Characters类型来处理字符串和字符 ...
- 【C语言进阶深度学习记录】二十六 C语言中的字符串与字符数组的详细分析
之前有一篇文章是学习了字符和字符串的,可以与之结合学习:[C语言进阶深度学习记录]十二 C语言中的:字符和字符串 文章目录 1 字符串的概念 1.1 字符串与字符数组 1.2 字符数组与字符串代码分析 ...
- c语言中字符串数组应用,C语言中字符变量字符串和字符数组应用.doc
C语言中字符变量字符串和字符数组应用 字符变量(type`char`?字符串(string)和字符数组(type`char`arrary)是C语言中非常重要的结构成分,也是应用编程中常发生混淆?导致错 ...
- 【C】C语言数组与字符串(包括:字符串与字符数组)
在程序设计中,为了方便处理,通常把具有相同类型的若干变量按有序的形式组织起来.这些按序排列的同类数据元素的集合称为数组.在C语言中,数组属于构造数据结构.一个数组可以分解成多个数组元素,这些数组元素可 ...
最新文章
- Dapper学习笔记(3)-增、删、改、查
- MySQL笔记12:C语言访问MYSQL数据库的完整的代码例子
- WIN7无法记住远程登录密码
- Python学习笔记 (1)Hello World(环境搭建+输出Hello World!)...
- Python基础教程:函数及其参数
- php常用操作数组函数,PHP自带的几个实用的数组函数
- 力扣算法001_两数之和
- atitit.eclipse有多少api 扩展点,以及扩展点的设计
- java 英文题_java英文试题
- python libusb_使用python开发usb的两种方式(windriver与pyusb)
- TKG 1.5.1 的 BYOH 集群部署
- python 绘图及可视化
- SAP系统配置SMPT邮箱
- ffmpeg介绍与命令行基本用法
- 湖北刷脸支付:中国银联联合商业银行推出“刷脸付”产品
- 搞清楚C语言的网络函数族hton ntoh 以及大小端记忆法
- catia如何画花键_CATIA花键绘制万向节的装配及螺纹绘制
- Postman高级应用(5):再也不用注释签名代码了——自动生成签名
- 打不开我的电脑 显示服务器,我的电脑服务器打不开。怎么办?
- 关于openlayers图层的放大缩小以及中心坐标
热门文章
- 广州电子厂房净化工程_医药厂房净化车间工程验收,怎么测定风速风量和换气次数?...
- Mysql 引优化分析
- 储存服务器装什么系统,存储服务器是什么操作系统
- 荆楚理工学院计算机科学专业,荆楚理工学院计算机科学与技术专业2016年在湖北理科高考录取最低分数线...
- Numpy——数组合并
- 浅谈C/C+内存管理、内存泄漏、堆栈
- 初探队与广度优先搜索
- 巧妇难为无米之炊 走出软件测试的困境
- 问题记录 | 记录PIL中Image.save的一个坑
- [日常] 最近的一些破事w...