1,goto语句
高手潜规则:禁用goto
项目经验:程序质量与goto的出现次数成反比
goto语句破坏C语言特性结构,带有一些汇编特征。
2,void类型
void修饰函数返回值和参数
如果函数没有返回值,那么应该将其声明为void
如果函数没有参数,应该声明其参数为void
函数的参数不写,不代表不接受参数,而代表可以接受任何参数,函数的类型声明不写,默认为int,如果你的函数不需要返回值或无参数,需要声明为void
在C语言中,把void看做一种抽象类型,在标准C语言规范中并没有规定void占多少字节大小,它只是概念上的类型,不是实际上的类型,你无法在内存中裁剪出void对应的变量。我们不可以定义void类型的变量,但可以定义void类型的指针。
补充:ANSI C:标准C语言的规范
扩展C:在ANSI C的基础上进行扩充
有的代码在ANSI C编译器中无法编译,但在GCC编译器中可能可以。
void指针:
void* 作为左值用于“接收”任意类型的指针
void* 作为右值使用时需要强制类型转换
实践:使用void* 实现memset()函数