zoukankan      html  css  js  c++  java
  • 【C/C++】指针用法详解

    定义与初始化

    • 定义:int *p=&a;
    • 初始化:int *p ; p=&a;

    也就是说,定义时使用int p表示定义p为一个指针变量;而使用时,p代表地址,p代表其内容。

    char a[ ]和char *a

    char a[ ] 内容可变,地址不可变 char *const p,是指针常量
    const char *a 内容不可变,地址可变 const char *p,是指针变量
    char *a 内容不可变,地址可变

    这里“地址”指a的值。

    这里“内容不可变”指不可以编辑*a的具体某一个单元。

    注意:char const *p=const char *p

    多层指针嵌套

    char a[ ][ ] ;
    a[0]+1=&*(a[0]+1) ;
    a+1=&*(a+1)=&a[1] ;
    a[i][j]=*(a+i)[j]=*((*(a+i))+j) ;
    

    指针应用

    • 指针作为函数参数
    • 指针作为函数返回值
    • 指向函数的指针(指向函数在内存中的首地址)

    表示方法

    int *p 定义一个指向整型的指针
    int (*p)[6] 定义一个指向数组的指针
    int *p[6] 定义一个指针数组
    int *p( ) 定义一个返回【指向整型指针】的函数
    int (*p)( ) 定义一个指向【返回整型函数】的指针
    int (p)( ) 定义一个指向【返回(指向整型指针)函数】的指针

    实例

  • 相关阅读:
    Java 反射
    类中静态/普通/构造初始化顺序
    计算机世界中的0和1
    Java并发练习
    HashMap底层
    HashMap 与 Hashtable 的区别
    为什么重写了equals() 就要重写hashcode()
    干货型up主
    JSP页面元素
    重定向与请求转发的区别
  • 原文地址:https://www.cnblogs.com/fighterkaka22/p/14204140.html
Copyright © 2011-2022 走看看