zoukankan      html  css  js  c++  java
  • 指针

    用处:

    访问函数在函数内部需要改变外部传入的变量值

    函数里面需要得到一个连续存储空间的首地址

    动态分配内存,需要记录分配内存的首地址


    1.指针类型:

      int * 整形指针

      char* 字符串

      float* 浮点指针

      指针变量在64位机内存里占8个字节。

    2.指针只能指向某一块地址,不能给常量值  

      int* p = 10;错误;

      int a = 10; int * p =& a;正确;

      *p=20; 改变了a 的值(p=a的地址,*取地址里的值)

    3.指针和数组的关系:

      int array[5] = {};  

      array = &array[0], array+1 = &array[1]...数组名为数组首地址,地址加1相当于地址加上一个元素占据的字节。

      array[0] = *(array +0), array[1] = *(array +1)...

    4.常量指针    不可以改变指向变量的值,但是可以改变指向

      int a =10; int b = 20;

      const int * pa = &a;

      *pa = 20;X

      pa = &b;

    5.指针常量   可以改变指向变量的值,但是不可以改变指向

      int a =10; int b = 20;

      int *const  pa = &a;

      *pa = 20;

      pa = &b;X

    6.指向常量的常量指针    不可以改变指向变量的值,不可以改变指向

      const int *const pa = &a; 

    7.函数指针

    int add (int a,int b){

    }

    int (*pfunction)(int,int) = add;  //函数指针

    int result = pfunction(3,4);

    pfunction = aadd;  //指向另一个函数

  • 相关阅读:
    spring源码学习(一) 小小少年
    mysql索引 小小少年
    Java集合框架个人学习笔记 小小少年
    记录一些自己百度到的问题解决方法
    基于内容的医学图像总结
    黑客与画家 第一章
    问题,不是逃避的
    黑客与画家 第二章
    记录最近一周的感受
    暗时间之体会
  • 原文地址:https://www.cnblogs.com/huoran1120/p/5036496.html
Copyright © 2011-2022 走看看