
C
—叶丶知秋
这个作者很懒,什么都没留下…
展开
-
C/C++ 日期和时间
C/C++ 日期和时间文章目录C/C++ 日期和时间1.与时间有关的类型1. tm 结构体2. clock_t3. time_t2. 关于日期和时间的重要函数2.1 获取时间2.2 将时间显示为字符串2.3 本地时间和 UTC 时间2.4 格式化显示时间2.5 计算时间差3. 示例代码3.1 获取当前系统时间并格式化3.2 本地时间与 UTC 时间的转换注意:如果你只是着急打印一个系统时间出来...原创 2020-01-07 16:39:24 · 1382 阅读 · 0 评论 -
重定义错误
重定义错误参考 https://blog.youkuaiyun.com/yychentracy/article/details/81410610参考 https://bbs.youkuaiyun.com/topics/391011740文章目录重定义错误1. 常见的重定义错误1.1 文件内重定义1.2 工程内重定义2. 内部包含卫哨重复定义是指编译时 同一个定义多次给出 或者连接时出现多个外部符号(外部函数和全局...原创 2020-01-02 15:38:59 · 2000 阅读 · 0 评论 -
预定义宏
预定义宏预定义宏 (系统本身已有定义,程序员不能再定义)作用:对于 __FILE__,__LINE__,__func__ 这样的宏,在调试程序时是很有用的,因为你可以很容易的知道程序运行到了哪个文件的那一行,是哪个函数。在 Visual Studio 2005 中,默认情况下,此特性是激活的,但不能与 /EP 和 /P 编译选项同时使用。请注意在IDE环境中,不能识别 _func_ ,而要用...原创 2019-01-23 16:38:59 · 877 阅读 · 0 评论 -
sprintf、strcpy 及 memcpy 函数有什么区别?
sprintf、strcpy 及 memcpy 函数有什么区别?文章目录sprintf、strcpy 及 memcpy 函数有什么区别?1. strcpy函数2. sprintf函数3. memcpy函数4. 对于字符串拷贝来说,用哪个更合适?5. 总结1. strcpy函数原型声明:char *strcpy(char* dest, const char *src);头文件:#inclu...原创 2019-02-15 17:50:37 · 492 阅读 · 0 评论 -
内部包含卫哨
内部包含卫哨文章目录内部包含卫哨1. #ifndef2. #pragma once转载自 https://blog.youkuaiyun.com/zuosifengli/article/details/7912335?utm_source=blogxgwz2转载自 https://wenku.baidu.com/view/8505a357195f312b3169a59e.html内部包含卫哨(防止重复...原创 2019-02-27 15:26:09 · 383 阅读 · 0 评论 -
三种方法交换两个变量的值
三种方法交换两个变量的值文章目录三种方法交换两个变量的值1. 加减法2. 异或法3. 交换变量法1. 加减法#include <stdio.h> int main(){ int a = 3; int b = 5; a = a + b; b = a - b; a = a - b; printf("%d,%d\n",a,b)...原创 2019-02-18 11:17:53 · 13476 阅读 · 0 评论 -
位、字节和字
位、字节和字文章目录位、字节和字1. 位(bit)2. 字节(byte)3. 字3.1 字长3.2 字块1. 位(bit)来自英文 bit,音译为“比特”,表示二进制位。位是计算机内部数据储存的最小单位,11010100是一个 8 位二进制数。一个二进制位只可以表示 0 和 1 两种状态;两个二进制位可以表示 00、01、10、11 四种状态;三位二进制数可表示八种状态……。2. 字节(b...原创 2019-02-13 17:37:07 · 18927 阅读 · 7 评论 -
常用C变量的定义
常用C变量的定义定义方式含义int a一个整型数int *a一个指向整型的指针int **a一个指向指针的指针——二级指针int a[10]一个有10个整型数的数组int *a[10]一个有10个指针的数组,该指针是指向一个整型数定义方式含义int (*a)[10]一个指向有10个整型数数组的指针int (*...原创 2019-02-28 16:50:33 · 1131 阅读 · 0 评论 -
大数阶乘
大数阶乘文章目录大数阶乘1. 大数阶乘1.1 算法说明1.2 示例代码2. 大数相乘我们通常使用的数据类型比如 int 、float 等都是有范围的,如果我们要计算的数据远超出它们所表达的范围,该怎么办?答案是使用 数组 来完成计算。1. 大数阶乘1.1 算法说明不管是计算过程中的中间数据还是结果数据,我们都用图 1.1 所示的方式保存在数组中,数组从左向右填充,每个数组元素保存大数的一...原创 2019-02-19 23:53:58 · 2645 阅读 · 1 评论 -
C程序注释方法
C程序注释方法文章目录C程序注释方法1. 单行注释2. 函数详细注释3. 内容注释1. 单行注释//这是一个注释注释2. 函数详细注释/** * Guess the file format. * * @param is_opened Whether the file is already opened; determines whether * ...原创 2019-02-26 16:38:55 · 999 阅读 · 0 评论 -
两种 include 头文件方式的区别
include< > 和 #include” ” 的区别< > 是从系统目录中寻找,对于 VS 来说,系统目录是类似 D:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\ 这样的安装路径,里面包含我们常用的系统头文件;如果在系统目录里找不到,会在包含目录里找。ps:如何找到系统目录,使用 ev...原创 2019-02-26 17:28:31 · 1172 阅读 · 0 评论 -
typedef关键字
typedef关键字参考 https://blog.youkuaiyun.com/qq_29350001/article/details/53883571参考 https://blog.youkuaiyun.com/helaisun/article/details/54845891文章目录typedef关键字1. 简介2. 简单应用2.1 常规变量类型定义2.2 指针类型定义2.3 结构体定义2.4 数组类型定义3...原创 2019-03-06 16:49:41 · 336 阅读 · 0 评论 -
const关键字
const关键字参考 https://blog.youkuaiyun.com/qq_40874221/article/details/79855317参考 https://blog.youkuaiyun.com/leikun153/article/details/79174155文章目录const关键字1. 基本概念2. const的不同位置的作用3. 值传递时需要注意的问题1. 基本概念只要一个变量前用con...原创 2019-03-06 18:01:02 · 197 阅读 · 0 评论 -
new和malloc的区别
new和malloc的区别参考 http://www.cnblogs.com/fly1988happy/archive/2012/04/26/2470542.html参考 http://www.cnblogs.com/fly1988happy/archive/2012/04/16/2452021.html文章目录new和malloc的区别1. malloc()函数1.1 malloc与fre...原创 2019-03-14 10:59:54 · 246 阅读 · 0 评论 -
static 关键字在 C 中的用法
static 关键字在 C 中的用法参考 https://blog.youkuaiyun.com/yesyes120/article/details/79519753参考 https://blog.youkuaiyun.com/t595180928/article/details/80448249文章目录static 关键字在 C 中的用法1. static 修饰局部变量2. static 修饰全局变量3. sta...原创 2019-03-09 21:04:42 · 447 阅读 · 0 评论 -
经典乱码“烫烫烫”和“屯屯屯”
C++ 铪铪铪铪 烫烫烫 屯屯屯VS中,Debug模式下,对于未初始化的内存:1) 若为栈内存,默认为一连串“烫烫烫”,0xcc2) 若为堆内存,默认为一连串“屯屯屯”,0xcd;内存删除后,默认为一连串“铪铪铪”。还有锟斤拷,这个是字符编码造成的。在进行从老的编码体系到unicode的转换过程中,部分字符不能转化,于是unicode给了它们一个特殊的占位符U+FFFD,这个用UTF-8表...原创 2019-03-12 11:20:51 · 66586 阅读 · 2 评论 -
从程序设计方法学的角度比较 SP 方法与OOP 方法
从程序设计方法学的角度比较 SP 方法与OOP 方法整理自 https://wenku.baidu.com/view/e2737ac684254b35eefd3491.html文章目录从程序设计方法学的角度比较 SP 方法与OOP 方法1. 引言2. SP方法3. OOP方法4. SP方法与OOP方法的比较5. 结束语1. 引言二十世纪六十年代以来,随着硬件技术的迅猛发展和计算机应用领域的...原创 2019-03-13 14:58:32 · 7362 阅读 · 0 评论 -
赋值表达式的返回值
赋值表达式的返回值转载自https://blog.youkuaiyun.com/Code_Mart/article/details/53212238赋值表达式的返回值是 表达式左值的引用。#include <stdio.h> int main(){ int a = 1; printf("%d, %d, a = %d\n", (a*=2), (a+=3), a); ...原创 2019-01-23 16:27:31 · 5006 阅读 · 0 评论 -
memset函数的用法及常见错误
memset 函数的用法及常见错误转载自https://blog.youkuaiyun.com/pugu12/article/details/46861923转载自https://blog.youkuaiyun.com/qq_42991793/article/details/81751284转载自https://baike.baidu.com/item/memset/4747579?fr=aladdin文章目录m...原创 2019-02-14 17:33:52 · 2232 阅读 · 0 评论 -
断言—assert()
断言—assert()文章目录断言—assert()1. 概述2. 定义3. 具体用法1. 概述assert是调试宏而不是一个函数,只在debug才有效。判断条件结果为假(NULL)抛出异常,或者说条件不成立时抛出异常。使用 assert 来捕捉程序运行过程中出现的非法情况,在你的程序中,如果你认为某种情况肯定不会出现,一旦出现,就说明你的程序在某块存在错误,比如除法时除数不为0,此时...原创 2019-01-20 21:21:42 · 774 阅读 · 0 评论 -
指针相关概念
指针相关概念文章目录指针相关概念1 常见指针1.1 空指针1.2 野指针2. 指针之间的运算2.1 *p++2.2 对自定义地址的操作3. 二级指针4. 函数指针5. 结点定义之指向自身的指针1 常见指针int *p,*q; //p,q都是指针int *p,q; //p是指针,q不是int *p = &amp;a;int *p2 = p; //p, p2两个指针指向的是同一...原创 2019-01-25 15:28:14 · 561 阅读 · 0 评论 -
全局变量的声明、定义及用法
全局变量的声明、定义及用法文章目录全局变量的声明、定义及用法1. 编译单元(模块)2. 声明和定义3. extern 作用4. 全局变量(extern)4.1 如果直接将声明和定义都放在头文件中会如何?5. 静态全局变量(static)6. 全局常量(const)转载自https://blog.youkuaiyun.com/candyliuxj/article/details/7853938转载自htt...原创 2019-01-20 21:38:46 · 119480 阅读 · 5 评论 -
全局变量、局部变量、静态全局变量、静态局部变量在内存里的区别
全局变量、局部变量、静态全局变量、静态局部变量在内存里的区别文章目录全局变量、局部变量、静态全局变量、静态局部变量在内存里的区别1. 程序中的内存分配1.1. 示例程序2. 从作用域来看3. 从分配内存空间看4. 总结1. 程序中的内存分配一个由 C/C++ 编译的程序占用的内存分为以下几个部分:区域功能栈区(stack)由编译器自动分配释放 ,存放函数的参数值,局部...原创 2019-01-20 21:47:29 · 271 阅读 · 0 评论 -
C语言中的一些函数
C语言中的一些函数文章目录C语言中的一些函数1. 退出处理函数之exit() 与 _exit() 函数2. alarm 定时函数3. system 函数4. 退出处理函数与登记函数 atexit5. sprintf 函数6. printf 函数与 \n7. fgets 函数1. 退出处理函数之exit() 与 _exit() 函数正常情况下,进程终止,文件关闭,缓冲区的内容会被写到内核。e...原创 2019-01-20 22:01:31 · 312 阅读 · 0 评论 -
动态内存的申请和释放
动态内存的申请和释放文章目录动态内存的申请和释放1. malloc() 和 free() 的基本概念以及基本用法1.1 函数原型及说明:1.2 被释放的指针1.3 注意事项2. malloc() 到底从哪里得来了内存空间2.1 堆介绍2.2 栈介绍2.3 栈空间和堆空间的使用方式3. malloc() 以及 free() 的机制详解1. malloc() 和 free() 的基本概念以及基本用...原创 2019-01-20 22:15:18 · 4222 阅读 · 2 评论 -
Release和Debug的区别
Release和Debug的区别文章目录Release和Debug的区别1. debug 和 release 版本有什么不同1.1 在VS中的区别2. gcc 下 release 版本与 debug 版本的控制1. debug 和 release 版本有什么不同Debug:Debug 通常称为调试版本,通过一系列编译选项的配合,编译的结果通常包含调试信息,而且不做任何优化,以为开发人员提供 ...原创 2019-01-20 22:24:20 · 33016 阅读 · 0 评论 -
32位和64位系统区别及不同数据类型字节数
32位和64位系统区别及不同数据类型字节数文章目录32位和64位系统区别及不同数据类型字节数1. 64 位系统和 32 位有什么区别?1.1 什么是 64 位处理器?1.2 64位处理器之失1.3 64位处理器之得2. 不同数据类型的字节数2.1 程序运行平台2.2 常用数据类型对应字节数1. 64 位系统和 32 位有什么区别?64bit CPU 拥有更大的寻址能力,理论上可以支持 12...原创 2019-01-20 22:32:16 · 2045 阅读 · 0 评论 -
栈溢出及解决方法
栈溢出及解决方法文章目录栈溢出及解决方法1. 什么是栈溢出?2. 栈溢出的解决方法1. 什么是栈溢出?缓冲区溢出是由于C语言系列设有内置检查机制来确保复制到缓冲区的数据不得大于缓冲区的大小,因此当这个数据足够大的时候,将会溢出缓冲区的范围。栈溢出就是缓冲区溢出的一种。 由于缓冲区溢出而使得有用的存储单元被改写, 往往会引发不可预料的后果。程序在运行过程中,为了临时存取数据的需要,一...原创 2019-01-20 22:35:08 · 19801 阅读 · 1 评论 -
scanf()函数详解
scanf()函数详解文章目录scanf()函数详解1. 对于空白符的两张处理方式1.1 直接跳过1.2 %c 读取空白符2. scanf 的格式化输入和返回值1. 对于空白符的两张处理方式1.1 直接跳过想象输入设备(键盘)连接着一个叫**“缓冲”的东西,把缓冲认为是一个字符数组。当你的程序执行到 scanf 时,会从你的缓冲区读东西,如果缓冲区是空的,就阻塞住,等待你从键盘输入**。...原创 2019-01-20 22:43:31 · 1564 阅读 · 0 评论 -
数组a+1和&a+1的区别
数组 a+1 和 &a+1 的区别先来看一段代码:#include <stdio.h>int main(){ int a[5] = {1,2,3,4,5}; printf("a = %p\n", a); // I printf("&a = %p\n", &a); // II ...原创 2019-01-21 17:45:57 · 3393 阅读 · 0 评论 -
数组的初始化问题
数组的初始化问题文章目录数组的初始化问题1. 结论2. 验证2.1 无括号的情况2.2 只给整型数组中部分元素赋值的情况2.3 只给字符数组中部分元素赋值的情况1. 结论如果有括号会编译器会对数组进行初始化,否则不会。char a[10]; 的定义方式程序不会对数组进行初始化。char a[10] = { }; 数组全部初始化为\0,如果是整型数组初始化为0。char a[10]...原创 2019-01-21 17:52:33 · 1637 阅读 · 0 评论 -
浮点数如何判断相等
浮点数如何判断相等文章目录浮点数如何判断相等1. 为什么不能直接比较2. 如何比较1. 为什么不能直接比较计算机表示浮点数(float或double类型)都有一个精度限制,对于超出了精度限制的浮点数,计算机会把它们的精度之外的小数部分截断。因此,本来不相等的两个浮点数在计算机中可能就变成相等的了。例如:float a=10.222222225,b=10.222222229数学上 a ...原创 2019-01-21 18:02:46 · 25877 阅读 · 4 评论 -
程序在内存中的分布
程序在内存中的分布文章目录程序在内存中的分布1. 内存地址2. 堆和栈的不同2.1 分配方式不同2.2 空间大小不同2.3 分配效率不同2.4 能否产生碎片不同2.5 生长方向不同1. 内存地址在现代的操作系统中,当我们说到内存,往往需要分两部分来讲:物理内存 和 虚拟内存。从硬件上讲,虚拟空间是 CPU 内部的寻址空间,位于 MMU 之前,物理空间是总线上的寻址空间,是经过 MMU 转换之...原创 2019-01-22 11:17:20 · 1524 阅读 · 0 评论 -
C语言格式化输出
C语言格式化输出文章目录C语言格式化输出1. 基本格式化输出符号1.1 %g详解2. printf函数解析2.1 type 含义如下:2.1.1 %n 详解2.2 flags 规定输出格式,取值和含义如下:2.3 width2.4 prec 用于控制小数点后面的位数,取值和含义如下:2.5 [F|N|h|l] 表示指针是否是远指针或整数是否是长整数2.5.1 近指针、远指针解释1. 基本格式化...原创 2019-01-22 11:26:49 · 11199 阅读 · 0 评论 -
制表符\t
退格 \t\n 换行\t 的作用是跳格,即跳到下一个“制表位置”(也有说是TAB位置),在我们所用的系统中一个“制表区”占8列。“下一制表位置”从第9列开始。演示程序:main(){ printf("abc\tde"); printf("\n"); printf("123456789"); getch();}运行结果:如果不加\t输出:abcde..原创 2019-01-23 16:10:20 · 20254 阅读 · 1 评论 -
文本文件与二进制文件
文本文件与二进制文件文章目录文本文件与二进制文件1. 定义2. 存储3. 打开方式的区别1. 定义计算机在物理内存上面存放的都是二进制数据,所以文本文件和二进制文件的 主要区别是在逻辑上的而不是物理上的。从文件的编码方式来看,文件可以分为文本文件和二进制文件。文本文件是基于 字符编码 的文件,常见的有 ASCII、Unicode 等,二进制文件是基于 值编码 的文件,可以看成是变长编码,你...原创 2019-01-20 21:08:20 · 837 阅读 · 0 评论