C语言学习笔记
文章平均质量分 87
新博客地址:tingyun.site
忘记一个当了很久的自己,从新开始
展开
-
printf用法整理
首先,是基本的输出格式控制(用于和输出数据类型控制结合一起使用) 1.% 格式说明的起始符号 2.- 表示左对其,一般直接加在%号后 3.0 有0表示指定空位填充0,省略表示空位不填 4.m.n m表示域宽,也就是在输出设备上占的空间,字符数。n指的是精度,当输出float或double时,可以指定输出小数点后n位,默认n==6.一般直接输出浮点型数都是小原创 2016-05-15 12:00:36 · 2017 阅读 · 0 评论 -
C---int和指针转换注意事项
这个标题也许写的有点不知所以然了,其实博主今天要讨论的自己在复习c/c++指针和引用的时候遇到的一些问题,慢慢说来…..开始的时候写了这么一段代码:int a = 1;int* p = &a;printf("指针变量p的值 p - 16表示 是 = %p \n",p); printf("a的地址 p - 16表示 是 = %p \n",&a);/*输出指针变量p原创 2016-05-17 20:28:48 · 19462 阅读 · 0 评论 -
内存对齐与内存分配原则
首先讲一个概念—-内存对齐一种提高内存访问速度的策略,cpu在访问未对其的内存需要经过两次内存访问,而经过内存对齐一次就可以了。(?)打个比方就是:操作系统在访问内存时,每次读取一定的长度(这个长度是系统默认的对其系数),程序中你也可以自己设定对齐系数,告诉编译器你想怎么对齐,可用#pargam pack(n),指定n为对其系数。但是当没有了内存对齐,cpu在访问一个变量时候,可能会访问两次,为什么原创 2016-05-18 14:30:19 · 11290 阅读 · 3 评论 -
浮点数在计算机中存储方式
首先,咱们先得知道,在计算机内存中存储数据的格式有两种,一种是大端字节序(即将高位数据存放在低地址上,低位数据存放在高地址上),还有一种是小端字节序(与之前相反),举个例子:一个short int短整型 3332 == 00001101 00000100,那么大部分机器中的存储方式为小端字节序 那就是这么存的: 00000100 00001101,也就是低位数据(4)放在低地址原创 2016-05-15 16:06:08 · 2069 阅读 · 0 评论 -
函数调用中堆栈的个人理解(转)
这是我的第一篇博客,由于公司项目需要,将暂时告别C语言一段时间。所以在此记录一下自己之前学习C语言的一些心得体会,希望可以分享给大家,也可以记录下自己学习过程中遇到的问题以及存在的疑惑(其实就是自己学习过程中不解的地方)。好了,废话不多说,开始微博内容了,O(∩_∩)O哈哈~接下来将通过下面几个问题解析函数调用中对堆栈理解:函数调用过程中堆栈在内存中存放的结构如何? 汇编语言中call,ret,l转载 2016-08-01 11:06:42 · 2490 阅读 · 0 评论 -
C++内存泄露注意点
本文参考点这里,大部分内容还是一样的,一些地方加上了自己的理解,因为文字是自己边看边写的,所以作为原创了,大家可以看看原博文对比。1.在类的构造函数和析构函数中没有匹配地调用new和delete函数两种情况下会出现这种内存泄露: 1.在堆里面创建了对象占用了内存,但是没有显示地释放对象占用的内存。(针对整个对象,显示释放指的是手动回收内存) 2.在类的构造函数中动原创 2016-08-26 11:11:10 · 1781 阅读 · 0 评论 -
static在C和C++中的用法和区别(转)
static主要有三个作用:(1)局部静态变量(2)外部静态变量/函数(3)静态数据成员/成员函数前两种C和C++都有,第三种仅在C++中有,下面分别作以下介绍:一、局部静态变量在C/C++中, 局部变量按照存储形式可分为三种auto, static, register。其中register不常用到,下面主要说说auto和static的区转载 2016-09-19 13:09:46 · 344 阅读 · 0 评论