39、C 语言高级主题解析

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 数组的指针

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值