自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 C 语言预处理

1 预处理概述1、前面各章中,已经多次使用过#include命令。使用库函数之前,应该用#include引入对应的头文件。这种以 #号开头的命令称为预处理命令。2、C语言提供了多种预处理功能,如宏定义、文件包含、条件编译等。合理地使用预处理功能编写的程序便于阅读、修改、移植和调试,也有利于模块化程序设计2 宏定义1、在C语言源程序中允许用一个标识符来表示一个字符串,称为“宏”。被定义为“宏”的标识符称为“宏名”2、在编译预处理时对程序中所有出现的“宏名”,都用宏定义中的字符串去进行文本替换,,这称

2022-05-27 12:42:38 396 1

原创 C程序的基本组成结构

一、C程序的基本组成结构1、源文件: 后缀为.c 的文件2、头文件:后缀为.h的文件注意:源文件功能:实现程序功能头文件功能:函数的声明、全局变量的声明、宏定义、类型的声明一个由C语言所组成的项目中只允许有一个main函数二、头文件2.1 头文件的作用1、宏定义#define PI 3.142、结构体定义typedef struct student{ char name[32]; int age;}Stu;3、全局变量的声明extern int

2022-05-27 12:31:15 8166

原创 C语言位运算实用技巧

C语言位运算实用技巧左移实现乘法左移n位等价于乘以2的n次方int x;x = 2;x = x << 2;x = x << 3使用左移实现乘法运算仅限于乘以2的倍数是不是只要是左移就能够实现乘以2的倍数呢?char x = 120;x = x << 2;如果执行上面的代码,最终x的值是多少呢?右移实现除法右移n位等价于除以2的n次方int x = 100;x = x >> 1;x = x >

2022-05-27 12:03:43 745 2

原创 C++ 中 reinterpret_cast 的作用

reinterpret_cast 用于进行各种不同类型的指针之间、不同类型的引用之间以及指针和能容纳指针的整数类型之间的转换。转换时,执行的是逐个比特复制的操作。 这种转换提供了很强的灵活性,但转换的安全性只能由程序员的细心来保证了。例如,程序员执意要把一个 int* 指针、函数指针或其他类型的指针转换成 string* 类型的指针也是可以的,至于以后用转换后的指针调用 string 类的成员函数引发错误,程序员也只能自行承担查找错误的烦琐工作:(C++ 标准不允许将函数指针...

2022-05-27 11:44:58 1004

原创 C++ 中 dynamic_cast 的作用

dynamic_cast是C++四个强制类型转换操作符中最特殊的一个,它支持运行时识别指针或引用。dynamic_cast 用于类继承层次间的指针或引用转换。主要还是用于执行“安全的向下转型(safe downcasting)”,也即是基类对象的指针或引用转换为同一继承层次的其他指针或引用。至于“向上转型”(即派生类指针或引用类型转换为其基类类型),本身就是安全的,尽管可以使用dynamic_cast进行转换,但这是没必要的, 普通的转换已经可以达到目的。“向下转型”的前提条件:被转换对象必须是

2022-05-27 11:41:42 2409

原创 C++ 中 const_cast 作用详解

const_cast是一种C++运算符,主要是用来去除复合类型中const和volatile属性(没有真正去除)。我们需要注意的是:变量本身的const属性是不能去除的,要想修改变量的值,一般是去除指针(或引用)的const属性,再进行间接修改。用法:const_cast<type>(expression)通过const_cast运算符,也只能将const type*转换为type*,将const type&转换为type&。也就是说源类型和目标类型除了const

2022-05-27 11:30:37 10638

原创 while(1) 和 for(;;)的区别你真的知道吗?

在平时的学习和工作中,我们经常会使用到无限循环(死循环),在C语言中无限循环有两种实现发给发:while(1) 和 for(;;)。但是这两者到底有什么区别呢?其实我们可以编写一段while(1) 和 for(;;)的代码,编译对比一下代码大小和汇编文件,大概就知道了。一、while(1)和for(;;)语法表达1、while语法表达while( 表达式 ){ 语句}其中: 表达式:是循环条件 语句:为循环体。 while语句的语义是:计算表达式的值,当值

2022-05-26 12:13:56 2804

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除