【注:本程序验证是使用vs2013版】

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#pragma warning(disable:4996) //5、const跟结构体配合使用
typedef struct MyStruct{
int a;
int b;
}MyStruct; void fun(MyStruct *p){
//指针和指向内存都可以变
p = NULL;//ok
p->a = ;//ok
} void fun1(MyStruct const *p){
p = NULL;//ok //指针可以改变
//p->a = 10;//err //指针指向不可以改变 } void fun2(MyStruct * const p){
//p = NULL;//ok //指针不可以改变
p->a = ;//ok //指向的内存可以改变
} void fun3(MyStruct const * const p){
//只可以读取
MyStruct tmp;
tmp.a = p->a;
} int main(void){
//const 修饰一个变量为只读
const int a = ;
//a = 100; //err /*
2、跟指针变量配合使用,
主要考察:指针变量和指针指向的内存,2个不同的概念
从左往右看,跳过类型,看修饰哪个字符,
如果是*,说明说明指针的指向内容不能变
如果是指针变量,说明指针的指向不能改变(指针的值不能改变)
*/
char buf[] = "asdwqfqwerqw";
const char *p = buf;//不可以改变指向的buf的内容,可以修改指针的指向
//等价于上边 char const *p = buf
//p[1] = '2';//err
p = "asdwqdq";//ok char * const p1 = buf;
p1[] = ''; //ok
//p1 = "asdwqdq";//err const char * const p2 = buf;//p3为只读,指向不能改变,指向的内存也不可以改变 /*
3、如果引用另外.c中的const变量(不常用,了解)
extern const int x;//不能再赋值,只能声明
const修饰的变量,在定义的时候必须初始化
*/ /*
4、可以通过指针修改const修饰的变量的值,
const 修饰b,只是要求不能直接操作b。
这里c语言不太严谨。
*/
const int b = ;
int *q = &b;
*q = ;
printf("b=%d", b); printf("\n");
system("pause");
return ;
}

3.02定义常量之const的更多相关文章

  1. 在php中定义常量时,const与define的区别?

    问]在php中定义常量时,const与define的区别?  [答]使用const使得代码简单易读,const本身就是一个语言结构,而define是一个函数.另外const在编译时要比define快很 ...

  2. PHP中define()和const定义常量的区别

    在PHP中可以通过define()和const两种方式定义常量可是在开发中我们应该什么时候用define()定义常量,什么时候用const定义常量? 这两种方式定义常量的主要区别是什么? 从5.3版本 ...

  3. 【Effective C++ 读书笔记】条款02: 尽量以 const, enum, inline 替换 #define

    条款02: 尽量以 const, enum, inline 替换 #define 这个条款或许可以改为“宁可以编译器替换预处理器”. 编译过程: .c文件--预处理-->.i文件--编译--&g ...

  4. PHP中定义常量的几种方式与区别

    [问]在php中定义常量时,const与define的区别? [答]使用const使得代码简单易读,const本身就是一个语言结构,而define是一个函数.另外const在编译时要比define快很 ...

  5. keil 编译器V6 定义函数在ram中运行-和在指定地址定义常量

    之前一直是用v5编译,编译速度慢,换成V6编译速度差不多快50% ,而且arm后期只维护v5编译器不在更新v5编译器.切换到V6编译器大势所趋,把之前v5且换到v6需要如下更改: 1. CMSIS包需 ...

  6. PHP 中 define() 和 const 定义常量时的区别

    自 PHP 5.3.0 起,有两种方式定义常量,使用 const 关键字或者 define() 函数:   1 2 const FOO = 'BAR'; define('FOO', 'BAR'); 这 ...

  7. const define 定义常量的区别

    1.用const定义常量在编译的时候,提供了类型安全检查,而define 只是简单地进行字符串的替换 2.const定义的常量,会分配相应的内存空间.而define没有分配空间,只是在程序中与处理的时 ...

  8. php中const定义常量

    const 常量 1.在定义时必须被初始值,2.前面不加任何修饰符3.变量名字母一般都大写4.常量可以被子类继承5.一个常量是属于一个类的,而不是某个对象的 作用:当某些值是固定不变的,就用const ...

  9. C/C++中define定义的常量与const常量

    常量是在程序中不能更改的量,在C/C++中有两种方式定义常量,一种是利用define宏定义的方式,一种是C++中新提出来的const型常变量,下面主要讨论它们之间的相关问题: define定义的常量: ...

随机推荐

  1. 干货 | 10分钟带你掌握branch and price(分支定价)算法超详细原理解析

    00 前言 相信大家对branch and price的神秘之处也非常好奇了.今天我们一起来揭秘该算法原理过程.不过,在此之前,请大家确保自己的branch and bound和column gene ...

  2. 61、Spark Streaming:部署、升级和监控应用程序

    一.部署应用程序 1.流程 1.有一个集群资源管理器,比如standalone模式下的Spark集群,Yarn模式下的Yarn集群等. 2.打包应用程序为一个jar包. 3.为executor配置充足 ...

  3. hdu5438 Ponds[DFS,STL vector二维数组]

    目录 题目地址 题干 代码和解释 参考 题目地址 hdu5438 题干 代码和解释 解答本题时参考了一篇代码较短的博客,比较有意思,使用了STL vector二维数组. 可以结合下面的示例代码理解: ...

  4. photoshop 的安装破解

    最近学习需要用到photoshop,但是photoshop试用期只有30天,于是尝试破解photoshop.参考了网上的很多博客,失败了好几次,终于找到一篇靠谱的博客,很顺利的成功了.在这里记录一下, ...

  5. idea乱码问题

    ## 1. 文件中内容中文乱码 这个原因是文件的编码和项目的编码不一致导致,将项目工程和文件的编码设置成一致的(如,文件编码是GBK,那就都设置为GBK,若为UTF-8就都设置为UTF-8) ## 2 ...

  6. 使用CAS实现单点登录功能

    目录 单点登录 简介 CAS服务器部署 上传tomcat服务器压缩到文件夹/usr/local/cas目录下,解压,修改tomcat文件夹名为tomcat 修改tomcat配置文件的端口号 关闭tom ...

  7. 接口测试中模拟post四种请求数据

    https://www.jianshu.com/p/3b6d7aa2043a 一.背景介绍 在日常的接口测试工作中,模拟接口请求通常有两种方法,fiddler模拟和HttpClient模拟. Fidd ...

  8. Win10 LTSC 2019 安装和卸载 linux 子系统

    一.开启 二.下载 https://docs.microsoft.com/zh-cn/windows/wsl/install-manual   手动下载适用于 Linux 的 Windows 子系统发 ...

  9. Spring cloud微服务安全实战-7-13章节总结

    日志信息可以放到kafka,像指标监控就可以从kafka里面拿出日志来,分析日志里面的东西,把日志里面的一些信息变成数字,比如某个关键字出现了多少次,这样的信息同样去做监控,做报警. 调用链监控也是和 ...

  10. 人工智能新编程语言-Gen

    MIT 的一个研究小组正努力让初学者更容易入门人工智能,同时也帮助专家进一步推进这个领域的发展. 在 PLDI 大会(Programming Language Design and Implement ...