开发者社区 人工智能 文章 正文

用字符串常量给字符数组赋值过程分析

简介: 引语:用字符串常量给字符数组赋值过程分析,涉及到数据在内存的分配情况,做一个分析! 一、测试案例,假设在某一个函数内部 测试代码段: char a[] = "abcd12";     printf("len = %d\n",strlen(a));     ...

引语:用字符串常量给字符数组赋值过程分析,涉及到数据在内存的分配情况,做一个分析!


一、测试案例,假设在某一个函数内部

测试代码段:


  1. char a[] = "abcd12";
  2.     printf("len = %d\n",strlen(a));
  3.     int len = 0;
  4.     int i = 0;
  5.     while(1)
  6.     {
  7.         if(a[i] != '\0')
  8.         {
  9.             len++;
  10.             i++;
  11.         }
  12.         else if(a[i] == '\0')
  13.         {
  14.             len++;
  15.             printf("array len = %d\n",len);
  16.             break;
  17.         }
  18.     }


运行效果:


  1. [root@localhost printTotxt]# ./rondom_create_score
  2. len = 6
  3. array len = 7

 

二、案例分析

image

图 字符串给字符数组赋值过程


1、字符串给字符数组的长度问题:

从案例代码可以看出,字符数组的长度是字符串+’\0’结束符;

而使用strlen(str),取得的是净字符串的长度,不包括’\0’。

2、字符串常量给字符数组赋值:

从上图,给数组a[]赋值时,是从文字常量区拷贝一个”abcd12”的副本给a[],然后系统自动加上’\0’结束符。

 

附:strlen的功能实质

strlen所作的仅仅是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符'\0'为止,然后返回计数器值。

长空翱翔
目录
相关文章
1111111111111111111111
|
6天前
|
存储 C语言 索引
怎样引用字符数组中的元素
在编程中,字符数组是一种常用的数据结构,用于存储一系列字符。引用字符数组中的元素,即访问数组中的特定位置的数据,是编程中的基本操作之一。本文将介绍如何引用字符数组中的元素,并附上相应的代码示例。
1111111111111111111111
10 0
1111111111111111111111
|
6天前
|
存储 C语言 索引
怎样定义字符数组
字符数组是C语言和其他一些编程语言中用于存储字符序列的数据结构。字符数组可以存储一个或多个字符,并通过索引访问每个字符。下面我们将详细解释如何定义字符数组,并附上相应的代码示例。
1111111111111111111111
16 0
1111111111111111111111
|
6天前
|
存储
字符数组的初始化
在编程中,字符数组是用来存储一系列字符的变量类型。字符数组通常用于存储字符串,字符串是字符的序列。在使用字符数组之前,我们需要对其进行初始化,以分配内存空间并设置初始值。下面将详细介绍字符数组的初始化方法,并附上相应的代码示例。
1111111111111111111111
16 2
早點睡.
|
7天前
|
C语言
深入理解字符串引用与操作
深入理解字符串引用与操作
早點睡.
11 0
清野1
|
17天前
|
C语言
字符串的引用
字符串的引用
清野1
13 0
C4.
|
16天前
|
存储 程序员 C语言
C语言中如何通过指针引用字符串
C语言中如何通过指针引用字符串
C4.
10 0
L.....
|
2天前
|
存储 算法 C语言
引用字符数组中的元素
引用字符数组中的元素
L.....
9 1
L.....
|
2天前
|
存储 程序员 C++
使用字符指针变量和字符数组的比较
使用字符指针变量和字符数组的比较
L.....
8 1
邻居..
|
9天前
|
JavaScript 前端开发 Java
字符串的引用方式
字符串的引用方式
邻居..
9 0
高高的胖子
|
8月前
|
C语言
C语言:使用函数完成整型数组的打印、元素逆置、初始化
思路: 总体思路: (一). 实现 函数init() -- 初始化数组为全0 (二). 实现 函数print() -- 打印数组的每个元素 (三). 实现 函数reverse() -- 函数完成数组元素的逆置 (四). 完成 主函数 的编写 -- 测试这三个函数
高高的胖子
143 0

热门文章

最新文章

  • 1
    HTTPDNS域名解析场景下如何使用Cookie?
  • 2
    win10下vscode配置c语言环境
  • 3
    数据中台交付专家告诉你,数据架构的分层怎样更加合理?
  • 4
    Does Duplicate Target Database need Pre-existing DB backup?
  • 5
    初识webservice
  • 6
    Hammer.js分析(二)——manager.js
  • 7
    《C语言程序设计:问题与求解方法》——0.5节本章习题
  • 8
    【MySQL】性能优化之 order by (一)
  • 9
    java 工厂模式
  • 10
    访问 Internet Explorer 中的网页时,收到"操作已中止"错误消息
  • 1
    【C/C++ 序列化 】深入探索 Boost 序列化:从理论到实践的全面指南
    51
  • 2
    C++ 创建兼容多个IPC机制的上层接口
    13
  • 3
    深入理解C++中的std::chrono库:持续时间的比较与应用
    27
  • 4
    C++数据结构设计:理解并选择策略模式与模板特化
    33
  • 5
    软件开发深度解析:从设计到单元构建
    39
  • 6
    深入理解C++编译模式:了解Debug和Release的区别
    40
  • 7
    【C/C++ 泛型编程 高级篇】现代 C++ 中的就地构造:理解和应用 Args&&... args
    46
  • 8
    【C/C++ 泛型编程 进阶篇】C++模板推导的迷宫:导致编译错误的原因及其解决策略
    34
  • 9
    【C/C++ CommonAPI入门篇】从 Franca IDL 到 C++: 深入解析汽车软件接口开发
    58
  • 10
    定制化IDL文件设计:面向具体需求的接口定义方法
    48
  • 相关产品

  • 机器翻译
    文档详情 产品详情
  • 工业大脑
    文档详情 产品详情
  • 相关电子书

    更多
  • 低代码开发师(初级)实战教程
  • 冬季实战营第三期:MySQL数据库进阶实战
  • 阿里巴巴DevOps 最佳实践手册
  • 相关实验场景

    更多
  • 函数类型-3:函数重载
  • 常见类型-3:数组元组的方法
  • 下一篇
    阿里云学生服务器免费用半年_1个月加6个月_学生验证

    天下网TXWEB江门市seo排名多少钱郑州网站改版价格三沙网站推广哪家好泉州优化哪家专业温州网站推广报价长沙关键词排名价格沈阳市阿里店铺运营报价北京做网站价格金华市网页设计哪家专业徐州seo按天计费哪家好常德市网站改版报价芜湖市企业网站改版哪家好广安市网站制作公司肇庆市网站建设推荐白城市企业网站设计报价益阳市品牌网站设计价格济南市营销网站建设哪家好坂田网站开发哪家好佛山市营销网站建设公司咸宁市seo排名报价泸州市网站设计哪家好伊春seo优化价格衢州网站定制多少钱长春网站推广推荐本溪市模板网站建设公司兴安盟做网站多少钱邢台市建站哪家好中山市关键词排名公司吉安网站定制固原市企业网站设计哪家好香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

    天下网TXWEB XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化