• 指针


    指针--一种类型,指针类型(*);

     指针变量--指针只能指向某块地址,不能给一个常量值。 

    整形指针

    int * 

    //字符串

    char * 

    //浮点型指针

    float *

    int a = 10;

    int *p = &a;(取地址。指针类型和a是一样的 

    指针在内存占据8个字节,与类型无关 

    通过指针变量p改变a的值

    1.获取变量p的值

    2.使用*获取某个地址里面的值。

    *p = 20.即可改变源地址@a,里面a的值。

    2)获取数组的地址

    int array 【5】={1,2,3,4,5}

    printf("%p ,array") -----获取首地址

    printf("%p,&array[0]")----获取第一个元素的地址

    printf("%p ,array[0]")-----无效,因为array [0]是取值1,要用%d.

    printf("array + 1 %p ,array+ 1")   -----地址+1,地址字节是4,(array + 1 %p ,array+ 1*4字节),所以是地址+字节数

    1.常量指针

    const  int*pA = &a

    *pA = 20  ------不能改变指针指向的变量的值

    pA = &b -----可以改变指针的指向

    2.指针常量

    int *const pA = &a;

    *pA = 20-----可以改变指针指向的变量的值

    pA = &b;-------不能改变指针的指向

    3.指向常量的常量指针

    const int *const pA-------指针的指向和指向的值都不可以改变。 

    什么时候需要指针

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

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

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

  • 相关阅读:
    oracle goldengate技术架构-简单试验(全)
    oracle goldengate安装
    Oracle HA 之 OGG部署流水
    Oracle HA 之 基于活动数据库复制配置oracle 11.2 dataguard
    Oracle HA 之 oracle 11.2 rac库配置active dataguard
    sosi-statistics
    xplan-打印执行顺序
    统计信息脚本
    Oracle管理监控之段空间利用监控-oracle性能优化
    监控7天内过期用户脚本
  • 原文地址:https://www.cnblogs.com/yangqinglong/p/5035025.html
Copyright © 2020-2023  润新知