C语言
C语言的相关知识
又偷吃我氮泵_
心中有火 眼里有光
展开
-
编程思想:面向对象和面向过程的区别与联系
前言何谓面向对象?何谓面向过程?对于这编程界的两大思想,一直贯穿在我们学习和工作当中。我们知道面向过程和面向对象,但要让我们讲出来个所以然,又感觉是不知从何说起。而这种茫然,其实就是对这两大编程思想的迷糊之处。本文来详细阐述一下面向对象和面向过程的区别和联系。一:面向过程面向过程思想顾名思义其实就是面向解决问题的步骤进行编程。面向过程的编程思想总结起来就八个字——自顶向下,逐步细化!将要实现的功能描述为一个从开始到结束按部就班的连续的步骤(过程);依次逐步完成这些步骤,如果某一步的难度较大,原创 2020-10-07 20:53:55 · 5962 阅读 · 0 评论 -
大端存储模式和小端存储模式
前言对于整型来说:数据存放在内存中其实存放的是补码(深度剖析数据在内存中的存储:https://blog.csdn.net/Outtch_/article/details/102758413)我们可以看到对于整型a和b分别存储的是补码,但是我们发现顺序有点不对劲,有一种数据好像存反的错觉,这又是为什么呢?这就和我们今天讨论的主题——大端存储模式和小端存储模式有着密切的关系。什么是大小端...原创 2020-04-19 14:24:27 · 2048 阅读 · 0 评论 -
位操作符、移位操作符与位运算
位运算是把数字用二进制表示之后,对每一位上0或者1的运算。二进制及其位运算是现代计算机学科的基石,很多底层的技术也都离不开位运算,由于在我们日常生活中习惯了十进制,很多人看到二进制以及位运算都感到很难适应,接下来我们一起讨论一下移位操作符和位操作符以及位运算。移位操作符<< 左移操作符>> 右移操作符位操作符& 按位与(二进制位)| 按位或(二进制位...原创 2019-10-27 20:26:17 · 729 阅读 · 0 评论 -
深度剖析数据在内存中的存储(整型和浮点型)
我们知道一个变量的创建是要在内存中开辟空间的,空间的大小是根据不同的类型而决定的,而且不同的类型也影响着我们看待内存空间的视角。比如:int a = 20,float b= 5.0接下来我们看看数据在所开辟的类型中是如何存储的?整型在内存中的存储整型家族charunsigned char,signed charshortunsigned short,signed shortint...原创 2019-10-26 19:10:58 · 2511 阅读 · 0 评论 -
指针的高级主题(字符指针、指针数组、数组指针、函数指针、函数指针数组、回调函数)
对指针的初步认知指针是对内存地址的编号,用来存放地址,地址唯一标识一块内存空间。指针的大小是固定的4或8个字节(32位平台/64位平台)。以32位机器为例,会产生32根地址线可以访问2^32个存储单元,即4GB,32根地址线也就是32个bit,是4个字节指针也是有类型的,指针的类型决定了指针±整数的步长,指针解引用操作的权限。指针简单的运算。指针可不止这些内容欧,还有更多的知识等着...原创 2019-11-02 20:03:56 · 289 阅读 · 0 评论 -
C语言中宏定义和函数的区别
前言在C语言中,对于一些常用或通用的代码段的封装可以有两种方式:函数和宏定义。这篇博客就来带大家梳理一下对于这两种方式我们在使用时应该如何抉择,以及它们的区别和优缺点。宏定义和函数的区别从程序的执行来看:函数调用需要开辟和释放栈空间带来开销(压栈、释放),不仅会降低代码效率,而且代码量也会大大增加。宏定义只在编译前进行,不分配空间,不占运行时间。总结:宏定义在代码规模和速度方面都比函数更胜一筹从参数的类型来看:函数的参数必须声明为一种特定的数据类型,如果参数的类型不同,就需要使用不原创 2020-05-19 20:51:34 · 1373 阅读 · 0 评论 -
C语言中常用的自定义数据类型(结构体、枚举、联合)
前言在程序编写的过程中,我们难免会遇到一些复杂的元素(例如学生:姓名、性别、学号)无法用单一的内置数据类型表示,于是就引入了自定义数据类型来描述这些复杂的元素。C语言中常见的自定义数据类型主要有:结构体、枚举、联合(结构体中主要解释位段)一:位段数据的存取一般以字节为单位,但某种情况下存储一个数据不必用一个或多个字节(例如:“真”或“假”用0或1表示只需要1个bit位),正是基于这种考虑,C语言又提供了一种叫做位段的数据结构。C语言允许在一个结构体中以位为单位来指定其成员所占内存长度, 这种以位为原创 2020-05-19 00:12:54 · 1125 阅读 · 0 评论 -
结构体的内存对齐规则
前言结构体是一种自定义类型,其中包含了许多不同类型的变量,我们称这些值为成员变量,那么这种自定义类型的大小该怎么计算呢?这才是我们今天讨论的重点问题。结构体内存对齐规则要想计算结构体的大小,首先得了解结构体的内存对齐规则。第一个成员在与结构体变量偏移位为0的地址处其他成员变量要对齐到对齐数的整数倍的地址处对齐数 = 编译器默认的对齐数(VS为8、Linux为4) 与 该成员大小的较...原创 2020-04-18 22:22:00 · 277 阅读 · 0 评论