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);



  • 相关阅读:
    DS博客作业02--栈和队列
    DS博客作业02--线性表
    c博客06-结构
    c博客作业05--指针
    C博客作业04--数组
    博客作业03-函数
    循环结构
    c博客作业01--分支、顺序结构
    我的第一篇博客
    Macos安装JDK1.8
  • 原文地址:https://www.cnblogs.com/luoyinjie/p/7219343.html
Copyright © 2011-2022 走看看