C语言----字符串、字符数组

一、定义

C语言中的字符串是以字符数组的形态存在的
在C语言中,没有字符串类型,字符串实际上是使用空字符\0结尾的一维字符数组。因此,\0是用于标记字符串的结束。

二 、如何创建字符串?

1.通过字符数组来创建字符串,必须手动在末尾添加'\0',

# define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
// 创建一个字符串
int main()
{char s[] = { 'a','b','c','\0'};printf("%s\n", s); //结果abcreturn 0;
}

2.对于直接字符串常量来说,后面会自动加上一个‘\0’,但是在长度定义时,也要算上它,不算上会出错。字符串常量是不能修改的

# define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
// 创建一个字符串
int main()
{char s[6] = {"hello"}; //实际长度是6printf("%s\n", s); //结果helloreturn 0;
}

三  字符数组

1.定义

字符数组是用来存放字符数据的数组,字符数组中的一个元素存放一个字符,定义字符数组的方法和定义数值型数组的方法类似

2.字符数组初始化

(1)用单个字符对字符数组初始化

  • 如果在定义字符数组时不进行初始化,则数组中各元素的值是不可预料的
# define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{char c[10];//定义一个字符数组不初始化printf("%s ", c);return 0;
}
  • 如果花括号中提供的初值个数(即字符个数)大于数组长度,则出现语法错误

     例如: char c[2]={'a','b','c'};

  • 如果提供的初值个数与预定的数组长度相同,在定义时可以省略数组长度,系统会自动根据初值个数确定数组长度

     例如 : char c[ ]={'a','b','c','d','e','f','\n'};

  • 如果初值个数小于数组长度,则只将这些字符赋给数组中前面那些元素,其余的元素自动定为空字符(即'\0')

  

# define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{char s[10] = { 'a','b','c'};int i = 0;for (i = 0; i < 10; i++){printf("%d ", s[i]); //97 98 99 0 0 0 0 0 0 0}return 0;
}

(2)用字符串常量对字符数组初始化

  1.  char str[6]={"CHINA"};
  2.  char str[6]="CHINA";         //省略{}
  3. char str[ ]="CHINA" ;     // 省略长度值

  

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

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

相关文章

某黑产组织最新攻击样本利用BYVOD技术的详细分析

前言概述 最近一两年BYVOD技术被广泛应用到了各种黑产攻击、APT攻击以及勒索病毒攻击活动当中&#xff0c;笔者近期在对某黑产组织进行跟踪&#xff0c;捕获到该组织的最新攻击样本&#xff0c;通过某安全厂商的驱动漏洞&#xff0c;利用BYVOD技术对抗其他安全软件包括各种EDR…

单片机+M26429+PAM8403+MH-M18无线蓝牙音频功放设计 原理图PCB源程序

目录 功能描述&#xff1a; 原理图 PCB ​代码 资料下载地址&#xff1a;单片机M26429PAM8403MH-M18无线蓝牙音频功放设计 原理图PCB源程序 功能描述&#xff1a; 1&#xff0c;无线蓝牙连接&#xff0c;手机可控制歌曲音频选择。 2&#xff0c;音频声音的大小可控制一排…

三维模型轻量化工具:手工模型、BIM、倾斜摄影等皆可用!

老子云是全球领先的数字孪生引擎技术及服务提供商&#xff0c;它专注于让一切3D模型在全网多端轻量化处理与展示&#xff0c;为行业数字化转型升级与数字孪生应用提供成套的3D可视化技术、产品与服务。 老子云是全球领先的数字孪生引擎技术及服务提供商&#xff0c;它专注于让…

sectigo和certum ip ssl证书的区别

IP SSL证书是一种数字证书&#xff0c;为客户端和服务器之间的信息传输提供加密服务。但是和应用比较广泛的域名SSL证书相比&#xff0c;IP SSL证书是为只有公网IP地址的网站准备的数字证书。市场上常见的IP SSL证书品牌就是Sectigo和Certum&#xff0c;那么&#xff0c;这两种…

[AI Google] Ask Photos: 使用Gemini搜索照片的新方法

借助Gemini模型&#xff0c;将Google Photos提升到一个新的水平。 Google Photos是我们最早以AI为核心构建的产品之一&#xff0c;让你能够搜索照片和视频中的人、宠物、地点等。现在&#xff0c;我们通过我们最强大的AI模型Gemini对Google Photos进行重大升级。通过Ask Photos…

【C/C++】——小白初步了解——内存管理

目录 1. C/C内存分布 代码区&#xff08;Code Segment&#xff09;&#xff1a; 数据区&#xff08;Data Segment&#xff09;&#xff1a; 堆区&#xff08;Heap&#xff09;&#xff1a; 栈区&#xff08;Stack&#xff09;&#xff1a; 常量区&#xff08;Constant Seg…

数据中心横向虚拟化 M-LAG 技术

M-LAG 一、M-LAG概述 1、M-LAG定义&#xff1a;M-LAG&#xff08;Multichassis Link Aggregation Group&#xff09;是跨设备链路聚合组。可以将两台设备进行跨设备链路聚合&#xff0c;从而把链路的可靠性从单板机提高到了设备级。 2、优势&#xff1a; (1)、M-LAG系统的两台…

UE 打包报错 MarketplaceRules.dll‘ does not exist.

Precompiled rules assembly /Users/unity/Library/Application Support/Epic/UnrealEngine/Intermediate/Build/BuildRules/MarketplaceRules.dll does not exist. Window下找到该DLL 拷到Mac对应的目录下即可。如没有则需要手动创建相应的文件夹 /Users/unity/Library/Appl…

# 全面解剖 消息中间件 RocketMQ-(5)

全面解剖 消息中间件 RocketMQ-&#xff08;5&#xff09; 一、RocketMQ &#xff1a;过滤消息的两种方式 1、Tag 过滤 在大多数情况下&#xff0c;TAG 是一个简单而有用的设计&#xff0c;其可以来选择您想要的消息。 例如: DefaultMoPushconsumer consumer new DefaultM…

文件夹突变解析:类型变文件的数据恢复与预防

在数字化时代&#xff0c;文件夹作为我们存储和组织数据的基本单元&#xff0c;其重要性不言而喻。然而&#xff0c;有时我们可能会遇到一种令人困惑的情况——文件夹的类型突然变为文件&#xff0c;导致无法正常访问其中的内容。这种现象不仅会影响我们的工作效率&#xff0c;…

[MySQL最详细的知识点]

MySQL 关系型数据库以一行作为一个记录,列数据库以一列为一个记录一行是一个记录,一列是一个字段一行是一个实体,一列是一个属性 MySQL引擎: MySQL引擎&#xff1a;可以理解为&#xff0c;MySQL的“文件系统”&#xff0c;只不过功能更加强大。​MySQL引擎功能&#xff1a;除…

mysql 分区

目标 给一个表&#xff08;半年有800万&#xff09;增加分区以增加查询速度 约束 分区不能有外键否则会报错 https://blog.csdn.net/yabingshi_tech/article/details/52241034 主键 按照时间列进行分区 https://blog.csdn.net/winerpro/article/details/135736454 参看以…

安全测试 之 常见安全漏洞:CORS

1. 背景 安全测试定义&#xff1a;安全测试&#xff0c;是在软件产品开发基本完成时&#xff0c;验证产品是否符合安全需求定义和产品质量标准的过程。目的&#xff1a;通过对系统进行全面的脆弱性安全测试&#xff0c;发现系统未知的安全隐患并提出相关建议&#xff0c;确保系…

BUAA操作系统万字笔记-课堂笔记-期末考试-考研必备-北航961系列

文章目录 1 概论1.1 CPU漏洞攻击1.2 操作系统简史1.2.1 体系结构1.2.2 系统发展 1.3 操作系统基本实现机制1.3.1 异常&#xff1a;陷阱和中断 2 系统引导3 内存管理3.1 预备知识-链接与装载3.2 存储管理基础3.2.1 存储器管理目标3.2.2 存储器硬件发展3.2.3 存储管理的功能3.2.4…

【python】成功解决“TypeError: not enough arguments for format string”错误的全面指南

成功解决“TypeError: not enough arguments for format string”错误的全面指南 一、引言 在Python编程中&#xff0c;TypeError: not enough arguments for format string错误是一个常见的字符串格式化问题。这个错误通常发生在使用str.format()方法时&#xff0c;提供的参数…

frp之XTCP实现内网穿透家用电脑远程桌面公司电脑

官网XTCP介绍 《XTCP介绍》 实现图 fprs.toml # frps 服务端口&#xff08;不填&#xff0c;则默认&#xff1a;7000&#xff09; bindPort 81 auth.token "token 令牌"公司电脑frpc.toml serverAddr "frps公网服务器域名或ip" serverPort frps 服…

Java图形用户界面程序设计所需要使用的工具

Java图形用户界面程序设计 前言一、图形用户界面程序设计的概述GUI概述Java GUI技术的发展 二、AWT概述简介AWT继承体系总结 三、Swing概述Swing概述优势Swing的特征总结 前言 推荐一个网站给想要了解或者学习人工智能知识的读者&#xff0c;这个网站里内容讲解通俗易懂且风趣…

Python程序设计 身份证号的奥秘

第1关&#xff1a;判断性别 通过身份证的第17位也就是倒数第二位的数字可以辨别该身份证所属人的性别,奇数为男性,偶数为女性。 任务&#xff1a;输入身份证号&#xff0c;第17位若是偶数&#xff0c;输出男性&#xff0c;否则输出女性 如何截取字符串的一个字符 如何判断一个…

机器视觉检测--相机

一&#xff0c;相机就是CCD么&#xff1f; 通常&#xff0c;我们把相机都叫作CCD&#xff0c;CCD已经成了相机的代名词。其实很可能正在使用的是CMOS。CCD以及CMOS都称为感光元件&#xff0c;都是将光学图像转换为电子信号的半导体元件。他们在检测光时都采用光电二极管&#…

AI降痕:让AI代写的论文,也能成为原创佳作

随着人工智能技术的突飞猛进&#xff0c;AI生成内容&#xff08;AIGC&#xff09;已被广泛用于学术论文撰写中&#xff0c;提高效率同时也带来了原创性的挑战。面对日益严格的学术审查&#xff0c;一个突出的问题是&#xff1a;使用AI代写的论文能否通过内容检测&#xff1f;因…