`
yaojingguo
  • 浏览: 208198 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Sample code to show the usage of const

阅读更多

C++ syntax is complex and counter-intuitive. Here is the code to help me understand const.

 

#include <stdio.h>

/*
 * const data
 */
void constData(const char *arg) 
{
    // can't be compiled
    // *arg = 'A';

    arg = "A";
}

void constPointer(char * const  p)
{
    // can't be compiled
    // p = "A";

    *p = 'A';
}

/*
 * argv is a pointer array. The pointers in the array are const.
 */
void constPointerArray(char *const argv[]) 
{
    // can't be compiled
    // *argv = "A";
    
    *(*argv) = 'x';
    argv = NULL;
}

int main(int argc, const char *argv[]) 
{
    char str1[] = "abc";
    char str2[] = "123";
    char *pp[2];
    *pp = str1;
    *(pp+1) = str2;

    constData(str1);
    printf("%s\n", str1);

    constPointer(str1);
    printf("%s\n", str1);

    constPointerArray(pp);
    printf("%s\n", *pp);
    printf("%s\n", *(pp+1));

    return 0;
}
0
0
分享到:
评论

相关推荐

    The Story of Const

    ### const关键字:编程中的守护者 在编程领域,尤其是在C++和C语言中,`const`关键字扮演着至关重要的角色,它如同一个守门人,守护着数据的完整性与安全性。本文将深入探讨`const`的多维应用,以及为何程序员应该...

    变参array of const深入研究.mht

    变参array of const深入研究.mht

    Const,Const函数,Const变量,函数后面的Const.txt

    ### 关于Const、Const函数与Const变量的理解 在C++编程语言中,`const`关键字是一种类型限定符,被广泛用于提升代码的安全性与可读性。本文将深入探讨`const`的不同用法及其背后的原理。 #### 1. `const`修饰参数 ...

    const T vs. T const

    const T vs. T const 是在C语言及C++语言编程中非常重要的一个知识点,主要涉及const关键字如何与数据类型结合使用,以及它对变量或函数的限制。本文将详细探讨const关键字的用法,以及const在数据类型声明中的不同...

    Google C++ Style Guide(Google C++编程规范)高清PDF

    The goal of this guide is to manage this complexity by describing in detail the dos and don'ts of writing C++ code. These rules exist to keep the code base manageable while still allowing coders to ...

    C++中const用法全解

    C++ 中 const 用法全解 const 在 C++ 中占有重要作用,属于小兵立大功的典型,本文档详细介绍了如何使用 const。 1. const 常量 在 C++ 中,const 可以用来修饰变量,称为常量。例如:const int max = 100; 这种...

    C++const关键字详解

    // error: attempt to write to const object ``` 同时,`const`常量必须在声明时进行初始化,否则将出现未初始化的错误: ```cpp const int i, j = 0; // error: i is uninitialized const ``` #### 二、数组和...

    类的static,const,static const,const static成员的初始化

    类的static、const、static const、const static成员的初始化 在 C++ 编程中,static、const、static const 和 const static 是四个常见的概念,但它们的初始化方式却容易弄混淆。下面我们将对这四种成员变量的初始...

    SampleCode1

    【标题】SampleCode1 【描述】SampleCode1是一个与JavaScript相关的代码样本集合,它可能是为了展示、学习或测试JavaScript编程技巧和概念而创建的。这个项目的核心是其"main"部分,通常在项目结构中,"main"指的是...

    const-eval-init.rar_The Test

    在描述中提到的"Test the handling of initialization of deleted const variables",是指检查Java编译器或运行时环境如何处理那些试图被删除或者不能正常初始化的const变量。这可能包括了未初始化的const变量、尝试...

    const和volatile分析

    在C++编程语言中,`const`和`volatile`是两个非常重要的关键字,它们用于修饰变量,赋予变量特殊的属性。这两个关键字在理解程序的行为、内存模型以及多线程编程中起到至关重要的作用。在此,我们将深入探讨`const`...

    Const 用法小结

    在C++中,`const`关键字有着广泛的应用,它可以用于定义常量、修饰类的数据成员、指针以及函数参数和返回值。以下是关于`const`的一些详细解释: 1. **const 常量**: - `const int max = 100;` 定义了一个名为`...

    const int *a int * const a区别实例

    const 关键字在 C++ 中的应用和区别 const 关键字是 C++ 中一个非常重要的关键字,它可以用来修饰变量、指针、函数参数等,使其具有只读属性。本文将对 const 关键字的应用和区别进行详细的总结和分析。 const ...

    const用法 const int *a; int * const a;

    在C++编程语言中,`const`关键字用于声明常量,它可以用来修饰变量、指针、引用等,以限制它们的可变性。本文将详细解释`const`的各种用法。 1. **常量变量**: - `const int a;` 或 `int const a;`:声明了一个...

    C++中const关键字详解

    ### C++中const关键字详解 #### 一、引言 在C++编程语言中,`const`关键字是一个非常重要的概念,它被广泛用于各种上下文中,以提高代码的安全性、可读性和效率。本文将详细介绍`const`关键字的用法及其在不同场景...

    const与static用法完整总结

    ### const与static用法完整总结 #### 一、const关键字详解 **1. 常量定义** 在C++中,`const`关键字用于声明一个常量或对象的一部分为不可变。例如: ```cpp const int max = 100; ``` 此处`max`被声明为一个...

    c语言之const用法

    C 语言之 const 用法 const 关键字是一个非常重要的概念在 C 语言中,它可以用来限定变量、指针和函数的行为,让程序更加安全和可靠。下面我们来详细介绍 const 的用法和相关知识点。 1. const 的普通用法 const ...

    const关键字使用总结

    ### C/C++中的`const`关键字详解 #### 一、`const`的作用 `const`关键字在C/C++中有着广泛的应用,它主要用于定义不可更改的变量或对象,以此提高程序的安全性和可维护性。 **1. 定义`const`常量** - **作用**...

    c语言const用法小结

    C语言const用法小结 const 是 C 语言中一种非常重要的关键字,它可以用来修饰变量、指针、函数返回值、函数参数和成员函数等。 const 的使用可以提高代码的安全性和可读性,本文将对 const 的各种用法进行总结。 1...

Global site tag (gtag.js) - Google Analytics