C语言——字符数组

一、字符数组的定义

语言字符数组的定义是指在C语言中可以使用一组连续的字符来存储和处理字符串。在定义字符数组时,需要指定数组的大小,并且可以初始化数组的内容。

1、字符数组方式:

char str[] = "Hello,world!";

2、指针方式:

char *str = "Hello,world!";

注:使用字符数组定义字符串时,数组的长度应该比字符串的长度多1, 使用指针方式定义字符串时,指针变量指向了字符串常量的首地址,无需指定数组长度

代码示例:

#include <stdio.h>
#include <string.h>
int main()
{    //注:字符串的长度不算结束符'\0',但是存储空间包含结束符。//双引号结束有'\0'的标志,单引号没有。(注:单个数组单元所占内存字节,与变量类型有关)char d[] = "xyz";char a[] = {'a','b','\0','c','\0'};//初始化字符数组时,建议最后一个字符以'\0'结尾。防止乱码。char b[] = {"abcd"};//字符串初始化字符数组char c[] = "abcde";printf("%s\n",a);printf("sizeof(a):%lu\n",sizeof(a));printf("sizeof(b):%lu\n",sizeof(b));printf("sizeof(c):%lu\n",sizeof(c));printf("sizeof(d):%lu\n",sizeof(d));printf("strlen(a):%lu\n",strlen(a));//字符串长度(即有多少元素,不包括'\0')printf("strlen(b):%lu\n",strlen(b));printf("strlen(c):%lu\n",strlen(c));printf("strlen(d):%lu\n",strlen(d));printf("|%c|\n",32);return 0;
}

运行结果;

ab
sizeof(a):5
sizeof(b):5
sizeof(c):6
sizeof(d):4
strlen(a):2
strlen(b):4
strlen(c):5
strlen(d):3
| |

二、笔试难题

11、char szstr[10];
strcpy(szstr,“0123456789”);
产生什么结果?为什么?

赋值“0123456789”有11个字节的数据大小(包括'\0'),超过szstr数组内存存储空间,出现段错误。

程序报错提醒:

修改后代码;

#include <stdio.h>
#include <string.h>int main()
{char szstr[11];strcpy(szstr,"0123456789");printf("%s",szstr);return 0;
}

 运行结果;

0123456789

13、void main()
{
char aa[10];
printf(“%d”,strlen(aa));
}
会出现什么问题?打印结果是是多少?

输出结果可能为0,因为strlen()输出的是aa字符数组初始化后存储的字符数。

而sizeof()输出的是aa字符数组能够存储的最大字节数。

修改后代码示例:

#include <stdio.h>
#include <string.h>void main()
{char aa[10];printf("strlen(aa) = %d\n",strlen(aa));printf("sizeof(aa) = %d\n",sizeof(aa));char bb[10] = "162151";printf("strlen(bb) = %d\n",strlen(bb));
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/25526.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

目标检测数据集 - 垃圾桶满溢检测数据集下载「包含VOC、COCO、YOLO三种格式」

数据集介绍&#xff1a;垃圾桶满溢检测数据集&#xff0c;真实场景高质量图片数据&#xff0c;涉及场景丰富&#xff0c;比如城市道边垃圾桶满溢、小区垃圾桶满溢、社区垃圾桶满溢、农村道边垃圾桶满溢、垃圾集中处理点垃圾桶满溢、公园垃圾桶满溢数据等。数据集标注标签划分为…

c++ 里函数选择的优先级:普通函数、模板函数、万能引用,函数重载的常量左值引用、右值引用,编译器选择哪个执行呢?

看大师写的代码时&#xff0c;除了在类里定义了 copy 构造函数&#xff0c;移动构造函数&#xff0c;还定义了对形参采取万能引用的构造函数&#xff0c;因此有个疑问&#xff0c;这时候的构造函数优先级是什么样的呢&#xff1f;简化逻辑测试一下&#xff0c;如下图&#xff0…

【Vue】项目创建目录初始化

文章目录 vue-cli 建项目调整初始化目录结构 vue-cli 建项目 1.安装脚手架 (已安装) npm i vue/cli -g2.创建项目 vue create hm-shopping选项 Vue CLI v5.0.8 ? Please pick a preset:Default ([Vue 3] babel, eslint)Default ([Vue 2] babel, eslint) > Manually sel…

new RegExp(Reg).test(value)无效

目录 前沿 问题分析 eval 函数 # 定义和用法 # 语法 # 浏览器支持 # 实例 使用eval函数 优化 拓展 —— 要么旅行&#xff0c;要么读书&#xff0c;身体和灵魂必须有一个在路上。 前沿 之前写过一篇正则表达式的基础&#xff1a;http://t.csdnimg.cn/45Da3 今天继…

张霖浩在娱乐“名利场”玩出“修罗场”的贵族范儿

众所周知娱乐圈是个大型“名利场”&#xff01;近日&#xff0c;2025年北京广播电视台春晚发布会现场&#xff0c;众大咖汇聚&#xff0c;妆容、装扮、穿搭&#xff0c;更是争奇斗艳、八仙过海各显神通。同时&#xff0c;也揭露出娱乐圈当下穿搭界”修罗场”的残酷现实。在出彩…

AI智能体的分级

技术的分级 人们往往通过对一个复杂的技术进行分级&#xff0c;明确性能、适用范围和价值&#xff0c;方便比较、选择和管理&#xff0c;提高使用效率&#xff0c;促进资源合理分配和技术改进和标准化。 比如&#xff0c;国际汽车工程师学会&#xff08;SAE&#xff09;定义了自…

2024年第三届数据统计与分析竞赛(B题)数学建模完整思路+完整代码全解全析

你是否在寻找数学建模比赛的突破点&#xff1f;数学建模进阶思路&#xff01; 详细请查 作为经验丰富的数学建模团队&#xff0c;我们将为你带来2024年第三届数据统计与分析竞赛&#xff08;B题&#xff09;的全面解析。这个解决方案包不仅包括完整的代码实现&#xff0c;还有…

排序题+贪心

排序力扣题 一&#xff1a;合并区间 56. 合并区间 方法一&#xff1a;先排序再合并 如图&#xff0c;把区间按照起点从小到达排序&#xff0c;如果起点相同那么按照终点小的优先排序 然后每次记录一个区间&#xff0c;访问下一个区间&#xff1a; 如果下一个区间的起点<前…

Vue TypeScript 实战:掌握静态类型编程

title: Vue TypeScript 实战&#xff1a;掌握静态类型编程 date: 2024/6/10 updated: 2024/6/10 excerpt: 这篇文章介绍了如何在TypeScript环境下为Vue.js应用搭建项目结构&#xff0c;包括初始化配置、创建Vue组件、实现状态管理利用Vuex、配置路由以及性能优化的方法&#x…

数据中心网络运维探讨

数据中心网络运维探讨 数据中心网络运维通过科学的网络架构设计、实时监控管理、智能化运维工具和全面的安全防护&#xff0c;确保网络的高效、安全运行。它不仅提升了运维效率和网络可靠性&#xff0c;还保障了业务的连续性和数据安全。随着技术的不断进步&#xff0c;智能化…

推测性解码:加速多模态大型语言模型的推理

大模型&#xff08;LLMs&#xff09;以其卓越的性能在多个应用场景中大放异彩。然而&#xff0c;随着应用的深入&#xff0c;这些模型的推理速度问题逐渐凸显。为了解决这一挑战&#xff0c;推测性解码&#xff08;Speculative Decoding, SPD&#xff09;技术应运而生。本文深入…

Vue 2看这篇就够了

Vue 2 技术文档 Vue.js 是一款用于构建用户界面的渐进式框架。与其他重量级框架不同的是&#xff0c;Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层&#xff0c;不仅易于上手&#xff0c;还便于与第三方库或既有项目整合。而 Vue.js 2&#xff08;以下简称 Vue…

Vue2基础:.sync修饰符的使用,认识,作用,本质案例演示,实现父子之间的通信。

.sync的作用&#xff1a; 可以实现子组件与父组件数据的双向绑定&#xff0c;简化代码。 与v-model的不同点,prop属性名可以自定义&#xff0c;不要一定要用value. .sync的本质&#xff1a; 就是&#xff1a;属性名和update&#xff1a;属性名合写。 下面我们进行代码演示…

探索智慧景区票务系统的架构与应用

随着旅游业的迅速发展&#xff0c;智慧景区票务系统已经成为提升景区管理效率、优化游客体验的重要工具。智慧景区票务系统的架构设计与应用&#xff0c;将现代信息技术与景区管理相结合&#xff0c;为景区的门票销售、入园管理和游客服务提供了全新的解决方案。本文将深入探讨…

【西瓜书】9.聚类

聚类任务是无监督学习的一种用于分类等其他任务的前驱过程&#xff0c;作为数据清洗&#xff0c;基于聚类结果训练分类模型 1.聚类性能度量&#xff08;有效性指标&#xff09; 分类任务的性能度量有错误率、精度、准确率P、召回率R、F1度量(P-R的调和平均)、TPR、FPR、AUC回归…

滑动窗口算法:巧妙玩转数据的窗外世界

✨✨✨学习的道路很枯燥&#xff0c;希望我们能并肩走下来! 文章目录 目录 文章目录 前言 一 滑动窗口是什么&#xff1f; 二 相关题目解析 1. 长度最小的子数组 &#x1f973;题目解析 &#x1f973;算法原理 ✏️思路1 暴力枚举出所有子数组之和 ✏️思路2 滑动窗…

LangChain开发【NL2SQL】应用

前言 关于LangGraph的简单介绍&#xff0c;请参考这篇博客&#xff1a; LangGraph开发Agent智能体应用【基础聊天机器人】-CSDN博客 对比LangChain实现NL2SQL 关于用LangChain开发NL2SQL的Agent应用&#xff0c;在这篇博客提供了完整的代码实现&#xff1a; LangChain开发…

AI网络爬虫:批量爬取豆瓣图书搜索结果

工作任务&#xff1a;爬取豆瓣图书搜索结果页面的全部图书信息 在ChatGPT中输入提示词&#xff1a; 你是一个Python编程专家&#xff0c;要完成一个爬虫Python脚本编写的任务&#xff0c;具体步骤如下&#xff1a; 用 fake-useragent库设置随机的请求头&#xff1b; 设置chr…

NFT 智能合约实战-快速开始(1)NFT发展历史 | NFT合约标准(ERC-721、ERC-1155和ERC-998)介绍

文章目录 NFT 智能合约实战-快速开始(1)NFT发展历史国内NFT市场国内NFT合规性如何获得NFT?如何查询NFT信息?在 OpenSea 上查看我们的 NFT什么是ERC721NFT合约标准ERC-721、ERC-1155和ERC-998 对比ERC721IERC721.sol 接口内容关于合约需要接收 ERC721 资产 onERC721Received…

【教学类-64-02】20240610色块眼力挑战(二)-2-25宫格色差10-100(10倍)(星火讯飞)

背景需求 以下的色块眼里挑战需要人工筛选图片&#xff0c;非常繁琐。 【教学类-64-01】20240607色块眼力挑战&#xff08;一&#xff09;-0-255随机底色-CSDN博客文章浏览阅读446次&#xff0c;点赞12次&#xff0c;收藏5次。【教学类-64-01】20240607色块眼力挑战&#xff…