指针本质上是一串数字

前言:  1,、指针本质上就是地址值,也就是一串数字

             2、int * a =b ;

                    int * a = &b ;

                    区别:

 int *a=b:把b的值赋值给指针a(*a),
 int*a=&b:让指针a(*a)指向b的地址。(也就是把b的地址值赋给a)
结论:
      理解:  unsigned int *pdwDest = (unsigned int *)0x30000000; //1
        *pdwDest = 0x2410;//2
        这个的意思就是
        1、(unsigned int *)0x30000000;    强制转换0x30000000为unsigned int 型指针变量,然后赋给与它相同类型的pdwDest
             2、对*pdwDest操作就像在 int * a =&b;中对*a=0x2410;(*a = b;)操作,就是在&b位置处写上0x2410一样
         
         同理:可以理解*(volatile unsigned long *)A ,#define GPACON *(volatile unsigned long *)0x0000555F,的含义了
 其本质上就是将 *(&b)=b;的变换形式的应用

           
            
            
          

你可能感兴趣的:(指针本质上是一串数字)