08 2014 档案
摘要:使用#define可以创建符号常量,但使用const还可以创建数组常量、指针常量以及指向常量的指针int (* ptr)[2] // ptr指向一个包含2个int值的数组应用表达式中[]的优先级高于*,因此, 如果我们这样声明 int * ptr[2], 那么首先方括号和ptr结合,表示ptr是包...
阅读全文
摘要:静态存储类未初始化,则自动初始化为0;全局变量未初始化,则自动初始化为0; 1 #include 2 3 #define LEN 5 4 5 int arr[LEN]; // 全局变量, 数组元素自动初始化为0 6 static int arr2[LEN]; // 局...
阅读全文
摘要:创建只读数组,程序从数组中读取数值,但是程序不向数组中写数据。在这种情况下声明并初始化数组时, 建议使用关键字const。这样程序会把数组中每个元素当成常量来处理。和普通变量一样, 需要在声明const数组时对其进行初始化,因为在声明之后,不能再对它赋值。const int days[MONTHS]...
阅读全文
摘要:函数原型可以置于main之前, 也可以置于main之内旧式函数定义int add(a, b, c)int a, b;int c;{ return a + b + c;}void echo();ANSI C编译器会假设你没有用函数原型声明函数,他就不会进行参数检查。因此,为了表示一个函数确实不使...
阅读全文
摘要:limits.hINT_MAX 数据类型最大最小值常量float.hFLT_DIG 浮点数有效数字位数FLT_EPSILON 1.00和比1.00大的最小的float类型值之间的差值(分度值)inttypes.hint16_tint32_t 可移植的32位整数类型ctype.hisalph...
阅读全文
摘要:1.) 当作为函数的参数被传递时,char和short会被转换为int,float会被转换为double。可以通过函数原型来阻止自动提升的发生
阅读全文
摘要:副作用(side effect): 副作用是对数据对象或文件的修改。顺序点(sequence point): 顺序点是程序执行中的一点;在该点处,所有的副作用都在进入下一步前被计算。 1.) 在C中,语句里的分号标志了一个顺序点 2.) 任何一个完整的表达式的结束也是一个顺序点(完整表达式: 一...
阅读全文
摘要:函数参数中的自增自减运算符 1 #include 2 3 int main(void) 4 { 5 int num = 0; 6 while (num < 6) 7 { 8 printf("%5d %5d\n", num , num * num++); 9...
阅读全文
摘要:*号的使用 1 #include 2 3 int main(void) 4 { 5 unsigned width, precision; 6 float height; 7 printf("Please enter you height(enter a tag befor...
阅读全文
摘要:1 #include 2 3 int main(void) 4 { 5 int a = 99; 6 float b = 9.9; 7 char c[] = "hello"; 8 9 printf("*%010d*\n", a);10 printf("*...
阅读全文
摘要:三种定义常量的方法 1 #include 2 3 //1. 预编译 4 #define PI 3.14 5 6 int main(void) 7 { 8 //2. const关键字 9 const int LENGTH = 100;10 11 //3. 枚举类型12 enum ...
阅读全文
摘要:十进制、八进制、十六进制初始化与格式打印 1 #include 2 3 int main(void) 4 { 5 int a = -1; 6 printf("%d\n", a); 7 printf("%o\n", a); 8 printf("%x\n", a); ...
阅读全文
摘要:float类型必须至少能表示6位有效数字double类型至少能表示10位有效数字默认情况下,编译器将浮点型常量当作double类型2.3f 9.11E9F 显示指定为float54.3L 4.32e4L 显示指定为long doublefloat 和 double 输出都使用 %f %e %...
阅读全文
摘要:int类型别名 1 #include 2 #include 3 4 #include 5 #include 6 7 int main(void) 8 { 9 int16_t a = 65535;10 uint16_t b = 65535;11 12 int32_...
阅读全文
摘要:八进制、十六进制字符 1 #include 2 3 int main(void) 4 { 5 int a = '\101'; 6 int b = '\0101'; // 错误 7 int c = '\x41'; 8 int d = '\X41'; ...
阅读全文
摘要:字符型常量视为int类型 1 #include 2 3 int main(void) 4 { 5 int a = 'ABCD'; 6 int b = 'XYABCD'; 7 printf("%d %c\n", a, a); 8 printf("%d...
阅读全文
摘要:不同格式,大小写1 #include 2 3 int main(void)4 {5 int a = 99;6 printf("%D, %d, %#D, %#d\n", a, a, a, a);7 printf("%O, %o, %#O, %#o\n", a, a, a, a)...
阅读全文
摘要:淘汰有限的函数声明与函数原型 1 #include 2 3 void echo(); // 函数声明(淘汰) 4 void echo(int); // 函数原型 5 6 int main(void) 7 { 8 echo(3); 9 }10 void echo(int i)11 ...
阅读全文
摘要:printf语句中包含'\0'字符的处理1 #include 2 3 int main (void)4 {5 printf("helloxx\0xxworld\n");6 printf("\n------------\n");7 printf("hello%sworld\n"...
阅读全文