C语言中字符数组的初始化与赋值

发布时间:2026/9/23 7:18:08

C语言中字符数组的初始化与赋值 1.字符数组初始化在C语言中字符串是当做字符数组来处理的所以字符串有两种声明方式一种是字符数组一种是字符指针。char parr[] zifuchuanshuzu; char charr[] { z,i,f,u,c,h,u,a,n,s,h,u,z,u };这是字符数组初始化的两种方式但是这两种方式其实是不等价的他们的数组长度不同。#include int main() { char parr[] zifuchuanshuzu; //与charr[]不等价 char charr[] { z,i,f,u,c,h,u,a,n,s,h,u,z,u }; //等价于charr[] char charr_test[] { z,i,f,u,c,h,u,a,n,s,h,u,z,u ,\0}; int num_parr sizeof(parr); int num_charr sizeof(charr); int num_charr_test sizeof(charr_test); printf(The parr[] is : %s\n, parr); printf(The size of parr[] is : %d\n\n, num_parr); //与charr[]不等价 printf(The charr[] is : %s\n, charr); printf(The size of charr[] is : %d\n\n, num_charr); //等价于charr[] printf(The charr_test[] is : %s\n, charr_test); printf(The size of charr_test[] is : %d\n, num_charr_test); return 0; }运行结果如图从结果可以看到第二种初始化方式打印的结果有问题但是字符数量没有问题。这是因为字符串默认是以’\0’结束的第二种初始化方式中没有’\0’,而我们以字符串方式打印所以出错第一种第一方式是系统自动添加了’\0’;我们可以看到其字符数量是15与第三种相同。下面的初始化方式是错误的char parr[15]; parr[]zifuchuanshuzu;错误的原因C语言并没有提供可以直接操作字符串的运算符“”可以用于其他数据类型的赋值但是不可以直接给字符串赋值。char *strcpy(char *dest,const char*src);头文件string.h和stdio.h功能将src地址开始且包含’\0’结束符的字符串复制到以dest开始的空间。注字符数组dest必须是数组名形式src可以是数组名也可以是字符串常量可以用strcpy将src的前若干个字符复制到字符数组中char *strcat(char *dest,const char *src);头文件string.h功能把src中的内容复制到dest结尾处(覆盖’\0’)。注src和dest内存区域不可以重叠dest必须有足够的空间来容纳src字符数组dest必须是数组名形式src可以是数组名也可以是字符串常量返回指向dest的指针#include #include int main() { //利用strcpy为字符数组赋值 char parr[40]; strcpy(parr,zifuchuanshuzu); printf(The parr[] is : %s\n\n, parr); //赋值字符串的一部分 char charr[] _test_strcat_redundance; char tarr[13]; charr[12] \0;//复制charr的前12个字符 strcpy(tarr, charr); printf(The tarr[] is : %s\n\n, tarr); //字符串链接 strcat(parr, charr); printf(The parr and tarr[] is : %s\n, parr); return 0; }结果2.字符指针在C语言中我们也可以使用字符指针来存储字符串。char* strzifuchuanshuzu;C语言对字符串常量是按照字符数组来处理的在内存中开辟了一个字符数组用来存放字符串常量程序在定义字符串指针变量str时只是把字符串首地址赋值给str。输出printf(%s\n,str);系统首先输出str指向的字符而后自加1直至遇到’\0’;与数组的输出方式相同。char *str; strzifuzhizhen;对于字符指针这种赋值方式是正确的。与字符数组不同。3.总结 以上是个人理解有错误的地方欢迎指正。
延伸阅读

更多相关文章

2026/9/22 0:16:39

15分钟搞定黑苹果:OpCore-Simplify图形化配置工具全攻略

15分钟搞定黑苹果:OpCore-Simplify图形化配置工具全攻略 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 还在为复杂的黑苹果配置而烦恼吗&…

2026/9/19 22:36:22

9种字重的免费开源几何无衬线字体:Outfit字体完整指南

9种字重的免费开源几何无衬线字体:Outfit字体完整指南 【免费下载链接】Outfit-Fonts The most on-brand typeface 项目地址: https://gitcode.com/gh_mirrors/ou/Outfit-Fonts Outfit字体是一款专业的免费开源几何无衬线字体,专为现代数字设计和…

2026/9/23 7:17:38

C/C++/Python/C#/Java/仓颉怎么选?十年开发经验一次讲透

1. 内容整体设计与思路拆解1.1 为什么总有人纠结“学哪门语言”我做了十多年开发,被问得最多的一个问题不是“某个bug怎么解决”,而是“我到底该学哪门语言”。每次看到新手在论坛上发帖问“C语言、C、Python、C#、Java到底选哪个”,底下评论…

2026/9/23 7:17:38

微信绑定QQ后果严重:3个性能优化坑与标准答案

微信绑定QQ后果严重:3个性能优化坑与标准答案 盯着屏幕上一长串红色的 StackTrace,你是不是也头大如斗?那些看似天书的报错信息,其实藏着最致命的性能优化陷阱。别慌,今天我们把【微信绑定QQ后果严重】这个高频面试题拆碎了讲,带你避开…

2026/9/23 7:17:38

传音控股2025业绩预测:营收增长与利润下滑解析

1. 传音控股业绩预测深度解析2025年对于任何一家科技企业都是关键的战略窗口期。传音控股最新披露的业绩预测显示:预计2025年营收将达到656亿元,但净利润25亿元的数据却同比下滑54%。这组看似矛盾的数字背后,隐藏着智能手机行业怎样的发展逻辑…

2026/9/23 7:17:38

从零搭建本地多模态AI创作工作台:文本图片音频视频全离线实战

开头本地AI和多模态这两个词,今年算是彻底火出圈了。我自己从去年开始就把主力创作工具从在线服务逐步切到本地部署,到现在文本、图片、音频、视频四条线全部跑在本地模型上。说实话,整套方案搭完之后,最大的感受就是你终于不用再…

2026/9/23 7:17:38

科研论文写作必备工具全攻略

1. 论文写作工具全景解析作为一名经历过硕士论文和多次期刊投稿的科研民工,我深刻理解学术写作过程中的痛点。从文献收集到格式调整,从查重降重到参考文献排版,每个环节都消耗着研究者宝贵的时间和精力。今天我要分享的这9款工具,…

2026/9/23 7:12:37

大厂老员工回流,30万离职赔偿金该不该退?一份决策框架

1. 先把这个选择题翻译成人话:你面临的到底是什么前两天有个读者给我发私信,原话是这样的:“博主,我今年40岁,之前在一家头部互联网公司干了10年,月薪2万,前几年被裁的时候拿了30万赔偿金。现在…

2026/9/22 10:02:42

GAMP 5 基于风险的计算机化系统验证:软件分类与审计追踪实践

简介:《A Risk-Based Approach to Compliant GxP Computerized Systems》即业内熟知的GAMP 5指南,面向制药企业质量与IT合规人员、验证工程师及计算机化系统管理者,用于解决GxP法规环境下系统合规性难以科学落地的问题。文档以风险管理为主线…

2026/9/22 9:07:39

安全托管MSSP实战:从静态防御到人机协同的攻防运营与应急响应

简介:这份PPT围绕互联网业务安全托管服务展开,面向企业安全负责人、IT运维人员及关注MSSP/MSS选型的读者,重点回应传统安全过度依赖人工、碎片化静态防御难以对抗产业化攻击等痛点。资源共1个pptx文件,包体约30.63MB,以…

2026/9/23 0:01:54

3个实战技巧搞定形式英语:从看教程到跑通性能优化

3个实战技巧搞定形式英语:从看教程到跑通性能优化 看了一堆教程还是不会写项目?别慌,这种“眼高手低”的困境在开发者圈子里太常见了。很多人以为卡点在语法,其实真正拦路虎是缺乏将知识点串联成完整链路的能力。今天咱们不聊虚的,直接拿【形式英语】这…

2026/9/22 16:34:32

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/22 20:01:30

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/22 13:25:41

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码