C语言
文章平均质量分 91
侠客行-
这个作者很懒,什么都没留下…
展开
-
自行实现strcpy,strcat,strcmp函数
一、strcpy在这里我们需要科普一个东西:断言何为断言?如果你是字面理解,没错就是断定一句话是不是真的。简单吧?当然我们C语言的断言是以函数assert()来判断一个表达式或者一个值是否是我们需要的,此外使用这个函数需要引用一下assert.h这个头文件。assert断言的用法很简单,就是在一个表达式内判断所需的表达式要判断的值是否是我们需要的。如有以下的函数体void My_strcat(ch...原创 2018-03-16 00:23:03 · 1098 阅读 · 3 评论 -
指针知识整理
一、何为指针?首先我们有了解以下预备知识(1)内存:内存是顺序编号的一些列存储单元组成的,在内存中,每个存储单元都赋予为敌的编号(地址),计算机通过地址可以方便的在内存单元中存储数据。(2)可以将函数名通过%x打印出该函数的地址。(3)一个程序载入内存,代码和数据都有地址编号。(4)变量名就是对内存一段空间里面数据的抽象,变量的类型决定了读取的字节数...原创 2018-02-25 23:08:11 · 1164 阅读 · 0 评论 -
C语言函数返回值解析
一般来说,函数在返回返回值的时候汇编代码一般都会将待返回的值放入eax寄存器暂存,接着再调用mov指令将eax中返回值写入对应的变量中,如下代码:做简单的sum运算, 1 #include<stdio.h> 2 #include<stdlib.h> 3 4 int sum(int ivar1,int ivar2) 5 { 6 return i...原创 2018-04-09 12:35:53 · 24714 阅读 · 0 评论 -
switch与跳转表
一、switch跳转语句类似于多路开关,可以根据给定条件匹配到符合条件的语句。正式点来说,是根据一个整形数值来进行多路分支的一种结构。在处理具有多种可能结果时,这种语句非常有效。它不仅挺高了C代码的可读性和逻辑性,而且使用跳转表来作为底层实现基础。switch基本框架为int conditionswitch(condition){ case condition1:statements ; ...原创 2018-04-02 13:07:23 · 9877 阅读 · 2 评论 -
malloc,realloc,calloc对比
malloc作用区域 :堆区 函数声明 :void *malloc(size_t size); 对于申请后的内存的初始值:0xcdcdcdcd 函数返回值: 如果分配成功则返回指向被分配内的指针(此存储区中的初始值不确定),否则返回空指针NULL。当内存不再使用时,应使用free()函数将内存块释放。函数返回的指针一定要适当对齐,使其可以用于任何数据对象。 ...原创 2018-04-11 12:40:06 · 218 阅读 · 0 评论