栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

一级指针、二级指针的创建和引用

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

一级指针、二级指针的创建和引用

对于二级指针的引用自己一直很迷惑。思考了一下,最终认为引用这个词要好好理解。最下面有一个内存的图,配合理解。
以下是对于引用的一些代码和输出。

#include 

int main(void){

    int a = 10, b = 20, c = 30;
    int *p1 = &a, *p2 = &b;//指针的创建
    int **boss1 = &p1;
    printf("初始值:n");
    printf("a=%d,b=%d,c=%d, *p1=%d,*p2=%d, **p1=%dnn",a,b,c,*p1,*p2,**boss1);

    //改变一级指针的值
    *p1 = 11;
    *p2 = 21;
     printf("引用:改变一级指针的值:*p1 = 11,*p2 = 21n");
     printf("a=%d,b=%d,c=%d, *p1=%d,*p2=%d, **p1=%dnn",a,b,c,*p1,*p2,**boss1);

     //改变二级指针的值
     a = 10; b = 20; c = 30;
     **boss1 = 12;
     printf("引用:改变二级指针的值:**boss1 = 12;n");
     printf("a=%d,b=%d,c=%d, *p1=%d,*p2=%d, **p1=%dnn",a,b,c,*p1,*p2,**boss1);

     a = 10; b = 20; c = 30;
     *boss1 = p2;
     printf("引用:改变二级指针的值: *boss1 = p2;n");
     printf("a=%d,b=%d,c=%d,*p1=%d,*p2=%d,**p1=%dnn",a,b,c,*p1,*p2,**boss1);

      a = 10; b = 20; c = 30;
      *boss1 = &c;
      printf("引用:改变二级指针的值: *boss1 = &c;n");
      printf("a=%d,b=%d,c=%d,*p1=%d,*p2=%d,**p1=%dnn",a,b,c,*p1,*p2,**boss1);

      //改变一级指针
      a = 10; b = 20; c = 30;
      p1 = &c;
      printf("改变一级指针本身n");
      printf("a=%d,b=%d,c=%d,*p1=%d,*p2=%d,**p1=%dnn",a,b,c,*p1,*p2,**boss1);


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/443644.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号