美文网首页
c/c++补完计划(一): 指针常量和常量指针

c/c++补完计划(一): 指针常量和常量指针

作者: sean_depp | 来源:发表于2020-07-19 22:54 被阅读0次

前言

想写点c/c++的东西.

正文

最近笔试遇到一个题, 要写出以下4种情况的输出:

int main() {
    const char *str1 = "ddddddd";
    char *const str2 = "ddddddd";
    char *str3 = "ddddddd";
    char str4[] = "ddddddd";

    *(str1 + 2) = 'a';
    *(str2 + 2) = 'a';
    *(str3 + 2) = 'a';
    *(str4 + 2) = 'a';

    printf("%s", str1);
    printf("%s", str2);
    printf("%s", str3);
    printf("%s", str4);

    return 0;
}

说实话, 算是送分题, 基本上你看过一遍也就会了, 但是没看过, 你可能就晕了.

  • 常量指针
  • 指针常量
  • 指针
  • 数组

常量指针意味着字符串内容不可变, 如果尝试修改, 在写出赋值代码的时候, ide就会告诉你这是错误的, 好理解.
指针常量意味着指向地址是不变的, 内容可变. 尝试赋值, ide不会觉得有问题, 但是注意, 你肯定要malloc之后才可以进行操作, 否则, 这依旧是只能读不能改.
指针自然是可以修改地址和内容, 但是同样要malloc之后才可使用, 否则, 依旧只能读, 不可改, 因为空间不是你申请的.
最后数组就简单了, 初始化之后, 只要不越界, 大部分操作都可直接执行.

相关文章

  • C++ 指针常量、常量指针和常指针常量

    参考:C++ 指针常量、常量指针和常指针常量

  • c/c++补完计划(一): 指针常量和常量指针

    前言 想写点c/c++的东西. 正文 最近笔试遇到一个题, 要写出以下4种情况的输出: 说实话, 算是送分题, 基...

  • C++指针常量和常量指针

    《Effective C++》条款三中写道: 如果关键字const出现在星号左侧,表示被指物是常量;如果出现在星号...

  • const理解

    关于const *和* const的理解,可以参考[C C++ OC指针常量和常量指针区别]这篇文章。 该篇文章中...

  • C++指针常量与常量指针

    指针常量:指针本身是常量,指针的值不能改变常量指针:指针指向的值是“常量”(打引号表示的是不能通过指针改变指向的值...

  • C++ Primer 读书笔记02

    “C++ Primer” this this总是指向“这个”对象,所以this是一个常量指针 常量对象,以及常量对...

  • C++中的const和指针

    C++中的const可以与指针一起使用,通常可以归纳为3种:指向常量的指针,常指针,指向常量的常指针。 (1)指向...

  • C++中的常量指针和指针常量

    个人博客http://www.milovetingting.cn[http://www.milovetingtin...

  • C++语言-面向对象

    1、C++的常量 c++中的常量是真的常量,如果放在C语言中,则可以通过指针修改,但是在C++中则会报错 2、C+...

  • C/C++的指针常量与常量指针

    一、指针常量 指针常量首先是常量,用指针修饰,也就是指针的常量。指针本身不可被修改,但其指向的值可以被修改。 in...

网友评论

      本文标题:c/c++补完计划(一): 指针常量和常量指针

      本文链接:https://www.haomeiwen.com/subject/peldkktx.html