字符常量

#include<stdio.h>


void main(){
	char a = 'a'; //字符常量,一个字节  
	int num; // 为啥要声明变量,为了让编译器知道num 是一个变量,给他分配int的数据空间 4个字节
	 
	//char A = "A"; //错误,字符串常量表示字符常量,后面自动加 \0 2个字节  “初始化” : “char”与“char[2]”的间接级别不同
	printf("%c",a);
	

	printf("\n%d",sizeof(""));  // 输出1,字符串常量后面会自动加  \0
	printf("\n%d\n", sizeof("A"));  // 输出2,字符串常量后面会自动加  \0
	
	//字符'h'有一下四种输出方式
	putchar('h');  //输出h
	putchar(104);  //输出h  十进制
	putchar('\150');  //输出h   八进制
	putchar('\x68');  //输出h   16进制

	/*
	'1' != 1
	字符型变量在内存中占一个字节,由于存储的是字符的二进制ASCII码,与整型数据存储方式类似,字符型数据和整型数据可以相互运算。
	注意,字符串常量不允许赋值给字符型变量,C语言也没有专门的字符串变量。要在内存中存取字符串,只能使用数组或指针
	*/
	printf("========================");

	//字符特例
	char ch1 = '0';
	char ch2 = 0;
	char ch3 = '\0';
	printf("%d, %c\n", ch1, ch1); // '0'ASCII字符对应的字符编号为48,输出48 ‘0’
	printf("%d, %c\n", ch2, ch2);// 整数0对应ASCII字符为NULL,也就'\0' 什么都不输出  输出0,
	printf("%d, %c\n", ch3, ch3);// '\0'也就是ASCII字符为NULL,即'\0' 什么都不输出   输出0,
		getchar();
}

猜你喜欢

转载自www.cnblogs.com/luoxuw/p/11220335.html
今日推荐