c语言中,char是字符型,为什么还可以放数字? char 是字符型1.用单引号括起来的数据,’1’‘\\n’‘+’2.关键字:char,所占的内存空间大小1个字节3.字符型数据按照符号分类:1)有符号字符型数据:数据有正负之分,使用关键字 signed,一般缺省默认为有符号的数据2)无符号字符型数据:数据没有正负之分,使用关键字unsigned,如果要表示为无符号则需要加上此关键字(signed)charunsigned char4.字符型数据的存储字符型数据,实际上在内存中存储是以整型的格式存储,用一个特定的整型数字表示一个特定的字符型数据,整型数据与字符数据属于一一对应的关系,依据于美国标准信息交换表(ASCII码表)说明:字符型数据与整型数据在内存中的存储格式是一样的5.字符得范围 char 一个字节有符号数据类型的范围:符号位+数据位(7位)最大值:0111 1111->;127最小值:1000 0000->;-128无符号数据类型的范围:数据位最大值:1111 1111->;255最小值:0000 0000->;0字符型数据溢出说明,跟整型数据得溢出规律一样6.字符型数据从功能上的分类1)显示字符:可以直接输出到显示终端2)功能字符(转义字符):只体现功能,不显示字符本身常用的字符‘\\0’-0 NULL(指针)‘\\n’-10 换行‘\\t’-水平制表符,表示在显示屏幕。
C语言 A BC D分别解释
strlen()函数是什么意思? strlen(char*)作用:检测字符串实2113际长度。如:char s[]=\"1234567;int a=strlen(s);a=7实际上5261strlen(char*)检测的是'\\0',strlen(char*)碰到'\\0'就返回4102'\\0'以前的字符数。又如:char f[]=\"123456\\01111;int b=strlen(f);b=6,因为1653遇到了'\\0'扩展资料strlen(char*)函数求的是字符串的实际长度,它求得方法是从开始到遇到第一个'\\0',如果你只定义没有给它赋初值,这个结果是不定的,它会从aa首地址一直找下去,直到遇到'\\0'停止。⒈sizeof操作符的结果类型是size_t,它在头文件中typedef为unsigned int类型。该类型保证能容纳实现所建立的最大对象的字节大小。⒉sizeof是取字节运算符(关键字),strlen是函数。⒊sizeof可以用类型做参数,strlen只能用char*做参数,且必须是以'\\0'结尾的。⒋数组做sizeof的参数不退化,传递给strlen就退化为指针了。⒌大部分编译程序 在编译的时候就把sizeof计算过了是类型或是变量的长度。这就是sizeof(x)可以用来定义数组维数的原因参考资料:-strlen