![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
浅谈C系列
Wqh_lym
听外国人的歌想要去结婚,听自己人的歌却想要孤独一生。
展开
-
浅谈---assert
我们知道头文件唯一的目的就是提供宏assert的定义。让我们在程序不应该出现的问题的地方使用这个宏进行断言。如果一处断言被证明非真,我们希望程序在标准错误流中输出一条适当的提示信息。并且使程序异常终止。 看到这里也许会有很多疑问,什么算是合适的地方?要是在不合适的地方使用断言会怎么样?如何写到标准错误流中的?下面我们会一点点来谈这方面的内容。 在编写代码时,使用断言代码的确会变得更简单,但是有原创 2017-09-23 15:00:26 · 318 阅读 · 0 评论 -
函数堆栈调用
环境: VS2017 int sum(int a,int b) { return a+b; } int main() { int a = 10; int b = 1; int c = 0; c = sum(a,b); return 0; } { (完成以下指令) 1, push ebp 2, m...原创 2019-03-21 14:48:22 · 207 阅读 · 0 评论 -
for,while区别
37: for (int i =0;i< 2;i++) 00821E58 C7 45 F8 00 00 00 00 mov dword ptr [ebp-8],0 00821E5F EB 09 jmp main+3Ah (0821E6Ah) 00821E61 8B 45 F8 mov ...原创 2019-02-27 09:23:55 · 222 阅读 · 0 评论 -
C++中堆和栈
栈(Stack):系统开辟空间,系统释放空间。存放函数的参数名,局部变量的名等,操作方式类似数据结构的栈 堆(Heap):用户开辟空间,用户释放空间,不同于数据结构中的堆,分配方式类似链表。 栈:在Windows下,是向低地址扩展的数据结构,是一块连续的区域,就是说栈顶地址和栈的最大容量是系统事先预定好的。 堆:是向高地址扩展的数据结构,是不连续区域,是因为他是系统用链表来存储空闲内存地址的原创 2018-04-06 16:29:45 · 183 阅读 · 0 评论 -
浅谈C语言缓冲区问题
这里是转载,个人感觉他写的真的很不错。缓冲区问题详解scanf中比较少用的是 [ 扫描字符集合, ^ 类似数学中的补集。*忽略读到的内容,[^\n]任何非\n的字符;将\n之前的所有字符读走。...原创 2018-04-04 22:14:39 · 348 阅读 · 0 评论 -
心血来潮之——malloc ,realloc,calloc 三者的区别
三个函数的申明分别是:void* malloc(size_t size);char *p=(char*)malloc(sizeof(char)*4);memset(p,0,sizeof(char)*4);//用0初始化p所指向的内存空间分配成功则返回指向起始地址的指针,否则返回空指针NULL。他是分配一块连续区域,不对分配空间进行初始化一般会在malloc后调用memset进行初始化内存空间。从堆...原创 2018-05-02 22:46:14 · 194 阅读 · 0 评论