C 语言高级主题解析
1. 指针与类型转换
1.1 void 指针的使用
在 C 语言中, void 指针是一种通用指针,可以指向任何类型的数据。以下是一个示例代码:
struct Dog {
void *next;
};
struct Cat {
void *next;
};
struct Dog myDog;
struct Cat myCat;
myDog.next = &myCat;
myCat.next = NULL;
在这个代码中, Dog 结构体的 next 字段是一个 void 指针,因此可以直接指向 Cat 结构体,而无需进行类型转换。不过, void 指针会移除编译器的许多常规安全检查,所以只有在指针确实具有通用性时才应使用。
1.2 const 修饰符
const 修饰符表示变量的值是不可变的。例如:
const int ci = 3;
ci = 4; /* <-- syntax error */
const 修饰符在与指针结合使用时更为有用。例如,声明一个指向 const char 数组的指针
超级会员免费看
订阅专栏 解锁全文

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



