指针

指针:

  • 什么是指针?表示数据存储的地址
  • 语法:数据类型 *指针名 被指针对象
  • *prt  是值
  •  prt 是地址
  • int *prt = &xxx,声明指针并保存地址
  • 复制代码
    //引入头文件
    #include <stdio.h>
    
    void main(){
        int num = 1;
        int num2 = 200;
        //1.int * 表示类型为 指针类型
        //2.名称 ptr,ptr就是一个 int *类型
        //3.ptr指向一个int类型的变量地址
        int *ptr = &num; 
    ptr
    = &num2; //改变存放地址 *ptr = 100; //提供ptr去修改num地址里面的值 //1.获取本身地址 &ptr(指针也是有地址的,int * 也是类型) //2.ptr - 存放的地址 //3.*ptr - 获取指针头里面存放的值 printf("num=%p ptr=%p ptr地址%P:%p ptr值:%d",&num,&ptr,ptr,*ptr); getchar(); }
    复制代码

     

  • 细节:

    • int *ptr的int是根据指向的地址的类型来决定的,double、floa也都可以
    • 苦于提供指针头里的地址去改变地址对应的值
    • 指针类型也是有地址的 
  •  
  •  值传递和地址传递:

    • 值传递:默认传递值的类型:基本数据类型(整数类型、小数类型、字符类型),结构体、共用体

      • 什么是值传递:就是把值传递给另一个变量,被赋值的变量发生改变不影响到传递的变量  
    • 地址传递:指针、数组

      • 什么是地址传递:地址传递要叫指针传递,将指针中变量存储的地址,传递个接收的变量,如果是数组,就将数组的首地址传递个接变量

    • 复制代码
      void main(){
          //值传递
          int i = 10;
          int k = i;
          k = 20;
      
          //地址传递
          double ii = 10.99;
          double *ptr = &ii;
          double *kk = ptr;
          *kk = 55;
          getchar();
      }
      复制代码

       

             

           
posted @   Mr_申  阅读(198)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示