typedef是一种特殊的声明方式,不过它与普通声明的含义大不相同。普通声明的主角是“变量”,它或是创建一个新变量或是对外文件变量使用前的声明;而typedef声明的主角则是“类型”,通过这个声明 ...
越来越感觉到c语言的短小精悍。 有一次要调试一个代码,直接从ftp上下载下来,打开vs就开始调试。无论怎么调试就是不对,单步运行定位错误到一个打开文件的函数。原来是文件没有打开。但是没有具体的错误信息,调试一下子陷入了僵局。记得以前用MFC的时候里面有个函数叫做GetLastError ,可以获取最后出错的原因,如果c语言有就好了。上网搜索了一下果然有这个东西,就叫做errno。errno是定义 ...
2014-05-08 07:57 2 3698 推荐指数:
typedef是一种特殊的声明方式,不过它与普通声明的含义大不相同。普通声明的主角是“变量”,它或是创建一个新变量或是对外文件变量使用前的声明;而typedef声明的主角则是“类型”,通过这个声明 ...
#是在宏定义中将参数进行字符串化的预处理特征,例如: #include <iostream> using namespace std; #define P(EXP) cout&l ...
'\0'表示ASCII编号为0的字符,在C语言中最常用于代表字符串结束的标志。'\n'表示ASCII编号为13的字符,代表回车键,输出这个字符就会换一行。 '\0'作为字符串的结束标志,本身会占用一个字符。所以要存一个最长5个字节的字符串,至少要有6个字节来存放,即char str[6]。 ...
在C语言中有条件编译指令,常见的有: #define 定义宏 #undef 取消已定义的宏 #if 如果给定条件为真,则编译下面代码 #ifdef 如果宏已经定义,则编译下面代码 #ifndef 如果宏没有定义,则编译下面代码 #elif 如果前面的#if给定 ...
之前对*和&符号一直理解的比较浅显。只知道: *p好像表示的是一个指针; &p表示的是一个地址。 然而这次当遇到了下面这个情况的时候: int a = 10; int *b = &am ...
这个问题是老生常谈的问题了,虽然诸多大牛都深恶痛绝的告诉所有人不要那样写,但这永远挡不住学校的老师和考试。 今天我们来辨析一下这个东西。 首先我们来名词辨析一下吧: ++i 这个叫 前自增 ...
今天探讨const,首先来说是将变量常量化。为什么要将变量常量化,原因有诸多好处有诸多。比如可以使数据更加安全不会被修改! 但是这个词有几个点要注意,那就是他究竟修饰了谁? 1.const int ...
在学习STM32的过程中遇到了许多定义的结构体,这就有必要了解一下"."与"->"的区别。 其实简单来说可以理解为: (*a).b 等价于 a->b。 "."一般情况下读作"的”,结 ...