强制类型转换形式:(类型说明符) (表达式)
举例说明:1) int a;
a = (int)1.9;
2)char *b;
int *p;
p = (int *) b; //将b的值强制转换为指向整型数据的指针类型,后赋给p
注示:类型说明符和表达式都必须加括号,表达式为单个变量可不加括号。
总结:只要看到(类型说明符) (表达式) 的一定为强制类型转换;如(int *) 0x0022;
再举一例:#define DIR *((volatile unsigned int *) 0x0022)
volatile unsigned int *DIR = (volatile unsigned int *)0x0022; //左右两边的类型说明符要一样
//这句与上句作用一样:DIR指向地址0x0022内存单元
或者: volatile unsigned int *PADIR = (volatile unsigned int *)0x0022;
PADIR = (volatile unsigned int *)0x11;
C语言之强制类型转换与指针--#define DIR *((volatile unsigned int *) 0x0022)
时间: 2024-10-11 15:52:08