C语言中的单引号跟双引号

单引号用来表示字符字面量(编译为对应的ASCLL码);------->'a'+1-----》表示a的ASCALL码加1-----》结果为b

双引号用来表示字符串字面量(被编译为对应的内存地址);--------->"a"+1表示指针运算-------》结果指向"a"结束符'\0'

printf的第一个参数当做字符串内存地址---------》printf('\n')-----printf("\n");

内存的低地址空间不能再程序中随意访问


例:char c="string";

   发生了什么?

分析:编译后的字符串"string"的内存地址被赋值给变量c

         内存地址占用了四个字节,二变量c只占用了一个字节,由于类型的不同,赋值后产生截断




小结:

单引号括起来的单个字符代表整数

双引号括起来的字符代表字符指针

C编译器接受字符和字符串的比较,无任何意义

C编译器允许字符串对字符变量赋值,只能得到错误

你可能感兴趣的:(C语言笔记)