C字符串和C++字符串
来源:互联网 发布:恒腾网络 福利待遇 编辑:程序博客网 时间:2024/04/30 09:07
在C中,并没有字符串这个数据类型,而是使用字符数组来保存字符串。C字符串实际上就是一个以null('\0')字符结尾的字符数组,null字符表示字符串的结束。需要注意的是:只有以null字符结尾的字符数组才是C字符串,否则只是一般的C字符数组。
C字符串定义时可以利用"="号进行初始化,但是以后不能利用"="对C字符串进行赋值。对C字符串的操作需要通过"string"文件中定义的字符串处理函数。例如:
//字符串的初始化
char a[11] = "huanying";
//字符串的赋值
strcpy(a,"nihao")
//获取字符串的长度,不包括'\0'在内
strlen(a);
printf("%s",a);
在C中也可以使用字符指针来访问一个字符串,通过字符指针指向存放字符串数组的首元素地址来进行访问.
char *a = "nihao";
printf("%s",a);
在C语言中没有专门的字符串变量,通常用一个字符数组来存放一个字符串。前面介绍字符串常量时,已说明字符串总是以'\0'作为串的结束符。因此当把一个字符串存入一个数组时,也把结束符'\0'存入数组,并以此作为该字符串是否结束的标志。有了'\0'标志后,就不必再用字符数组的长度来判断字符串的长度了。
C语言允许用字符串的方式对数组作初始化赋值。
例如:
char c[]={'c', ' ','p','r','o','g','r','a','m'};
可写为:
char c[]={"C program"};
或去掉{}写为:
char c[]="C program";
用字符串方式赋值比用字符逐个赋值要多占一个字节, 用于存放字符串结束标志'\0'。上面的数组c在内存中的实际存放情况为:
C
p
r
o
g
r
a
m
\0
‘\0'是由C编译系统自动加上的。由于采用了‘\0'标志,所以在用字符串赋初值时一般无须指定数组的长度,而由系统自行处理。
- C字符串和C++字符串
- C字符串和C++字符串
- C字符串和C++字符串
- C字符串和C++字符串
- C字符串和C++字符串
- C字符串和C++字符串
- C字符串和C++字符串
- C -- 字符串和字符串函数
- C字符串和C++字符串
- C字符串和C++字符串
- C字符串和C++字符串
- C 和 C++ 字符串
- [C++] 字符串和流
- [C++] 字符串和流
- c/c++ 字符串 ## 和 #
- C数组和字符串
- C 指针和字符串
- C和OC 字符串
- web服务器压力测试工具
- 一切的开始
- 如何在C语言中实现简单的泛型编程(二)
- 泛型算法
- 抽象类和接口的区别,内部类引用外部方法final参数,守护线程和用户线程
- C字符串和C++字符串
- boost中静态库编译没有-fPIC选项的问题解决方案
- 构造函数初始化列表
- 类 变量初始化
- c#调用7z压缩和解压缩文件
- 内存分配方式
- linux 信号 意义
- 搞了几天的Freetype,发现某些教程真是害死人啊,小字体变粗问题终于解决了。终于达到notepad的水准了。
- 内存管理