c语言中指针类型的强制类型转换

对指针类型数据进行强制类型转换的一般形式:

(类型说明符 *)指针表达式

其作用是把“指针表达式”的值的类型转换成“类型说明符”指定的指针类型。例如:

int * px, x = 10;
float * pf;
px = &x;
pf = (float *)px; //把px保存的int类型地址转换为float类型地址

以下是我的疑惑之处,问了大佬解惑。

1.变量x依然是int类型,没有转换成float类型。指针变量px也依然是int类型地址。(因为没有进行强制类型转换)

2.指针px和指针pf指向的是同一个地址,取内容*px时取出的是int类型数据,*pf时取出的是float类型数据。

 

可能还有一些地方说的不准确,等我阅读更多,理解更准确后再回来修改。

你可能感兴趣的:(c语言学习笔记)