1.const修饰符
const指针指向的对象可以被修改,但const指针本身不能被修改。
缺省约定为const int,即单纯用const与const int等价。
2.struct
一个结构包含它自己的实例是非法的,但是可以包含指向实例的指针。
struct aa{……}newname;得到一个名为newname的aa类型的实例。
3.malloc的返回值
返回一个void型、指向已分配地址的指针,可以强制转换为其他类型的指针,也可以赋值给其他类型的指针。
4.域
域是无符号的,它们只能存放于int类型的数中(无符号整数),它们不是数组,不能取地址(&不能用于它们)。
5.联合(union)
sizeof(union)= sizeof(union的变量中,占用空间最大的变量)。
以同一空间存储结构内所有类型的值。在赋值时,只要对其中一个变量赋值,其他变量也就有了值。
6.枚举(enum)
如果不进行初始化,第一个枚举符的值是0,第二个1……。如果将其中某个初始化为n,其后的枚举符为n+1……
7.typedef
typedef声明并不创建任何意义上的新类型。它仅仅为某些现有的类型增加新的名字。
typedef struct aa{……}newname;为结构aa定义一个好记的名称newname,newname myname可以获得一个名为myname的aa类型的实例。
8.引用头文件
加尖括号是为了提示编译程序在包含标准首部信息的目录中找该文件,即到标准库寻找;通常的双引号告诉编译器从用户的工作路径寻找。
本文深入探讨了C语言中的高级概念和技术,包括const指针、结构体、联合体、枚举、内存分配及类型定义等内容,并解释了这些特性在实际编程中的应用。
&spm=1001.2101.3001.5002&articleId=2037923&d=1&t=3&u=1ac4dd19fe4d40afb680215977ecac13)
1862

被折叠的 条评论
为什么被折叠?



