
C语言知识和练习
奇幻岛
这个作者很懒,什么都没留下…
展开
-
【define和const常量】以及【new和malloc】的区别
define和const常量的区别1、编译器处理不同宏定义是一个“编译时”概念,在预处理阶段展开,不能对宏定义进行调试,生命周期结束于编译时期;const常量是一个“运行时”概念,在程序运行使用,类似于一个只读行数据2、存储方式不同宏定义是直接替换,不会分配内存,存储与程序的代码段中;const常量需要进行内存分配3、类型和安全检查不同宏定义是字符替换,没有数据类型的区别,同时这种替换没有类型安全检查,可能产生边际效应等错误;const常量是常量的声明,有类型区别,需要在编译阶段进行类型检查原创 2020-08-04 15:09:49 · 361 阅读 · 0 评论 -
【数组和指针】以及【指针和引用】的区别
1、概念不同数组:数组是用于储存多个相同类型数据的集合。指针:指针相当于一个变量,但是它和不同变量不一样,它存放的是其它变量在内存中的地址。2、空间分配:数组是静态分配,且分配的空间是连续的;指针是动态分配,分配的空间不一定是连续的。3、大小不同(求sizeof)数组:数组所占存储空间的内存:sizeof(数组名)数组的大小:sizeof(数组名)/sizeof(数据类型)指针:在...原创 2020-03-09 22:43:11 · 416 阅读 · 3 评论 -
冯诺依曼体系结构到底长什么样儿呢?
一、五大组成及其作用1、输入数据和程序的输入设备。2、记忆程序和数据的存储器。3、完成数据加工处理的运算器。4、控制程序执行的控制器。5、输出处理结果的输出设备。这五大部分通过系统总线完成指令所传达的操作,当计算机在接受指令后,由控制器指挥,将数据众输入设备传送到存储器存放,再由控制器将需要参加运算的数据传送到运算器,由运算器进行处理,处理后的结果由输出设备输出。二、理论要点1、计...原创 2019-11-03 20:45:57 · 287 阅读 · 0 评论 -
C语言实现扫雷
扫雷用编程语言该怎样实现呢?首先要明白扫雷都需要哪几部分,借助算法模块来模拟游戏规则,需要用函数来调用各个模块使游戏跑起来。那么问题来了,一个棋盘能解决问题吗?我们必须得有两个棋盘,也就是在程序中设置两个数组,*覆盖是给用户看的,真正的雷区用0和1表示。暂定棋盘范围为10X10的,那二维数组大小应该为多少呢?这里就牵扯到边界雷的个数可能存在越界问题,所以要定义12X12大小的二维数组,这些元素我们...原创 2019-04-09 22:54:43 · 294 阅读 · 2 评论 -
自定义类型:结构体、位段、枚举、联合
1、结构体基础知识定义:不同或相同类型元素的集合声明:直接上例子会更清楚成员:可以是变量、数组、指针甚至其它结构体成员。struct Stu{ char name[20]; int age; char sex[5]; char id[20];};//分号不能丢特殊声明(匿名结构体类型,并不建议省略结构体类型名,知道有这么回事就好了)struct { ...原创 2019-05-28 12:46:13 · 115 阅读 · 0 评论 -
指针深入探究
数组指针:是指针,是一个能够指向数组的指针,里面存放的是数组的地址。整型指针:int *p;能够指向整型数据的指针浮点型指针:float *p;能够指向浮点型数据的指针数组指针:int (*p)[5];能够指向数组的指针比如:int arr[10];arr代表数组首元素的地址,需要存放在整型指针中&arr代表数组的地址,需要存放在数组指针中指针加一:加上其所指向类型的...转载 2019-05-15 19:54:47 · 114 阅读 · 0 评论 -
c语言操作符详解
一、算术操作符:+、 -、 *、 \、 %(取模)1、双目操作符、自左向右、优先级排名 ±为4,其它三个为3,2、对于 / 操作符如果两个操作数都为整数,执行整数除法。而只要有浮点数执行的就是浮点数除法3、% 操作符的两个操作数必须为整数(不能为浮点数),返回的是整除之后的余数int a=5,b=2;a/b==2; not 2.5a%b==1;二、移位操作符:左移 <<...原创 2019-04-09 18:34:42 · 589 阅读 · 0 评论 -
逻辑与(&&)或(||)按位与(&)或(|)异或(^)的那些事
逻辑与(&&)或(||)按位与(&)或(|)异或(^)的那些事运算规则->逻辑与按位与 全1才1 有0则0逻辑或按位或 有1则1 全0才0按位异或 相同为0 不同为1区别1、逻辑与&&表示的是交集,2个条件同时成立,结果才为真。逻辑或||表示的并集,只要有一个条件成立,结果就为真2、逻辑与(或)只要...原创 2019-04-01 19:06:12 · 1774 阅读 · 3 评论 -
C语言中的typedef和define static和const的用法和不同:
typedef和define:是给对象起另外的名字,主要为了简化程序和增强可读性,区别如下(1)原理不同#define是C语言中定义的语法,是预处理指令,也称作宏定义,在预处理时进行简单而机械的字符串替换,不作正确性检查,只有在编译已被展开的源程序时才会发现可能的错误并报错。typedef是关键字,在编译时处理,有类型检查功能。它在自己的作用域内给一个已经存在的类型一个别名,但不能在一个函数...原创 2019-03-28 12:28:17 · 723 阅读 · 2 评论