const修饰变量是常用的,不容易犯错,而const和指针一起使用时很容易混淆。

(一)const int *p

#include <stdio.h>int main(void)
{int a = 10;int b = 20;const int *p = &a;*p = b;return 0;
}

const在int *的左侧,即指针指向内容为常量,所以p指向的内容不允许修改,编译器报错

修改成p = &b后编译通过,因为这是修改指针p本身。

(二)int* const  p

#include <stdio.h>int main(void)
{int a = 10;int b = 20;int* const p = &a;*p = b;return 0;
}

const在int*的右侧,即指针本身为常量,所以*p = b是允许的,而*p = &b是不允许的。

(三)const int* const p

通过一二的例子,举一反三,可知两个const分别出现在int *的左右侧,说明p不仅指针本身不能修改,且p指向的内容也不能修改。

C语言开发笔记(七)const和指针相关推荐

  1. qml开发笔记(七):输入元素鼠标输入MouseArea和键盘输入Keys

    若该文为原创文章,未经允许不得转载 原博主博客地址:https://blog.csdn.net/qq21497936 原博主博客导航:https://blog.csdn.net/qq21497936/ ...

  2. windows内核开发笔记七:内核开发OVERLAPPED结构体详解

    windows内核开发笔记七:内核开发OVERLAPPED结构体详解 typedef struct _OVERLAPPED {   DWORD Internal;   DWORD InternalHi ...

  3. JNI开发笔记(七)--aar库的生成和调用

    aar库的生成和调用 引 前言 1. 新建一个空工程 2. 新建一个Module 3. 移植JNI工程到Module中 4. 生成aar库与so库 5. 在另一个工程中调用aar库 引 JNI开发笔记 ...

  4. 翁恺老师C语言学习笔记(十)指针_指针与数组

    传入函数的数组成了什么? · 当我们向一段函数传入数组变量,参数接收到的是值,如果我们传入指针时,参数接收到的是也是值(一个地址): · 如果传入函数的是一个普通变量,它接收到的是一个值 · 如果传入 ...

  5. c语言putchar_C语言学习笔记(三)指针

    0 往期链接 Chenglin Li:C语言学习(一)全部知识点 Chenglin Li:C语言学习(二)指针函数分配内存 1 指针 指针式C语言中的一个重要概念,也是C语言的一个重要特色. 指针可以 ...

  6. c语言数组与指针的基础知识,C语言学习笔记之数组与指针的关系

    首先,大家先需知道一个关于基类型的概念 基类型:组成一个新类型的基础类型 这句话是什么意思呢?举个例子: int a[3] = {1,2,3}; 上面是由三个int类型的数组成一个新的类型也就是数组, ...

  7. C语言学习笔记---指向函数的指针

      在内存中函数的存放也是一段连续的内存,函数名就是指向改内存中的首地址,所以也可以将这个函数的首地址赋给一个指针变量,这样通过指针变量就可以访问改函数.   那么为什么要通过指针来访问函数呢?下面通 ...

  8. Go语言学习笔记(三)---指针,运算符及流程控制

    4.2.8 指针 基本介绍:1)基本数据类型,变量存的就是值,也叫值类型.2)获取变量的地址,用&.3)指针类型,指针变量存的是一个地址,这个地址指向的空间存的才是值.4)获取指针类型所指向的 ...

  9. c语言函数打印零星,C语言零星笔记--(const、typedef)

    好不容易偷闲,去逛了下论坛,这手贱的又点到了技术区,看了个哥们的问题,就是const和typedef结合在一起会出现什么情况,那百度和360结合会是什么况.... 描述下问题: typedef int ...

最新文章

  1. 解决不了bug先放着,这里有40条提升编程技能小妙招
  2. react 之 setState
  3. oracle 让sys用户可以使用isqlplus
  4. 家庭背景音乐的发展趋势
  5. leetcode C++ 6. Z 字形变换 将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。
  6. sizeof()使用注意
  7. 重试次数配置_TestNG实践——2.用例失败重试
  8. laravel运用redis存储数据和读取的方式
  9. Ceph Block Device块设备操作
  10. Spring Boot的Properties和YAML配置文件详解:
  11. Hadoop和Spark三大核心组件介绍与对比
  12. 小米r1d安装php,小米路由器 一键安装LLM教程
  13. RISC-V_GD32VF103-开发环境搭建和使用
  14. 男人的梦想:世界名车标志
  15. 支持delete吗_那些年删过的库,跑过的路,你从中找到解决方法了吗?
  16. ipad html 自定义裁剪图片大小,如何在iPhone或iPad上裁剪和编辑照片 | MOS86
  17. 纳税人信息与服务器信息不一致,没有申报清册信息怎么办
  18. Unity Timeline的使用
  19. python 涨停统计_Python采集选股宝涨停信息
  20. webpack css中字体文件路径问题

热门文章

  1. 成功人士都有的好习惯
  2. 去小公司了解哪些工具?
  3. html 转换xslt,XSLT xsl:template 元素
  4. 深入理解this机制系列第三篇——箭头函数
  5. 送福利:ROKID 语音开发板免费送,开启你的物联网之旅
  6. jQuery.ajaxPrefilter()函数的使用
  7. 聊聊一直困扰前端程序员的浏览器兼容-【css】
  8. 关于换行这个动作,win 和 mac 的实现
  9. Vue中的Js动画与Velocity.js 的结合
  10. C 语言实例 - 使用结构体(struct)