
1、char类型,也就是常说字符类型。char类型和其它类型一样在定义和初始化上可以先声明(定义),再赋值(初始化)。使用char来定义一个字符,通过单引号括起来的单个字符赋值给它。
2、当然你也可以在定义变量的时候就初始化(也就是在声明的时候赋值)。
3、注意字符并不意味着字母,单引号括起来的单个字符。所谓单个字符可以是数字、中文之类的。
4、字符类型可以自动转化为存储空间比它大的int类型。例如下面的例子,c是字符,把它赋值int类型的i1时,却不报错就是因为自动转化。
5、int转化为字类型时(这种是属于存储空间由大向小的转化),则需要强转。
6、加了强制转换这后,它就不报错了。
你这样加当然是不行的,首先char *str 你定义的是一个指针,那么 *str += c;这句就有语病了;一个指针怎么能和一个字符相加呢?你可以这样编写:
char str[] = "awgweg"
char c = 'c'
str[sizeof(str) - 1] = c//sizeof()这个函数是求出字符数组str的长度,那个这句就是将字符c变成为该数组的最后一个数组元素,也就是将字符c加在该字符串的最后
str[sizeof(str)] = '\0'//由于字符串是以字符‘\0’结尾的,所以该字符串的长度不是6而是7,执行上一句后,该字符串的'\0'变成了字符c,因此需要重新添加'\0'到该字符串的最后最为该字符串的结尾。程序执行了这两句后就实现了将字符c加到该字符串的后面了。
printf("%s\n",str)
这样字符'c'就加在字符串str后面了
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)