首页 > 代码库 > C语言之强制类型转换与指针--#define DIR *((volatile unsigned int *) 0x0022)

C语言之强制类型转换与指针--#define DIR *((volatile unsigned int *) 0x0022)

强制类型转换形式:(类型说明符) (表达式)

举例说明: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;