C/C++查漏补缺(常更)
一、#define宏定义
如下程序段,则输出结果为:
#define MAX 12
int main(){
cout << "20\0MAX019" << endl;
}
输出结果:20 , 知识点:#define定义 的宏常量不替换程序中""里的东西
https://www.cnblogs.com/bytebee/p/8205450.html
二、const常量指针与指针常量
定义一个int常量
const int a = 10;
int const a = 10;
这两种方法都是合法的,意义相同。当const用于指针呢?
int * const p = &a; // 指针常量 p = NULL; 非法
int const *p = &a; // 常量指针 *p = 20; 非法
const int *p = &a; // 常量指针
若想定义一个指针,既不能改变其值,也不能改变其指向的值,
const int * const p = &a;
下面这个语句看着有点怪怪的
int const * const p = &a;
其实它实现了和上一条定义相同的效果
三、printf()函数
如下输出语句是否正确
char *s = "parliament";
printf(s); // ok, 输出 parliament
printf(s+1); // ok, 输出arliament
printf("c++"+1); // ok,输出++
(对于输出结果不明白的参见第四条)
初学c时,接触的用printf()输出字符串的方式就是printf("%s", 字符串);第一次看到上面的输出语句觉得是语法错误,直到前天(2019.11.18)看到87年一道键盘字母对应的题目题解后才返回来又看了一下,没想到是正确的。
该题链接
https://www.cnblogs.com/songlee/p/5738125.html
四、字符串常量
在之前的文章里提到过字符串常量代表的其实是一个地址,是字符串首元素的地址,今天再把它细说一下
比如字符串常量"string",看着是一个字符串,其实本质是一个const char*的地址,是一个地址常量
"string"+1则代表将该地址移动 1*char个字节数,即移动到第二个元素't'的地址,此时输出结果为 "tring"
"string"[1]呢?相当于*("string"+1),取第二个元素的值,即't'
1["string"]呢?同上啦,和数组下标用法是相同的
C/C++查漏补缺(常更)的更多相关文章
- Java基础查漏补缺(2)
Java基础查漏补缺(2) apache和spring都提供了BeanUtils的深度拷贝工具包 +=具有隐形的强制转换 object类的equals()方法容易抛出空指针异常 String a=nu ...
- Entity Framework 查漏补缺 (一)
明确EF建立的数据库和对象之间的关系 EF也是一种ORM技术框架, 将对象模型和关系型数据库的数据结构对应起来,开发人员不在利用sql去操作数据相关结构和数据.以下是EF建立的数据库和对象之间关系 关 ...
- 20165223 week1测试查漏补缺
week1查漏补缺 经过第一周的学习后,在蓝墨云班课上做了一套31道题的小测试,下面是对测试题中遇到的错误的分析和总结: 一.背记题 不属于Java后继技术的是? Ptyhon Java后继技术有? ...
- 今天開始慢下脚步,開始ios技术知识的查漏补缺。
从2014.6.30 開始工作算起. 如今已经是第416天了.不止不觉.时间过的真快. 通过对之前工作的总结.发现,你的知识面.会决定你面对问题时的态度.过程和结果. 简单来讲.知识面拓展了,你才干有 ...
- Django 查漏补缺
Django 查漏补缺 Django 内容回顾: 一. Http 请求本质: 网络传输,运用socket Django程序: socket 服务端 a. 服务端监听IP和端口 b. 浏览器发送请求 ...
- Mysql查漏补缺
Mysql查漏补缺 存储引擎 数据库使用存储引擎来进行CRUD的操作,不同的存储引擎提供了不同的功能.Mysql支持的存储引擎有InnoDB.MyISAM.Memory.Merge.Archive.F ...
- 查漏补缺·补丁计划
趁着神志清醒赶紧写一下. 多次考试暴露出各种问题.新的知识点先不去搞了,最近多做一些不擅长的类型的题查漏补缺一下吧. 唔,首先是比较考验思维的类型,我智商太低又刷题少不会什么套路,只能最近赶紧赶一下进 ...
- CSS基础面试题,快来查漏补缺
本文大部分问题来源:50道CSS基础面试题(附答案),外加一些面经. 我对问题进行了分类整理,并给了自己的回答.大部分知识点都有专题链接(来源于本博客相关文章),用于自己前端CSS部分的查漏补缺.虽作 ...
- Flutter查漏补缺1
Flutter 基础知识查漏补缺 Hot reload原理 热重载分为这几个步骤 扫描项目改动:检查是否有新增,删除或者改动,直到找到上次编译后发生改变的dart代码 增量编译:找到改变的dart代码 ...
- Go语言知识查漏补缺|基本数据类型
前言 学习Go半年之后,我决定重新开始阅读<The Go Programing Language>,对书中涉及重点进行全面讲解,这是Go语言知识查漏补缺系列的文章第二篇,前一篇文章则对应书 ...
随机推荐
- vue app.xxx.js 较大问题
线上build之后发现app.XXX.js 文件特别大. 包我都改为cdn了 其他空间就是路由改为懒加载了. { path: '/a/b', name: 'ab', component: () =&g ...
- POJ-2478-Farey Sequence(欧拉函数)
链接: https://vjudge.net/problem/POJ-2478 题意: The Farey Sequence Fn for any integer n with n >= 2 i ...
- javascript权威指南第11章 DOM扩展
//javascript 权威指南 第三版 第11章 DOM扩展 //取得body元素 var body = document.querySelector("body"); //取 ...
- HR#7 题解
T1 签到题 #include<bits/stdc++.h> #define R register int using namespace std; inline int g() { R ...
- 四十一.redis主从复制 RDB/AOF持久化 数据类型
把redis集群里的主机 恢复为独立的redis服务器(51-58) ]# redis-cli -h 192.168.4.51 -p 6351 shutdown ]# rm -rf /var/lib ...
- GFS中元数据的管理
GFS 元数据(metadata)中包含三部分: GFS元数据的管理方式: 1.文件的命名空间和块的命名空间: 采用持久化的方式. 对于文件和块的命名空间以及从文件到块的映射:通过向操作日志登记修改而 ...
- unctf esayrop wp
目录 题目基本信息 题目漏洞 思路 exp脚本 题目基本信息 题目漏洞 首先在main函数中需要绕过一个if判断才能进入漏洞函数 漏洞函数中很明显的栈溢出漏洞,同时还控制了返回地址不能超过文件映射到内 ...
- Java 程序流程语句
顺序结构 什么是顺序结构:一行一行的执行代码 选择结构 if 什么是选择结构:通过判断条件来做选择的语句,我们称为选择语句或分支语句 定义方式:if语句使用boolean表达式或boolean值作为选 ...
- django post 403
同一个地址GET方式可以正常访问 在POST 提交数据过程中报403错误, 原来是1.3版本settings.py 文件中 'django.middleware.csrf.CsrfViewMiddle ...
- Flutter移动电商实战 --(46)详细页_自定义TabBar Widget
主要实现详情和评论的tab provide定义变量 自己做一个tab然后用provide去控制 定义两个变量来判断是左侧选中了还是右侧选中了.并定义一个方法来接受参数,修改是左侧还是右侧选中的状态值 ...