指针:

  • 什么是指针?表示数据存储的地址
  • 语法:数据类型 *指针名 被指针对象
  • *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();
      }

       

             

           
内容来源于网络如有侵权请私信删除

文章来源: 博客园

原文链接: https://www.cnblogs.com/Mr-shne/p/16754370.html

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!