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;
}

你可以看出ps1g的位置距离很近, 而和ps2相隔很远, 可以看出他们的确是被存储在不同的内存空间中的。

趣学 C 语言(四)—— 字符串与字符数组相关推荐

  1. C语言中字符串和字符数组的区别

    C语言中字符串和字符数组的区别 1.基本概念 2.代码分析 3.总结 1.基本概念 字符串和字符数组很相似,但是有本质上的区别. (1) C语言中,字符串是双引号括起来的单个或多个字符的集合,编译器自 ...

  2. C++语言篇 字符串及字符数组练习

    01:统计数字字符个数 描述 输入一行字符,统计出其中数字字符的个数. 输入 一行字符串,总长度不超过255. 输出 输出为1行,输出字符串里面数字字符的个数. 样例输入 Peking Univers ...

  3. C语言关于字符串和字符数组的题目(差别)

    1.题目: 已有定义:char a[]="she",b[]={'s','h','e'};,以下叙述中正确的是(  )   C A)数组a和b的长度相同      B)a数组长度小于 ...

  4. C语言定义字符串和字符数组

    #include<stdio.h> int main(){ char cArray[] = {'I', 'L', 'O', 'V','E', 'C'}; char sArray[] = & ...

  5. (C/C++学习)15.C语言字符串和字符数组

    说明:在C语言中字符串和字符数组有很多相似之处,却又有着一些不同.本文将针对其区别与联系,进行分析总结. 一.字符串 1.在C语言中,字符串是由双引号括起来的任意字符序列,如:"china& ...

  6. C语言之字符串探究(一):字符串与字符数组

    相关博文:C++之char和string字符串类探究 相关博文:C语言之数组探究(一):定义.大小.初始化.访问和三要素 相关博文:C语言之字符串探究(一):字符串与字符数组 相关博文:C语言之字符串 ...

  7. Swift解读专题四——字符串与字符

    2019独角兽企业重金招聘Python工程师标准>>> Swift解读专题四--字符串与字符 一.引言 Swift中提供了String类型与Characters类型来处理字符串和字符 ...

  8. 【C语言进阶深度学习记录】二十六 C语言中的字符串与字符数组的详细分析

    之前有一篇文章是学习了字符和字符串的,可以与之结合学习:[C语言进阶深度学习记录]十二 C语言中的:字符和字符串 文章目录 1 字符串的概念 1.1 字符串与字符数组 1.2 字符数组与字符串代码分析 ...

  9. c语言中字符串数组应用,C语言中字符变量字符串和字符数组应用.doc

    C语言中字符变量字符串和字符数组应用 字符变量(type`char`?字符串(string)和字符数组(type`char`arrary)是C语言中非常重要的结构成分,也是应用编程中常发生混淆?导致错 ...

  10. 【C】C语言数组与字符串(包括:字符串与字符数组)

    在程序设计中,为了方便处理,通常把具有相同类型的若干变量按有序的形式组织起来.这些按序排列的同类数据元素的集合称为数组.在C语言中,数组属于构造数据结构.一个数组可以分解成多个数组元素,这些数组元素可 ...

最新文章

  1. Dapper学习笔记(3)-增、删、改、查
  2. MySQL笔记12:C语言访问MYSQL数据库的完整的代码例子
  3. WIN7无法记住远程登录密码
  4. Python学习笔记 (1)Hello World(环境搭建+输出Hello World!)...
  5. Python基础教程:函数及其参数
  6. php常用操作数组函数,PHP自带的几个实用的数组函数
  7. 力扣算法001_两数之和
  8. atitit.eclipse有多少api  扩展点,以及扩展点的设计
  9. java 英文题_java英文试题
  10. python libusb_使用python开发usb的两种方式(windriver与pyusb)
  11. TKG 1.5.1 的 BYOH 集群部署
  12. python 绘图及可视化
  13. SAP系统配置SMPT邮箱
  14. ffmpeg介绍与命令行基本用法
  15. 湖北刷脸支付:中国银联联合商业银行推出“刷脸付”产品
  16. 搞清楚C语言的网络函数族hton ntoh 以及大小端记忆法
  17. catia如何画花键_CATIA花键绘制万向节的装配及螺纹绘制
  18. Postman高级应用(5):再也不用注释签名代码了——自动生成签名
  19. 打不开我的电脑 显示服务器,我的电脑服务器打不开。怎么办?
  20. 关于openlayers图层的放大缩小以及中心坐标

热门文章

  1. 广州电子厂房净化工程_医药厂房净化车间工程验收,怎么测定风速风量和换气次数?...
  2. Mysql 引优化分析
  3. 储存服务器装什么系统,存储服务器是什么操作系统
  4. 荆楚理工学院计算机科学专业,荆楚理工学院计算机科学与技术专业2016年在湖北理科高考录取最低分数线...
  5. Numpy——数组合并
  6. 浅谈C/C+内存管理、内存泄漏、堆栈
  7. 初探队与广度优先搜索
  8. 巧妇难为无米之炊 走出软件测试的困境
  9. 问题记录 | 记录PIL中Image.save的一个坑
  10. [日常] 最近的一些破事w...