摘要:
网上查资料发现C++编译器不允许这种做法,会报编译错误,但是C编译器如GCC一般不会报错,但返回的值不确定。 自己写了简单的代码做了个试验,代码如下: #include <stdio.h> int a(){ // printf("function a called\n");} int b(){ // 阅读全文
摘要:
严格地说两者定义的都不是常量,只是被用来表示常量。 1. #define是预处理器指令(宏定义),在编译前就会把所有#define定义的宏名全部按原样替换为其定义的值。 使用#define 需要注意三个问题,一是#define具有边缘效应,举例如下: (代码出自http://www.runoob.c 阅读全文
摘要:
使用windows平台MinGW版本的GCC编译器,对以下代码片段进行了编译,探究各个变量在内存中的存储位置: (不同的机器、不同的操作系统的GCC版本可能有差异,因此结论不具有普遍适用性,具体情况需要编译执行此代码自行分析) 代码片段: #include <stdio.h>#include <st 阅读全文
摘要:
昨天开始学习C语言,记录下学习笔记: 1. 规定单精度浮点数用32bit表示(4Byte): 首位为符号位(0正1负), 8位指数位(表示小数位应该乘以2的多少次方), 23位小数位(十进制原值用二进制表示并规整为科学计数法后带一位整数的二进制小数,由于整数位必须为1所以省略整数部分,只保存小数部分 阅读全文