c语言指针变量问题

**

指针,用来存储内存地址的变量,它指向单个对象的地址。

简单举个例子,int a 这里面的表示指针变量,a表示指针变量名,int表示这个指针是一个整型的指针。这如果还不明白的话,下面我用一串代码来更加具体的说一下。

**

在这里插入图片描述

#include<stdio.h>
void main(){
    int a=3;    //创建一个普通变量a 存3
    int b=4;    //创建一个普通变量b 存4
    int* c;     //创建一个指针变量c 指向b
    c=&b;       //将指针变量c指向普通变量b
    int** d;    //创建一个指向指针变量的指针变量
    d=&c;       //将指针变量d指向指针变量c
    printf("a的值=%d\n",a);//打印a的值
    printf("b的值=%d\n",b);//打印b的值
    printf("a的地址=%d\n",&a);//打印a的地址
    printf("b的地址=%d\n",&b);//打印b的地址
    printf("c的地址=%d\n",&c);//打印c的地址
    printf("d的地址=%d\n",&d);//打印d的地址
    printf("c的值=%d\n",c); //打印的是c所指向的变量b的地址
    printf("*c的结果=%d\n",*c);//打印取变量b的值
    printf("d的值=%d\n",d);//打印的是d所指向指针变量c的地址
    printf("*d的结果=%d\n",*d); // 打印指针变量c存的东西,c存的是b的地址
    printf("**d的结果=%d\n",**d); // 打印b存的东西,b存的是4
    // printf("%d\n",*a); warn
    printf("%d\n",*&a);// 打印先取a的地址,再取a里面存的东西
    printf("%d\n",&**d);// 打印d存的东西(c的地址)中的东西(b的地址)中的东西(4)的地址
    printf("%d\n",*&**&d); // 打印d的地址中的东西(c的地址)中的东西(b的地址)的地址(c的地址)中的东西(b的地址)
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值