指针与指针变量的区别

1. 指针就是地址。

    指针变量里面存放的是所指变量的地址。


  举个例子说明一下:

  #include <stdio.h>

  void main()
  {

   int a=7;
   int *p=&a;
   printf("a的地址和内容是:%d,%d\n",&a,a); //p代表所指变量的地址,所以在输入的时候可以sacnf("%d",p)
   printf("通过p获取的a的地址和内容是:%d,%d\n",p,*p); //这里p是取p指针变量里面的内容即所指变量的地址,而不是所指变量的内容。


    printf("p指针变量本身的的地址是:%d\n",&p); //指针变量本身的地址。


结果:

  


   一般来说,指针变量代表所指变量的地址,而不是所指变量的内容,也不是指针本身的地址。所以说,指针变量也就是指针(地址,指针就是地址)
    指针变量p==所指变量a的地址&a,    二者是等价。所以在输入的时候可以scanf("%d",p)代替scanf("%d",&a)


   若要代表所指内容,就要在其前面加*,如*p==a


  总之:

  int * p,a;

  p=&a;

  printf("%d",p);  //p代表a的地址

 printf("%d",&p);  //取指针变量p本身的地址


 指针  =  地址  =  指针变量

  在windows编程时,传递指针类型的参数时,就可以传递一个地址,或者一个指针变量


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值