摘要: 编译过程简介:预编译:gcc -E file.c -o file.i处理注释,以空格代替将宏定义展开处理条件编译指令处理#include,展开被包含的文件保留编译器需要使用的#pragma指令编译: gcc -S file.i -o file.s对预处理文件进行词法分析,语法 分析,语义分析汇编:g... 阅读全文
posted @ 2015-09-19 20:35 e-data 阅读(245) 评论(0) 推荐(0)
摘要: 位运算符:&,|,^,>,~都是基于二进制数的移动,其他进制都要转换成二进制进行左移n位,相当于乘以2的n次方;右移n位,相当于除以2的n次方。^:a^a=0,遵行交换律,结合律 a^b^a=a^a^b=b:如果a的个数为偶数,那么计算结果永远是b++,--与逗号表达式的运算:1 int x=3;2... 阅读全文
posted @ 2015-09-19 17:42 e-data 阅读(632) 评论(0) 推荐(0)
摘要: 1 #include 2 int main() 3 { 4 char* p1 = 1 ; 5 char* p2 = '1'; 6 char* p3 = "1"; 7 printf("%s, %s, %s", p1, p2, p3); 8 printf('... 阅读全文
posted @ 2015-09-19 16:23 e-data 阅读(5448) 评论(0) 推荐(0)
摘要: 注释符: 1 #include 2 int main() 3 { 4 int/*...*/i; //int i; 5 char* s = "abcdefgh //hijklmn"; //s[]=abcdefgh //hijklmn; 6 //Is... 阅读全文
posted @ 2015-09-19 15:29 e-data 阅读(612) 评论(0) 推荐(0)
摘要: 空结构体占用的内存多大? 1 struct d 2 { 3 4 }; 5 6 int main() 7 8 { 9 10 struct d d1;11 12 struct d d2;13 14 printf("%d,%0x\n",size... 阅读全文
posted @ 2015-09-19 13:37 e-data 阅读(258) 评论(0) 推荐(0)
摘要: c语言中const修饰的变量是只读的,不能直接作为赋值号的左值,其本质还是变量;会占用内存空间;本质上const在编译器有用,运行时无用(还是可以通过指针改变它的值)1 const int abc=1;2 3 int *p=&abc;4 5 *p=3;6 7 printf("%d\n",abc); ... 阅读全文
posted @ 2015-09-19 11:22 e-data 阅读(186) 评论(0) 推荐(0)