
C语言学习
文章平均质量分 72
C语言语法的学习
DarknessCor
不定期更新Unity游戏开发或者是C++编程语言的优质内容
展开
-
C语言文件操作
据,此时数据是存放在内存中,当程序退出的时候,通讯录中的数据自然就不存在了,等下次运行通讯录程序的时候,数据又得重新录入,如果使用这样的通讯录就很难受。在平日书写代码时候处理数据的输入输出都是以终端为对象的,即从终端的键盘输入数据,运行结果显示到显示器上,但其实有时候我们会把信息输出到磁盘上,当需要的时候再从磁盘上把数据读取到内存中使用,这里处理的就是磁盘上文件。在编写程序的时候,在打开文件的同时,都会返回一个FILE*的指针变量指向该文件,也相当于建立了指针和文件的关系。一个数据在内存中是怎么存储的呢?原创 2023-10-19 18:11:23 · 100 阅读 · 17 评论 -
C语言的三大基本结构以及分支语句和循环语句
C语言的三大基本结构包括,顺序结构顾名思义,就是从头到尾,代码一句接一句的执行下来叫做顺序结构,选择结构是指代码有两种或以上不同的执行方向可以选择执行,到某个节点后,会根据一次判断的结果来决定之后向哪一个分支方向执行且只能选择一个方向,循环结构有一个循环体,循环体就是代码,循环执行循环体内的代码直到出循环.原创 2023-07-16 18:03:54 · 669 阅读 · 1 评论 -
C语言结构体位段,枚举知识
(2) 位段的空间上是按照需要以4个字节( int )或者1个字节( char )的方式来开辟的。(4 )当一个结构包含两个位段,第二个位段成员比较大,无法容纳于第一个位段剩余的位时,是。总结:跟结构相比,位段可以达到同样的效果,但是可以很好的节省空间,但是有跨平台的问题存在。(3) 位段涉及很多不确定因素,位段是不跨平台的,注重可移植的程序应该避免使用位段。这些可能取值都是有值的,默认从0开始,一次递增1,当然在定义的时候也可以赋初值。{}中的内容是枚举类型的可能取值,也叫 枚举常量。原创 2023-10-04 17:51:36 · 189 阅读 · 1 评论 -
C语言结构体基础知识
结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量,也可以有很多个变量。如果传递一个结构体对象的时候,结构体过大,参数压栈的的系统开销比较大,所以会导致性能的。可以看到,一种是先解引用在使用(.)操作符来访问,另一种则是直接使用->操作符访问.例如,要创建一个学生的类型,则其中学生要有很多属性,其中的成员就是对应的各个属性.下降,但如果穿的参数是指针,那么不论结构体本身有多大,穿的参数始终都是指针大小.结构的成员可以是标量、数组、指针,甚至是其他结构体,结构体的成员类型很丰富.原创 2023-09-23 21:43:01 · 212 阅读 · 3 评论 -
C语言常见库函数的模拟实现
该函数的作用是比较两个字符串,因此可使用两个分别代表两个字符串首地址的指针来依次判断,如果p1大于p2则返回1,小于返回-1,相等则返回0,值得一提的是,当有一方到达末尾或者两方同时到达末尾时,要另外在循坏外面再进行一次判断.该函数的作用是将源头字符串拷贝到目标字符串,需要保证的是,目标字符串的长度要比源头字符串长,否则拷贝不下,函数传入两个字符串的首地址,判断结束条件与strlen函数一致.该函数的作用是将目标字符串的末尾再加上一个字符串,需要保证目标字符串有足够的长度,且在末尾也要加上'/0'.原创 2023-10-04 17:13:28 · 106 阅读 · 1 评论 -
C语言的内置数据类型以及变量和常量
C语言内置数据类型,以及变量和常量的理解原创 2023-06-20 18:05:17 · 172 阅读 · 2 评论 -
C语言程序环境和预处理
程序同时也可以使用静态(static)内存,存储于静态内存中的变量在程序的整个执行过程一直保留他们的值。事实上,翻译环境中可分为四步,即预编译,编译,汇编和链接,我们写的源代码在经过编译器编译后,再经过链接器与链接库进行链接后才生成可执行程序。结论:所以用于对数值表达式进行求值的宏定义都应该用这种方式加上括号,避免在使用宏时由于参数中的操作符或邻近操作符之间不可预料的相互作用。把C语言代码翻译成汇编代码,编译完成之后就停下来(编译后产生的为汇编指令),结果保存在test.s中。在独立的环境中,程序。原创 2023-10-17 19:18:49 · 58 阅读 · 1 评论 -
C语言函数
可以看出并没有达到我们想要的效果,这就是因为形参和实参是两个东西,改变形参并不会影响实参,因此,我们想要影响实参就要传入实参的地址.可以将代码改为如下.上文说过,形参和实参的地址不同,也就是说函数的形参和实参分别占有不同内存块,对形参的修改不会影响实参.的过程中我们会频繁的做一些字符串的拷贝工作(strcpy函数),亦或是在编程是我们也计算,总。是会计算n的k次方这样的运算(pow函数),因此,我们所使用的编译器会根据C语言函数定义的标。库函数不能解决所有的问题一劳永逸,所以更加重要的是自定义函数。原创 2023-07-26 13:38:22 · 142 阅读 · 9 评论 -
第一个C语言程序(认识C语言的第一步)
其实,在操作系统和电脑硬件之间还有一个层次叫做驱动层,也叫驱动程序,操作系统通过驱动程序来控制电脑工作,同时在操作系统之上就是我们所熟知的各种各样的软件,比如喜欢打游戏,那么可以安装各有各样的游戏,那么,重点来了,在操作系统之上的应用我们成为。在这里,我为了使用库函数printf,所以我使用了"stdio.h"头文件,printf是库函数,是C语言中我们可以直接用的函数,而它的功能就是在屏幕上打印信息,而且在代码中"main"为C语言的主函数,也即是程序的入口,同时,在程序中。的编程语言有所不同。原创 2023-06-17 16:41:21 · 86 阅读 · 0 评论 -
C语言指针
可以看出,由于pc是指向char类型的指针,pi是指向int类型的指针,当同时将他们加1时,他们地址的变化是不同的,也即是,指针的类型决定了指针向前或者向后走一步有多大(距离)比如char类型的指针加一后指针向后移动一个字节,int类型的指针加一后移动4个字节.注意:同时需要注意的是,上文说过,指针变量存储的地址是一个字节,而例如int,double,这些变量拥有大于一的字节空间,那么指针存储的地址就为最前面的第一个字节的空间有些类似于数组名和数组的关系.我们都知道,变量有不同的类型,整形,浮点型等。原创 2023-08-05 21:49:32 · 102 阅读 · 5 评论 -
C语言结构体对齐
4. 如果嵌套了结构体的情况,嵌套的结构体对齐到自己的最大对齐数的整数倍处,结构体的整。不是所有的硬件平台都能访问任意地址上的任意数据的;原因在于,为了访问未对齐的内存,处理器需要作两次内存访问;3. 结构体总大小为最大对齐数(每个成员变量都有一个对齐数)的整数倍。2. 其他成员变量要对齐到某个数字(对齐数)的整数倍的地址处。体大小就是所有最大对齐数(含嵌套结构体的对齐数)的整数倍。对齐数 = 编译器默认的一个对齐数与该成员大小的较小值。归根究底,结构体的内存对齐是拿空间来换取时间的做法。原创 2023-10-04 17:27:23 · 162 阅读 · 1 评论 -
C语言联合(共用体)
输出后可以发现un.i和un.c地址相同,且un.c也改变了un.i的值更加证明了公用同一块空间.这种类型定义的变量也包含一系列的成员,特征是这些成员公用同一块空间(所以联合也叫共用体)联合的成员是共用同一块内存空间的,这样一个联合变量的大小,至少是最大成员的大小(因为联。(2)当最大成员大小不是最大对齐数的整数倍的时候,就要对齐到最大对齐数的整数倍。(1)联合的大小至少是最大成员的大小。合至少得有能力保存最大的那个成员)联合也是一种特殊的自定义类型。原创 2023-10-04 21:11:59 · 176 阅读 · 1 评论