面试集锦-常量,const, const 对指针的影响
在C语言中不可改变的数据(量)就是常量
在C语言中有三种常量
字面量(直接量),就是直接写出来的,从写法上就可以看出值与类型等,例如:19,123.456等
名字常量(宏定义,宏替换),语法:
在代码一开始的位置写上
#define 名字 值
运行原理说明:程序要经过:编码->编译->链接->运行
在编译的过程中,又分为一开始的预编译
在预编译的时候,编译器会读取编码,并将使用到宏定义的地方用宏替换
宏替换有一定的缺陷,就提出来了const常量
? 类型说明符 ? 常量名 = 值;
const 常量: 要定义一个整数类型的常量
int const num1 = 19;
const int num1 = 19; const写在前面后面都是可以的,如果用const 修饰,num1 的值就不能自被修改了
const 与指针
const int *p1;
int const *p1; //这两个一样, 这样的指针变量不允许使用指针变量修改指向额变量的值,但是可以重新指向另一个变量
int const *p1;
面试集锦-常量,const, const 对指针的影响的更多相关文章
- 20140421 常量指针与指针常量; const指针; reinterpret_cast ;const_cast作用
1.reinterpret_cast<type_id>(表达式)的作用: type-id 必须是一个指针.引用.算术类型.函数指针或者成员指针.它可以把一个指针转换成一个整数,也可以把一个 ...
- C++ 常量类型 const 详解
1.什么是const? 常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的.(当然,我们可以偷梁换柱进行更新:) 2.为什么引入const? const 推出的初始目的 ...
- const typedef 和指针的问题(这里必须初始化的才初始化了,不必须的则没有初始化)
这里很容易搞混: tyepdef double dou;//这里是dou是double的别名 #include<iostream> using namespace std; int mai ...
- C++中的error C2662,const的this指针问题
今天在写C++代码的时候遇到一个错误,涉及到了常量的this指针的问题. 简化后的代码如下: #include <iostream> #include <string> usi ...
- oc const 关键字 对指针的理解
/* int const *p; *p是常量, p是变量 const int *p; *p是常量, p是变量 int * const p; *p是变量, p是常量 const int * const ...
- 在php中定义常量时,const与define的区别?
问]在php中定义常量时,const与define的区别? [答]使用const使得代码简单易读,const本身就是一个语言结构,而define是一个函数.另外const在编译时要比define快很 ...
- 不可或缺 Windows Native (18) - C++: this 指针, 对象数组, 对象和指针, const 对象, const 指针和指向 const 对象的指针, const 对象的引用
[源码下载] 不可或缺 Windows Native (18) - C++: this 指针, 对象数组, 对象和指针, const 对象, const 指针和指向 const 对象的指针, con ...
- const关键字与指针
const与指针在一起的几种情况. const int *p1; //表示p1本身不是const,指向的变量是const. const *int p2; //语法错误 int const *p3; / ...
- 《Effective C#》读书笔记-1.C# 语言习惯-2.使用运行时常量(readonly)而不是编译时常量(const)
概念 编译时 编译时顾名思义就是正在编译的时候.那啥叫编译呢?就是编译器帮你把源代码翻译成机器能识别的代码.(当然只是一般意义上这么说,实际上可能只是翻译成某个中间状态的语言.比如Java只有JVM识 ...
随机推荐
- SELINUX、Security Access Control Strategy && Method And Technology Research - 安全访问控制策略及其方法技术研究
catalog . 引言 . 访问控制策略 . 访问控制方法.实现技术 . SELINUX 0. 引言 访问控制是网络安全防范和客户端安全防御的主要策略,它的主要任务是保证资源不被非法使用.保证网络/ ...
- dedecms /install/index.php.bak Installation File Not Deleted && Executed Via Apache Analytic Vul
catalog . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述 概括梳理一下这个漏洞的成因 . dedecms默认情况下安装完成之后,i ...
- SQL查询排序某字段并选前N条数据
看了网上各种乱七八糟的答案,无语. 明明这一句话就行了. select * from personinfo order by credit DESC limit 0,5
- 分布式服务框架Zookeeper
协议介绍 zookeeper协议分为两种模式 崩溃恢复模式和消息广播模式 崩溃恢复协议是在集群中所选举的leader 宕机或者关闭 等现象出现 follower重新进行选举出新的leader 同时集群 ...
- import_site
http://kfd.me/ https://google.kfd.me/webhp?newwindow=1&safe=active http://googlebridge.com/searc ...
- spring-boot-cli
- jpa OneToMany
Project, project_id @OneToMany(mappedBy = "project") private Set<Ap> apSet =new Hash ...
- (转)Java API设计清单
转自: 伯乐在线 Java API设计清单 英文原文 TheAmiableAPI 在设计Java API的时候总是有很多不同的规范和考量.与任何复杂的事物一样,这项工作往往就是在考验我们思考的缜密程度 ...
- JSP 自定义标签
0 标签技术的API继承体系 1 作用 jsp自定义标签用于移除页面中的java代码 2 实现 2.1 标签处理类ViewIPTag.java package com.zsm.util; import ...
- php上传$_FILES 无法取值
无法取值的主要原因在form. 代码 <form method="post" action="****" name="theForm" ...