C语言里实型常量取值范围?字符串常量的字符结束标记

来源:百度知道 编辑:UC知道 时间:2024/05/28 00:00:54
为什么是-10^38~10^38,这是为什么?字符串常量的字符结束标记是每个字符创常量的结尾都要写上吗,还是说字符串常量自动生成的?

与机器字长和有效数字位数有关,38是32位字长+6位有效数字。
字符串常量的\0,只要是“”引起来的字符串常量都是自动生成的,比如用字符数组char s[10]="hello";那么实际上从s[0]-s[5]都有内容的,s[5]就是\0。

C语言里实型常量取值范围根据操作系统或者平台有些不同,最主要的是要看具体的是占用几个字节(bytes),例如,win32占用4个字节(即32bits),有符号数(最高位为符号位):-2^31~2^31,无符号数:2^32
字符串常量的字符结束标记在定义的时候会自动生成,不够定义数组时,下标要比字符串的字节数大1个用来保存这个结束符。例如:unsigned char strcode[]="my friend";或者unsigned char strcode[10]="my friend";