1 \? 在书写连续多个问号时使用,防止它们被解释为三个字母词
\'' 用于标示一个字符串常量内部的双引号
\' 用于表示字符常量'
\\ 用于表示一个反斜杠,防止被解释为一个转义序列符
2 在C语言中有4种基本数据类型:整型 浮点型 指针 聚合类型(如数组和结构体)
3 浮点数家族包括float ,double, long double类型。所有浮点类型至少能容纳从10的-37次方到10的37次方之间的任何值。
浮点数字面值在缺省情况下都是double类型的,除非它的后面跟一个L或l标示它是一个long double类型的值,或者跟一个F或f表示它是一个float类型的值。
4 signed关键字一般只用于char类型,因为其他整型类型在缺省情况下都是有符号数。至于char是否是signed,则因编译器而异。所以,char可能等同于signed char ,也可能等同于unsigned char。
5 是int* a还是int *a ?后则更合理。原因如下:int* b,c,d; 这不是3个指针,只有第一个b是指针,c d都是普通的整数。int *b,*c,*d;是正确的。
6 typedef char *ptr_to_char;这个声明把标示符ptr_to_char作为指向字符的指针类型的新名字。例如:ptr_to_char a; 声明a是一个指向字符的指针。
7 #define d_ptr_to_char char*;
d_ptr_to_char a,b;
正确的声明了a为一个字符指针,但是b却被声明为一个字符。define 只是简单的替换。
8 static int b;那么变量b就将为这个源文件所私有。在其他源文件中,如果也链接到一个叫做b的变量,那么它所引用的是另一个不同的变量。类似,你也可以吧函数声明为tatic,如下:static int c (int d)这可以防止被其他源文件调用。
9 有3个地方可以用于存储变量:普通内存 运行时堆栈 硬件寄存器。
10 + - * / % 除了%操作符,其余几个操作符都是既适用于浮点类型又适用于整数类型。%为取余操作符,接收两个整型操作数。
位操作符有: & | ^ 。 sizeof(a=b+1)并没有向a赋任何值。