摘要: 结构体 1,结构体即为多个基本数据类型组合而成的数据类型。结构体本质上同int等一样同为数据类型,可以定义变量,内部成员不能直接赋值。 上面是错误的。正确写法如下: 2,结构体常同typedef类型重命名一同使用,如下: 3,结构体内存对齐 以上代码输出的值为8,而不是直观意义上的5,这是因为结构体 阅读全文
posted @ 2016-06-12 15:36 冰酷飞仔 阅读(634) 评论(0) 推荐(0) 编辑
摘要: extern: extern修饰变量,声明该变量为外部文件的全局变量。若使用外部全局变量,必须用extern声明。 extern修饰函数,声明该函数为外部函数。extern修饰的函数形参必须与原函数一致,否则可能导致传参出错,且编译器不会报警。建议声明外部函数省略掉extern。 const: 定义 阅读全文
posted @ 2016-06-12 14:32 冰酷飞仔 阅读(1291) 评论(0) 推荐(0) 编辑
摘要: 1,static修饰全局变量 限定变量的作用域。被static修饰的全局变量存储域不变,依然存储在静态存储区,即bss段或data段。但作用域发生改变,被static修饰全局变量只能被本文件的函数访问,对于其他源文件是不可见的,哪怕用extern声明也不可见。 2,static修饰局部变量 限定变量 阅读全文
posted @ 2016-06-12 13:57 冰酷飞仔 阅读(388) 评论(0) 推荐(0) 编辑
摘要: 一个进程的数据在内存中的布局如下图: bss段(bss segment):可读可写不可执行,通常用来存放程序中未初始化的全局变量。bss是英文Block Started by Symbol的简称。bss段属于静态内存分配。 data段(data segment):可读可写不可执行,通常用来存放程序中 阅读全文
posted @ 2016-06-12 13:30 冰酷飞仔 阅读(380) 评论(0) 推荐(0) 编辑
摘要: GCC(GNU Compiler Collection,GNU编译器套件),是由 GNU 开发的编程语言编译器。它是以GPL许可证所发行的自由软件,也是 GNU计划的关键部分。GCC原本作为GNU操作系统的官方编译器,现已被大多数类Unix操作系统(如Linux、BSD、Mac OS X等)采纳为标 阅读全文
posted @ 2016-06-12 09:39 冰酷飞仔 阅读(529) 评论(0) 推荐(1) 编辑