第8课 goto 和 void 分析】的更多相关文章

1. 遭人遗弃的goto (1)高手潜规则:禁用goto (2)项目经验:程序质量与goto出现的次数成反比 (3)最后的判决:将goto打入冷宫(1)循环语句的基本工作方式 [实例分析]goto副作用的分析 #include <stdio.h> #include <malloc.h> void func(int n) { int* p = NULL; ) { goto STATUS; } p = (int*)malloc(sizeof(int) * n);//n<0时,将不…
遭人遗弃的goto: C语言是一种面向过程的结构化语言,其中主要结构有三种,顺序执行.选择执行.循环执行.再复杂的程序也是由这三种结构组合而成的. goto破坏了结构化特性,使程序以第四种方式执行,结构化特性被破坏的越严重程序质量越下降. 现代软件开发中很多企业禁用goto. goto破坏结构化特性的示例: #include <stdio.h> #include <malloc.h> void func(int n) { int* p = NULL; ) { goto STATUS…
遭人遗弃的goto: 高手潜规则:禁止使用goto 项目经验:程序质量与goto的出现次数成反比 最后的判决:将goto打入冷宫 程序示例1:(goto副作用分析) #include <stdio.h> #include <malloc.h> void func(int n) { int* p = NULL; ) { goto STATUS; } p = (int*)malloc(sizeof(int) * n); STATUS: p[] = n; free(p); } int m…
第9课 - const和volatile分析 1. const只读变量 (1)const修饰的变量是只读的,本质上还是变量,并不是真正意义上的常量         ※※ const只是告诉编译器该变量不能出现在赋值符号的左边 (2)const修饰的局部变量在栈上分配空间:const修饰的全局变量在全局数据区分配空间 (3)const只在编译期间有用(检查const修饰的变量有没有出现在赋值符号左边,如果有就会编译报错),在运行期间无用 #include <stdio.h> int main()…
第11课 - enum, sizeof, typedef 分析 1. enum介绍 (1)enum是C语言中的一种自定义类型,和struct.union地位相同,格式如下: // enum每个值的最后以逗号结尾 enum Color { GREEN, RED, BLUE }; // printf("%zu\n", sizeof(enum Color)); ==> 输出的结果为4,表明enum类型的变量占用4字节 (2)enum定义的第一个值默认情况下为0,后一个的值在前一个值的基…
1. struct的小秘密 (1)C语言中的struct可以看作变量的集合 (2)struct的问题——空结构体占用多的内存? [实例分析]空结构体的大小 #include <stdio.h> struct TS { }; int main() { struct TS t1; struct TS t2; //VC.BCC下定义空结构体编译器直接报错,gcc下空结构体大小为0 printf("sizeof(struct TS) = %d\n", sizeof(struct T…
1. const只读变量——(注意不是真正常量,只是告诉编译器不能出现在赋值号左边!) (1)const修饰的变量是只读的,本质还是变量 (2)const修饰的局部变量在栈上分配空间 (3)const修饰的全局变量在全局数据区分配空间(vc.gcc会将其放入常量区,bcc放入全局数据区) (4)const只在编译期有用,在运行期无用 [编程实验]const变量的本质 #include <stdio.h> ;//bcc下放入全局数据区,可修改. //vc.gcc将其放入常量区,不可修改 int…
struct的小秘密:空结构体占多大内存呢? 直观的答案有两种: 1.空结构体的大小为0 2.结构体本来就是为了将不同的变量集合在一起使用的,定义空结构体会导致编译错误 实例分析: #include <stdio.h> struct TS { }; int main() { struct TS t1; struct TS t2; printf("sizeof(struct TS) = %d\n", sizeof(struct TS)); printf("sizeo…
Evernote Export 比赛题目介绍 TalkingData是中国最大的第三方移动数据平台,移动设备用户日常的选择和行为用户画像.目前,TalkingData正在寻求每天在中国活跃的5亿移动设备70%以上的行为数据,帮助客户更好的了解与其用户互动. TalkingData提供了大约20万用户的数据(全部真实且经过脱敏处理),按照年龄和性别分成12个组,比如男性22到25岁,女性30到35岁,同时提供了用户行为属性,比如在什么样的时间点出现什么样的地理位置等等,选手通过这些信息去推测用户是…
1. GUI程序开发概述 (1)现代操作系统提供原生SDK支持GUI程序开发 (2)GUI程序开发是现代操作系统上的主流技术 (3)不同操作系统上的GUI开发原理相同 (4)不同操作系统上的GUI SDK不同 2. GUI程序开发原理 (1)GUI程序在运行时会创建一个消息队列 (2)系统内核将用户操作翻译成对应的程序消息 (3)程序在运行过程中需要实时处理队列中的消息 (4)当队列中没有消息时,程序将处于停滞状态 (5)不同操作系统支持相同的GUI开发原理 3. GUI程序开发的本质 (1)在…