自学内容网 自学内容网

C语言基础知识点(十四)C语言中对常量进行类型转换的操作

1、将整数常量转换为浮点数

int a = (float)5; // 实际上这里会有警告或错误,因为不能直接将int赋值给int变量通过float转换
float b = (float)5; // 正确,将整数5转换为浮点数5.0

2、将字符常量转换为整数

int c = (int)'A'; // 将字符'A'转换为对应的ASCII码值65(整数)

3、将浮点数常量转换为整数(注意:这会导致小数部分被截断)

int d = (int)3.14; // 将浮点数3.14转换为整数3

4、将指针常量(如NULL)转换为其他指针类型

void *e = (void *)0; // 将整数0转换为void*类型的空指针(与NULL等价)
int *f = (int *)NULL; // 将NULL转换为int*类型的空指针(实际上直接写int *f = NULL;也可以)

5、将整数常量转换为函数指针类型(这是不安全的,通常用于演示或特定情况下的底层编程)

void (*g)() = (void (*)())0; // 创建一个空的函数指针(值为0或NULL)

void (*g)() = ...;声明了一个名为g的变量,其类型为void (*)()(即指向不接受参数且返回void的函数的指针),并将其初始化为上述转换后的结果,即一个空函数指针。(

(void (*)())0 的实际含义就是:将常数0转型为“指向返回值为void的函数的指针”。


原文地址:https://blog.csdn.net/qq_51519091/article/details/143750834

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!