C语言 进阶理解
文章平均质量分 53
七.季
这个作者很懒,什么都没留下…
展开
-
C语言学习—运算符—“~”取反符号的理解
C语言学习—运算符—“~”取反符号的理解5~ = -6;-5~ = 4;因为数据在计算机中是以二进制存放的。要知道原理,我们得先了解正负数在计算机中的存放形式:正数:原码=反码=补码负数:反码=原码取反;补码=反码+1;负数在计算机的存储方式是以补码对形式存在的。先看一下正数的取反符~的运算:以5为例:5是正数的原码=反码=补码(不用变换):原码:00000000 00000000 00000000 000001015“~”取反运算(逐位取反,包括符位):11111111 111111原创 2021-03-16 09:22:02 · 25300 阅读 · 2 评论 -
C语言学习—一级指针、二级指针的类型转换的进阶理解
C语言学习—一级指针、二级指针的类型转换的进阶理解类型转换都会在编程的时候运用到,很多人可能直观理解类型转换就是转换成另一个类型。其实这样理解也没有错,但是面对下面这种情况,就会出现段错误了:int Pointer_data(void **p,void **q){int data = **((int **)p);**((int **)p) = **((int **)q);**((int **)q) = data;return 0;}int main(void){int a=10,b=原创 2021-03-15 20:52:14 · 1157 阅读 · 0 评论 -
C语言学习—malloc、calloc、realloc的理解
C语言学习—malloc、calloc、realloc的理解malloc、calloc、realloc都是与内存分配有关的函数。要想了解三个函数的用法,得先了解内存的分配。静态存储区:静态存储区是全局变量、static类型的数据存放的区域。静态存储区的内存在整个程序运行结束前都不会被释放。栈区:栈区的数据是在语句执行后内存就会被释放。堆区:堆区的数据不会自动释放,需要用户用free、bzero等函数手动释放。们的malloc、calloc、realloc就是定义在栈区。头文件:#include&l原创 2021-03-15 20:34:57 · 673 阅读 · 0 评论 -
C语言学习—程序在计算机中的存储运行理解
C语言学习—程序在计算机中的存储运行理解要知道程序在二进制中是怎么样存储运行的,我们就必须的把下面这句话牢牢记在心里:无论是程序还是文件,一切一切,都是以二进制存放在计算机中的!二进制文件就是由只有1和0组成的文件。原因:C语言、C++语言、Java…都是我们语法,计算机是不认识我们在键盘上敲进去的代码的。代码需要我们经过编译->汇编,形成二进制文件才会被计算机识别,因为计算机只能认识1和0.有了这个概念之后,我们就可以对文件(程序也是文件的一种)在计算机的运行存储进行进一步的了解了。首先,我们原创 2021-03-09 20:45:29 · 931 阅读 · 4 评论