C语言指针中带星号与不带星号的区别以及何时使用。

首先,我们直接看一段代码:

#include<stdio.h>
int main()
{
	int a;  //声明变量 a  ; 
	int *pa = &a;   //声明int类型的指针 pa , 指向 int a ; 
	a = 2;  // 向 a 赋值; 
    printf("a = %d\n",a);   //打印出 a的值; 
	printf("pa = %d\n",pa);  //打印出 pa的值; 
	printf("*pa = %u\n",*pa);  //打印出 *pa 的值; 
	 
	return 0;
}

       在这段代码中,我们声明了 变量a 以及指向它的 指针 pa ,在这段代码的声明中 可以看到在            声明指针时我们使用到了星号(*) 来声明指针。 

    那么关于取值是是否需要带星号(*),我们看上面下半段的 printf 的函数。

                       在打印结果中:

                      a 的值 是 2   pa 的值是 6487572     *pa 的值 是 2

          由此 可知 :  加星号时 访问的是该地址 也就是 变量a  ,不加星号则为该地址(6487572)

最终可以得知 

    声明时   直接访问  需要星号 *

查看地址是 不需要星号 *

          

 

  • 8
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值