• C++指针概念


    时间长了,有很多概念性的东西自己竟然描述不出来,虽然知道怎么用,但是描述不出来就是能力不能体现的一种。
    语言中,指针是一种类型,被称为“指针类型”。指针类型描述的是一个地址,这个地址指向内存中另外一个对象的位置。简单地说,指针表示的是它所指向对象的地址。
    1、比较point,*point,&point三者的区别
    对于int * point;
    point:是指针变量,其内容是地址量。
    *point:是指针变量的目标变量,即指针指向的那个变量,其内容是数据。
    &point:是指指针变量本身所占据的存储地址。
    2、指针与数组
    用指针和数组名在访问内存中的数据时,他们的表现形式是等价的,因为他们都是地址量。
    数组名表示整个数组的首地址,可以看作是固定地址的指针,不能被赋值。
    数组名无须赋初值,而指针在使用前必须赋初值。
    3、字符指针和字符串
    字符串是一个字符数组,字符串以‘’结束。printf函数的%s格式输出字符时,是从给定的地址开始,到遇上第一个‘’字符时结束。
    对字符指针初始化,是将字符串的首地址赋给指针。
    4、指针型函数
    所谓指针型函数,即返回值是指针(地址)的函数。
    5、多级指针
    指向指针的指针(**p)就是二级指针,指向指针的指针的指针(***p)是3级指针。
    多级指针类似于间接寻址。
    6、指向函数的指针
    C语言中的函数名表示函数的首地址,即函数执行的人口地址。
    定义形式:[存储类型][数据类型标示符](*指向函数的指针变量名)();
    例子: int(*fun)();//指向函数的指针 , int * fun(); //指针型函数,注意(* fun)括号不能少
    7、动态指针
    当需要一大片内存的时候,最好使用动态分配。
    使用malloc函数:void * malloc(size_t size)。
    例子:
    int * pn=malloc(10*sizeof(int));
    double *pd=malloc(10*sizeof(double));

  • 相关阅读:
    K8S 之Pod简单提供持久化存储
    K8S 备份所有Namespace的yaml应用配置文件
    Ceph 集群部署
    Django cookie使用
    Django CBV使用
    hashlib模块
    如何序列化之json和pickle:
    os模块
    random模块
    os模块
  • 原文地址:https://www.cnblogs.com/WinkJie/p/14277563.html
Copyright © 2020-2023  润新知