zoukankan      html  css  js  c++  java
  • Const指针 、 指向const的指针 、引用、指针

    1. const指针和 指向const的指针

    指向const的指针: 不允许通过指针来改变其指向的const值

    const double *cptr

    *cptr = 42;  // error! 指针代表的值无法修改

    const double pi =3.14

    double *ptr = &pi //error ! 无法将指向const的指针赋值给非非const指针;

    const double *cptr = &pi //ok  


    const 指针:本身值无法修改,即指针指向的地址无法修改

    int num = 0;

    int *const cur = &num ;// 错误 


    2.数组的引用做参数 

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>


    void fun( unsigned char* const &a )
    {
    memset(a , 5,5  );
    }


    int main()
    {
    unsigned char a[5];
    fun(a );
    return 0;
    }


    3. 不能将指向const的指针的指针转换为指针

    const char * 转 char* 

        指向const的指针不能被赋给指向非const的指针,所以应该用strcpy,也就是另开一块内存,把字符一个个复制过去,示例如下:
      const char *expr = "goodidea";
      char *buf = new char[strlen(expr)+1];
      strcpy(buf, expr);



  • 相关阅读:
    团队介绍与选题报告
    实验6:开源控制器实践——RYU
    二叉搜索树的2层结点统计 (25 分)
    2020团队程学设计天梯赛-总决赛
    口罩发放 (25 分)
    九宫格输入法
    检查密码
    暑期训练10-1010
    暑期训练09-1003
    数据结构之循环队列
  • 原文地址:https://www.cnblogs.com/luoyinjie/p/7219343.html
Copyright © 2011-2022 走看看