c++基础二

2023-10-27

c++基础

无符号整数 unsigned
unsigned char的范围从0开始,至少到255
unsigned int的范围从0开始,至少到65535
unsigned short的范围从0开始,至少到65535
unsigned long的范围从0开始,至少到4294967295

常量const关键字
const int age = 38;
另外一种常量的定义方式,不需要添加类型,也不需要使用=符号,并且可以省略末尾的;
#define NAME “jack”

sizeof运算符返回,你传入的操作数的大小,也可以传入变量,甚至是类型也可以

字符串,这里Flavio只有6个字符,却用了一个数组长度是7的字符串数组,是因为字符串最后一个字符必须是0,它是字符串的终止符号,我们必须给它留个位置
char name[7] = “Flavio”;
printf(“\nname=%s”,name);

指针
指针是某个内存块的地址,这个内存块包含一个变量

结构体
利用struct关键字,我们可以使用基本的c类型创建复杂的数据结构,结构体的语法
struct {
// 变量…
}

预处理器
当我们用C编程时,它对我们有很大的帮助,它是C标准的一部分,就像语言本身,编译器和标准库一样
它解析我们的程序,确保编译器在处理之前获得所有需要的东西
在实践中,它是做什么的呢?
例如,它查找你使用#include指令包含的所有头文件
它还查看你使用#define定义的每个常量并将其替换为实际的值
这只是一个开始,我提到了这两个操作,是因为它们是最常见的两个,预处理器能做的事情还有很多
你有注意到#include和#define在开头有一个#吗?那在预处理器指令中是很常见的,如果某一行以
#开始,它就会被预处理器关照

条件
const int DEBUG=0;
int main(void) {
#if DEBUG == 0
printf(“我不是debug”)
#else
printf(“我是debug”)
#endif
}
符号常量
#define VALUE 1
#define PI 3.14
#define NAME “Flavio”

我们还可以使用#define定义宏,宏与符号常量之间的差别在于
宏可以接受一个参数,并且通常包含代码,而符号常量只是一个值:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

c++基础二 的相关文章

  • UTF8/UTF16 和 Base64 在编码方面有什么区别

    In c 我们可以使用下面的类来进行编码 System Text Encoding UTF8 System Text Encoding UTF16 System Text Encoding ASCII 为什么没有System Text En
  • Signalr 在生产服务器中总是陷入长轮询

    当我在服务器中托管应用程序时 它会检查服务器端事件并始终回退到长轮询 服务器托管环境为Windows Server 2012 R1和IIS 7 5 无论如何 我们是否可以解决这个问题 https cloud githubuserconten
  • Func 方法参数的首选命名约定是什么?

    我承认这个问题是主观的 但我对社区的观点感兴趣 我有一个缓存类 它采用类型的缓存加载器函数Func
  • 在 Xamarin Android 中将图像从 URL 异步加载到 ImageView 中

    我有一个包含多个项目的 ListView 列表中的每个项目都应该有一个与之关联的图像 我创建了一个数组适配器来保存每个列表项并具有我希望加载的图像的 url 我正在尝试使用 Web 请求异步加载图像 并设置图像并在加载后在视图中更新它 但视
  • 如何在C++中实现模板类协变?

    是否可以以这样一种方式实现类模板 如果模板参数相关 一个对象可以转换为另一个对象 这是一个展示这个想法的例子 当然它不会编译 struct Base struct Derived Base template
  • 嵌入式系统中的malloc [重复]

    这个问题在这里已经有答案了 我正在使用嵌入式系统 该应用程序在 AT91SAMxxxx 和 cortex m3 lpc17xxx 上运行 我正在研究动态内存分配 因为它会极大地改变应用程序的外观 并给我更多的力量 我认为我唯一真正的路线是为
  • Cygwin 下使用 CMake 编译库

    我一直在尝试使用 CMake 来编译 TinyXML 作为一种迷你项目 尝试学习 CMake 作为补充 我试图将其编译成动态库并自行安装 以便它可以工作 到目前为止 我已经设法编译和安装它 但它编译成 dll 和 dll a 让它工作的唯一
  • 如何在 WPF RichTextBox 中跟踪 TextPointer?

    我正在尝试了解 WPF RichTextBox 中的 TextPointer 类 我希望能够跟踪它们 以便我可以将信息与文本中的区域相关联 我目前正在使用一个非常简单的示例来尝试弄清楚发生了什么 在 PreviewKeyDown 事件中 我
  • 使用 Google Analytics API 在 C# 中显示信息

    我一整天都在寻找一个好的解决方案 但谷歌发展得太快了 我找不到有效的解决方案 我想做的是 我有一个 Web 应用程序 它有一个管理部分 用户需要登录才能查看信息 在本节中 我想显示来自 GA 的一些数据 例如某些特定网址的综合浏览量 因为我
  • 使用向量的 merge_sort 在少于 9 个输入的情况下效果很好

    不知何故 我使用向量实现了合并排序 问题是 它可以在少于 9 个输入的情况下正常工作 但在有 9 个或更多输入的情况下 它会执行一些我不明白的操作 如下所示 Input 5 4 3 2 1 6 5 4 3 2 1 9 8 7 6 5 4 3
  • 使用 LINQ 查找列表中特定类型的第一个元素

    使用 LINQ 和 C 在元素列表中查找特定类型的第一个项目的最短表示法是什么 var first yourCollection OfType
  • 是否有比 lex/flex 更好(更现代)的工具来生成 C++ 分词器?

    我最近将源文件解析添加到现有工具中 该工具从复杂的命令行参数生成输出文件 命令行参数变得如此复杂 以至于我们开始允许它们作为一个文件提供 该文件被解析为一个非常大的命令行 但语法仍然很尴尬 因此我添加了使用更合理的语法解析源文件的功能 我使
  • C 中的位移位

    如果与有符号整数对应的位模式右移 则 1 vacant bit will be filled by the sign bit 2 vacant bit will be filled by 0 3 The outcome is impleme
  • 可空属性与可空局部变量

    我对以下行为感到困惑Nullable types class TestClass public int value 0 TestClass test new TestClass Now Nullable GetUnderlyingType
  • AccessViolationException 未处理

    我正在尝试使用史蒂夫 桑德森的博客文章 http blog stevensanderson com 2010 01 28 editing a variable length list aspnet mvc 2 style 为了在我的 ASP
  • 将应用程序从 Microsoft Access 迁移到 VB 或 C#.NET

    我目前正试图说服管理层需要将我们的应用程序之一移植到 NET 该应用程序已经发展成为 Access 中的一个庞然大物 SQL 后端 拥有 700 个链接表 650 个表单 子表单 130 个模块和 850 个查询 我几乎知道这样做的所有主要
  • 在 URL 中发送之前对特殊字符进行百分比编码

    我需要传递特殊字符 如 等 Facebook Twitter 和此类社交网站的 URL 为此 我将这些字符替换为 URL 转义码 return valToEncode Replace 21 Replace 23 Replace 24 Rep
  • EPPlus Excel 更改单元格颜色

    我正在尝试将给定单元格的颜色设置为另一个单元格的颜色 该单元格已在模板中着色 但worksheet Cells row col Style Fill BackgroundColor似乎没有get财产 是否可以做到这一点 或者我是否必须在互联
  • 作为字符串的动态属性名称

    使用 DocumentDB 创建新文档时 我想设置属性名称动态地 目前我设置SomeProperty 像这样 await client CreateDocumentAsync dbs db colls x new SomeProperty
  • 将变量分配给另一个变量,并将一个变量的更改反映到另一个变量中

    是否可以将一个变量分配给另一个变量 并且当您更改第二个变量时 更改会瀑布式下降到第一个变量 像这样 int a 0 int b a b 1 现在 b 和 a 都 1 我问这个问题的原因是因为我有 4 个要跟踪的对象 并且我使用名为 curr

随机推荐

  • 从零开始自动化测试框架设计:自动化测试环境搭建一:eclipse+svn+selenium+Junit+maven

    本机环境 window7 旗舰版 Service Pack 1 64位操作系统 一 安装JDK 官网下载jdk1 6 0 17或以上版本 本人用的是jdk1 6 0 17 下载完后安装在C盘根目录C jdk1 6 0 17 配置系统环境变量
  • Linux装好后,ping不通Windows默认网关及ip地址,原因是Linux网络未配置好,解决linux网络连接问题

    1 解决Linux网络连接问题 1 第一步 首先打开图形化界面 右键选择打开终端 打开控制台ping一下Windows连接网络的网关地址或者IP地址 如图 ping 192 168 113 1 这是本人Windows操作系统中连接网络的网关
  • 软件测试Bug的四种级别

    软件测试的四种Bug级别 1 致命 常规操作引起的系统崩溃 死机 死循环 造成数据泄露的安全性问题 对用户财产造成损失 2 严重 重要功能未实现 非常规操作导致的系统崩溃 死机 死循环 外观难以接受的缺陷 常见安全隐私类问题 例如 密码明文
  • 程序中出现net.ERR_UNKNOWN_URL_SCHEME 是什么原因?

    这个错误通常是因为你在程序中使用了一个无效的 URL 地址 具体来说 它缺少了协议头 例如 http 或 https 你应该检查你的代码 确保 URL 地址是正确的 并且包含了合法的协议头 例如 如果你的代码中有这样一行 const url
  • 一个转为爬虫设计的浏览器,修改chromnium代码,无视画布指纹追踪,webrtc泄露IP,支持selenium驱动,删除webdriver属性,修改event的isTrusted属性

    闲言碎语 做爬虫的都知道canvs font webgl等指纹 我个人感觉 代码1 这些除了canvs font webgl之外没啥大用 同样安装谷歌浏览器的 你有我也有 厂商无法当作指纹唯一的标准 前几天遇到携程这种的 连续获取你几遍画布
  • TL431 三端可控精密稳压器

    1 TL431是三端可控精密稳压源 有插件TO 92和贴片SOT 23 3两种常用的封装 如图1 图2 图4 图5 它由三个脚 分别是R 参考极 A 阳极 K 阴极 组成 TL431的内部参考电压是2 5V 2 TL431通常结合光耦进行反
  • Python系列-17]:人工智能 - 数学基础 -7- 微积分、导数与极值、梯度下降法

    作者主页 文火冰糖的硅基工坊 https blog csdn net HiWangWenBing 本文网址 https blog csdn net HiWangWenBing article details 119325116 目录 第1章
  • 阿里云备案成功的域名能用腾讯云的服务器吗?

    必须可以 只需要操作一步 那就是备案转接入 工信部规定 域名只需要备案一次 但可以接入多次 每新增一个平台的解析 就必须增加备案转接入 所以任何平台都可以用 只需要做一步 那就是转接入 首次备案需要经过云平台初审加管局审核 通常需要十五个工
  • win10默认浏览器里多余了一个无效选项

    到注册表里删除以下位置里的无效项 HKEY CURRENT USER SOFTWARE Clients StartMenuInternet HKEY LOCAL MACHINE SOFTWARE Clients StartMenuInter
  • C++ 运算符

    运算符 运算符是一种告诉编译器执行特定的数学或逻辑操作的符号 C 提供了以下类型的运算符 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 杂项运算符 算术运算符 下表显示了 C 支持的所有算术运算符 假设变量 A 的值为 10 变
  • java反射

    文章目录 1 反射的缘起 1 1 什么是反射及反射机制 1 2 为什么会产生反射 1 反射的缘起 1 1 什么是反射及反射机制 反射就是把java类中的各个成分 构造器 属性 方法 映射成一个个的java对象 即在运行状态中 1 对于任意一
  • ThreadLocal的使用

    一 介绍 ThreadLocal的官方解释 ThreadLocal 是线程的局部变量 是每一个线程所单独持有的 其他线程不能对其进行访问 通常是类中的 private static 字段 是一个以ThreadLocal对象为键 任意对象为值
  • AD多张原理图元件自动标号

    首先新建工程 包含两张以上原理图 将原理图先画好 不需要标注 然后在任意原理图界面使用快捷键TAA 上图中箭头所指则为需要更改部分 1 处理顺序是选择你的元件标注顺序 一般从上往下 从左往右即可 2 原理图页标注栏中的顺序是指先标注哪张原理
  • mysql 关联删除_mysql如何删除关联表

    mysql数据库中 表与表之间进行关联之后 就不可随意的进行删除操作 否则会影响所有关联表之间的结构 那么如何安全的删除关联表呢 让我们来了解一下 mysql使用drop命令删除关联表 方法为 1 删除表的外键约束 外键是一个特殊字段 其将
  • python retrying_python自动重试第三方包retrying模块的方法

    retrying是一个python的重试包 可以用来自动重试一些可能运行失败的程序段 retrying提供一个装饰器函数retry 被装饰的函数就会在运行失败的情况下重新执行 默认只要一直报错就会不断重试 最近写了一个爬虫 需要连接国外的一
  • 【C++】一文解析std::binary_function、std::bind1st、std::bind2nd、std::bind

    STL中有一个叫做 适配器 的概念 它指的是某些函数可能定义了两个形参 但是某些算法需要的函数却有时候需要一个形参 那么就需要对其进行适配 将原本只需要两个参数的函数转变成需要1和参数就能正常运行的函数 就像你为你的笔记本充电 能直接一根火
  • Linux进程的基础知识、fork复制进程

    目录 1 进程的基础知识 1 进程 2 PCB 3 进程的状态 4 并发与运行 2 操作系统发展史 3 fork复制进程 1 进程的基础知识 1 进程 一个正在运行的程序 2 PCB 进程控制块 进程控制块是用一个结构体struct tas
  • 【贪心算法】背包问题

    题目 有一个背包 背包容量是M 150 有7个物品 物品可以分割成任意大小 要求尽可能让装入背包中的物品总价值最大 但不能超过总容量 物品 A B C D E F G 重量 35 30 60 50 40 10 25 价值 10 40 30
  • esp8266单片机透传_ESP8266系列 NODEMCU初体验

    上一次 我们讲到了ESP 01s 实际上就是一块WiFi透传模块 只能挂在单片机上 起到一个沟通和桥梁的作用 今天 我们来介绍ESP家族另一款非常常用的芯片 ESP8266 12系列 这个想邮票一样的芯片就是我们的12E 可以看出他与01s
  • c++基础二

    c 基础 无符号整数 unsigned unsigned char的范围从0开始 至少到255 unsigned int的范围从0开始 至少到65535 unsigned short的范围从0开始 至少到65535 unsigned lon