首页 > 代码库 > 指针学习(1)

指针学习(1)

---恢复内容开始---

在指针中*是取内容,&是取地址

通常有两种的表示:

  • 通过指针向指向的地址内容赋值
*p=a; //将p指向的地址里赋a值

注意:若a和p定义的变量类型不一样时,需要用到强制转换才行.

当指针指向的地址内容是一个变量时,

实例如下:

int main()
{

int   *p=0x12345678;                     //定义一个int型指针p,p等于0x12345678这个地址。
char    a=‘0‘;                   //定义一个char型变量b

*p=(int)a;                 //*p等于a(p指向的地址内容等于a变量的值)          
}

  

当指针指向的地址内容是另一个指针指向的地址内容时,

实例如下:

int main()

{

int   *p=0x12345678;                     //定义一个int型指针p,p等于0x12345678这个地址。
char    b=‘0‘;                   //定义一个char型变量b
char *a=&b1;                //定义一个char型指针a,a=&b1,a指针等于b1的地址。

*p=*(int *)a;                 //首先是先执行(int *)强制转换为int型指针,然后*p等于*a(p指向的地址内容等于a指向的地址内容)          

}

  

  • 指针指向其它的地址
p=&a; //将p指向a的地址

   它和"int a=0,*p=&a;"一个意思,这里的*只是代表定义一个指针(不是指向地址的内容),然后指针p=&a;

实例如下:

int main()
{

int a=0,*p; //定义一个int型指针p,p等于0x12345678这个地址。

p=&a; //p等于a的地址,则*p=0

}

  

---恢复内容结束---

指针学习(1)