char[] char* Cstring详解

char[] 即字符数组,用来存放字符串。char【】初始化时,当初始化值小于单元个数时,把指定单元用指定值给出,其后的值用'/0'填充。

如 char a[10]={'c',' ','p','r','o','g','r','a','m'}//共有九个值

则第十个单元 a[9]中存放的是'/0'

'/0'是由系统自己添加的,不用认为给定。

对于字符串常量,系统也自动追加一个'/0',来表示结尾。

注意,char a[5]={'a','b','c','d','e'}是正确的,但它的标记中没有'/0',为了用以检测。一般认为在定义时,都会加上'/0'。

如: char a[3]={'a','b','/0'};

字符串操作函数 :

scanf ,printf,gets(cahr[]),puts(char[]),

strcat(char[],char[])——追加,

strcpy,strncpy,ctrcmp——比较,返回布尔值,

strlen——计算字符个数

strwr ——转换为小写

strup——转换为大写

strchr

  原型:extern char *strchr(char *s,char c);
  用法:#include <string.h>
  功能:查找字符串s中首次出现字符c的位置

  说明:返回首次出现c的位置的指针,如果s中不存在c则返回NULL。

 

char[] 与char*的区别

char a[];

scanf("%s",a);//正确

char *a;

scanf("%s",a);//可以通过编译,也可以运行,但存在一定得危险性,不提倡。因为,编译时,虽然给指针变量a分配了内存单元,a的地址(即&a)是已指定了,但a的值并未指定,在a单元中的值是不可预测的。在执行scanf语句时,要求输入一个字符串到a所指定的内存中去,(即以a开始的地址),而a的值不可料,他可能指向内存中空白的用户存储区,也有可能执行已存放指令的内存段,所以要避免这样使用。

 

Cstring是c++的一个类,而不是一种基本数据类型。

Cstring是 字符串变量,而在c语言中是不存在字符串变量的,只存在字符数组,字符指针来操作字符串的。

Cstring类型中只存储数据,而不存储'/0],

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值