[日常] C语言中的字符数组和字符串
2023-02-18 15:47:11 时间
c语言字符数组和字符串:
1.存放字符的数组称为字符数组 char str[]
2.'\0'也被称为字符串结束标志
3.由" "包围的字符串会自动在末尾添加'\0'
4.逐个字符地给数组赋值并不会自动添加'\0'
5.局部变量初始化为零值会自动添加结束标志
6.直接使用一个指针指向字符串的形式 char* str
7.最根本的区别是在内存中的存储区域不一样,字符数组存储在全局数据区或栈区,第二种形式的字符串存储在常量区。全局数据区和栈区的字符串(也包括其他数据)有读取和写入的权限,而常量区的字符串(也包括其他数据)只有读取权限,没有写入权限。
#include <stdio.h> #include <string.h> int main(){ //char* s="hello"; //char str[]="hello"; //puts(str); char a[]="hello";//为字符数组直接赋值可以不指明数组长度 char b[3]="ab";//指定数组长度时要比实际长度多一个,会自动添加字符串结束标志 '\0' printf("%s\n",b); char str[30]={0};//数组元素初始化为'零'值,这样超出的部分会自动变成'\0' char c; int i; for(c=65,i=0; c<=90; c++,i++){ str[i] = c; } printf("%s\n", str); int len=strlen(str);//引入头文件,获取字符串的长度 printf("%d\n",len); return 0; char* d="hello";//直接使用一个指针指向字符串的形式 //最根本的区别是在内存中的存储区域不一样,字符数组存储在全局数据区或栈区,第二种形式的字符串存储在常量区。全局数据区和栈区的字符串(也包 括其他数据)有读取和写入的权限,而常量区的字符串(也包括其他数据)只有读取权限,没有写入权限。 }
相关文章
- ASP.NET 访问共享文件夹
- 一首老歌
- ASP.NET 5 WebApi 返回 HttpResponseMessage
- EntityFramework 7 Migrations 迁移命令
- EntityFramework 外键值映射
- 读书记录(持续更新...)
- ASP.NET Web API 创建帮助页
- EF Code First 主键对应多个外键
- 【记录】ASP.NET MVC MapRoute .htm 不起作用
- EntityFramework 7 Left Join Where is error(Test record)
- 写点东西来吐槽一下自己,真是无语了。
- EntityFramework 分页问题探讨之 OrderBy
- ASP.NET MVC Web API Post FromBody(Web API 如何正确 Post)
- 【记录】Install-Package : “Unity”已拥有为“CommonServiceLocator”定义的依赖项。
- 【记录】VS2012新建MVC3/MVC4项目时,报:此模板尝试加载组件程序集“NuGet.VisualStudio.Interop...”
- II7.0 发布 MVC 4.0 三个小问题记录
- position:fixed和scroll实现div浮动【示例】
- 小菜学习Winform(五)窗体间传递数据
- 基于Lumisoft.NET组件的SMTP账号登陆检测
- 基于DevExpress开发的GridView如何实现一列显示不同的控件类型