C指针地址运算

typedefunsigned intu32;

typedefunsigned shortu16;

typedefunsigned charu8;

在start.c 里面 定义

   u8  gdt_ptr[6];

    1. u32*(&gdt_ptr[2])  //  取得数组第2元素的地址,并转化为 四字节地址!

在kernel.asm

extern gdt_ptr ;导入全局变量

      sgdt [gdt_ptr];

 

 

------------------------------------------------------

 




functionA()

{

     struct TT A; //此时A已经取得栈空间

   

    int addr =1000;



    Function(addr, &A)

    

}  







Function(int addr,  struct TT *Ptr)

{

       struct TT *Tmp;

       for(int i= 0 ;  i < Vector.size() ; i++)

       {

          Tmp = & Vector[i] ;  左右边都是地址 

            if( add  == Tmp->addr)

              

          1.Ptr->x  = Tmp->x;   //复制操作

            2.memrcy(Ptr,Tmp ,sizeof(Tmp ));

            

               首先明白什么地址 和 地址里面的内容

                  



        }



}

 

 

 

 

你可能感兴趣的:(指针)