• C指针


    main(){

      int a = 2 , b =0;

           

          // 声明指针变量

           int *pa , *pb;

         

          //为指针变量赋予指针

           pa = &a;

           pb = &b

         

          //通过指针变量访问变量 

           b = *pa;

         

         // 将b的值赋予a,此时*pa等同于a,*pb等同于b ,可以理解是变量的不同表达形式。变量由名字和地址组成,得到地址等于得到变量本,可以傲娇的说,其他的都不重要,我只要地址。

          *pa = *pb

          printf( *pa == a)

    } 

     

    指针变量用于存放指针;

    指针是变量的地址;

    变量通过地址存取值,则可以任务变量包含地址,变量由地址构成,通过取地址运算符可以取到变量的地址;

    间接访问运算符*,作用于指针变量,可以获取变量。

    等于说通过变量来访问存储在内存上的数据,是直接访问。通过指针变量+间接访问运算符访问变量,是间接访问。

    亦即 a = *pa 。等于说指针变量可以指向真正的变量本体。

    指针的用图:

            在函数中修改实参的值,函数接收实参的指针变量。

                    当向函数传参时,如果想在函数内部改变传给形参的实参值,在函数内部是做不到的,因为调用函数传给函数的实参是副本,副本的地址和本体不一样,不能通过副本修改本体。

                   此种应用场景下,就可以打破函数的限制,即单向传值的限制。实参能向形参传值,在函数中不能改变实参值的限制。

            

  • 相关阅读:
    (大数 小数点) 大明A+B hdu1753
    (大数 万进制) N! hdu1042
    (next_permutation) 排列2 hdu 1716
    (set)产生冠军 hdu2094
    (Set) {A} + {B} hdu1412
    (set stringstream)单词数 hdu2072
    (set)MG loves gold hdu6019
    (set) 人见人爱A-B hdu2034
    (map)水果 hdu1263
    (map)What Are You Talking About hdu1075
  • 原文地址:https://www.cnblogs.com/hengwu/p/9522083.html
Copyright © 2020-2023  润新知