C语言
binbinyantai
脚踏实地,一步一个脚印的积累
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
float double 和long double
IEEE754浮点数的表示方法。C语言里对float类型数据的表示范围为-3.4*10^38~+3.4*10^38。double为-1.7*10^-308~1.7*10^308,long double为-1.2*10^-4932~1.2*10^4932.类型比特(位)数有效数字数值范围float转载 2018-01-11 18:02:01 · 815 阅读 · 0 评论 -
vs2017 使用fopen_s error问题解决
vs是一个很好的软件编辑器,有时候我们只是希望编写一些c语言的程序,使用vs进行仿真,仿真成功后可以移植到linux的环境。或者使用gcc等编译器的地方,但是像fopen_s这种函数是微软的所以为了移植性,最好使用标准的fopen函数。、为了在vs下屏蔽fopen的报警,需要设置如下。项目->属性->配置属性->C/C++ -> 预处理器 -> 预处理器定义,增加_C...原创 2018-05-25 09:46:24 · 7820 阅读 · 3 评论 -
char *a[10]与char (*a)[10] 两种定义的不同
char *a[10];This declares array of 10 pointers to char . 十个指针Whereas , char (*a)[10];declares pointer to array of 10 char's 一个指针原创 2018-05-05 15:10:31 · 8345 阅读 · 0 评论 -
c语言结构体嵌套的对齐方式
1:在代码中有结构体嵌套的方式,又需要获取每个变量的地址。那么需要了解结构体嵌套和单一结构体的一些对齐方面的规则。2:对于嵌入式的设备来说,对齐很重要,有些cpu不支持不对齐的访问方式,有的cpu支持,只是效率上会降低。3:arm中默认编译的时候会进行对齐。规则一:结构体中的第一个成员位置在偏移量0,之后每个变量的偏移量必须是它本身字节数的整数倍。规则二:如果结构体中嵌套结构体,那么嵌套的结构体的...原创 2018-04-16 11:05:05 · 6752 阅读 · 0 评论 -
c语言中的求整函数
1234567#include <math.h> double ceil(double x); double floor(double x); double round(double x);ceil(x)返回不小于x的最小整数值(然后转换为double型)。floor(x)返回不大于x的最大整数值。round(x)返回x的四舍五入整数值。给个例子test.c: ?12345678910...转载 2018-03-12 10:21:04 · 542 阅读 · 0 评论 -
c语言 pow和sqrt注意
头文件:#include <math.h>sqrt() 用来求给定值的平方根,其原型为: double sqrt(double x);【参数】x 为要计算平方根的值。如果 x < 0,将会导致 domain error 错误,并把全局变量 errno 的值为设置为 EDOM。【返回值】返回 x 平方根。注意,使用 GCC 编译时请加入-lm。----------------...原创 2018-03-15 09:31:59 · 7209 阅读 · 1 评论 -
关于”error conflicting types for function”编译错误的分析
在使用gcc编译C程序时,有时会碰到“error: conflicting types for ‘function’”的编译错误。从字面意义上理解,是说函数的定义和声明不一致。(一)首先我们看一个函数的定义和声明不一致的例子:#include int func(int a);int func(void) { return 0;}int main(void)转载 2018-02-05 11:10:51 · 4205 阅读 · 0 评论 -
关于printf输出格式%#08x的解释
#代表的是在字符串前面加上0x。08表示输出8个字符。x是输出16进制当然你也可以写成0x%08x,但是这两种是有区别的。一个输出包括0x输出8bit,而第二种包含0x输出10bitint i = 7;printf("%#010x\n", i); // gives 0x00000007printf("0x%08x\n", i); // gives 0x00000007pri原创 2018-01-29 10:14:28 · 36454 阅读 · 1 评论 -
#define几点注意事项
1、 用无参宏定义一个简单的常量#define LEN 12这个是最常见的用法,但也会出错。比如下面几个知识点你会吗?可以看下:(1)#define NAME "zhangyuncong"程序中有"NAME"则,它会不会被替换呢?(2)#define 0x abcd可以吗?也就是说,可不可以用不是标识符的字母替转载 2018-01-15 18:34:36 · 1472 阅读 · 0 评论 -
数组作为函数参数的几点说明
如果一个函数以一维数组为参数,我们可以这样声明这个函数void func(int* a) ;void func(int a[]) ;void func(int a[3]) ;实际上,这三种形式是等价的,在使用数组做参数时,编译器会自动将数组名转换为指向数组第一个元素的指针,为什么呢?这要从参数的传递方式说起,参数有三种传递方式,按值传递,按指针传递,按引用传递,分别如下转载 2018-01-15 18:09:10 · 7848 阅读 · 0 评论 -
VS2017 堆栈的修改
偶尔会遇到这种堆栈溢出的问题,可以通过修改堆栈的reserve size。默认1M,比如修改为10M原创 2018-05-25 09:51:23 · 10626 阅读 · 0 评论
分享