- 博客(17)
- 收藏
- 关注
原创 Java开发工具的下载
IDEA全称InteliJ IDEA,是用于Java语言开发的集成环境,它是业界公认的目前用于Java程序开发最。把代码编写,编译,执行,调试等多种功能综合到一起的开发工具。逐级新建最后在class里面写代码;让我们更专注于写代码和运行结果。使用idea包括4个部分。项目,模块,包,类;
2024-06-13 21:25:38
246
原创 初阶java学习3
class关键字表示定义一个类,后面跟随类名,所有的代码写在类名后面的大括号内;通过调整红绿蓝三种颜色的数值可以调配出各种颜色,填充到各个像素点里面构成彩色图;声音数据会涉及到这种波形图,每一段音频都会对声音的波形图进行采样变二进制存储;通常我们听到的无损音乐实际上是对声音的采集点更多,使得听到的音乐清晰悦耳;(不同于C中的字符数组);在我们做类似于表格的数据时制表符有对齐的作用;一个完整的java项目是由多个类组成的;byte的取值范围是-128-+127;使得声音的还原度更高,全损音质则相反;
2024-06-12 20:36:02
342
原创 初阶java学习2
用户只要打开程序,程序的界面会让用户在最短的时间内找到他们需要的功能,同时主动带领用户完成他们的工作并得到最好的体验。(Java Virtual Machine) : Java虚拟机,真正运行Java程序的地方。java语言编写的程序是运行在虚拟机里面的;java在国内外的使用率是非常高的,使用多个领域,更新速度极快与时俱进;Java语言的(标准版),用于桌面应用的开发,是其他两个版本的基础。Java语言不是直接运行在操作系统里面的,而是运行在虚拟机中的。Java语言的跨平台是通过虚拟机实现的。
2024-06-11 15:56:24
592
原创 初阶java学习1
在此电脑界面右键属性找到环境变量中的Path变量并新建保存QQ的地址这样在CMD操作打开QQ,当前目录里找不到时,系统就会去环境变量保存的路径找到qq;我们在打开QQ时,首先qq一定不会被我们安装在C盘而且QQ是经常打开的软件,每次打开的时换盘符,并且进入多层文件夹是非常麻烦;我们想要在任意的目录下都可以打开指定的软件。在计算机发展的初期,没有像我们今天这样的图形化界面,都是黑框输入指令来操作;即将javac和java的路径保存在环境变量的path变量中;只要把qq的路径记录在电脑的。
2024-06-10 17:15:19
803
原创 C语言:程序环境和预处理1
一.程序的翻译环境在ANSI C的任何一种实现中,存在两个不同的环境。第1种是翻译环境,在这个环境中源代码被转换为可执行的机器指令。注意:机器指令也就是二进制识别第2种是执行环境,它用于实际执行代码。在企业中一个项目组有多名成员完成项目,各写各的.c文件最后通过编译器和连接器完成我们的项目;每一个源文件都需要通过编译器翻译成目标文件.obj;所有的.obj文件和链接库共同协作生成可执行程序.exe编译器-cl.exe;链接器-link.exe;
2024-06-07 21:24:59
1113
原创 C语言:程序的翻译环境
链接器同时也会引入标准C函数库中任何被该程序所用到的函数,而且它可以搜索程序员个人的程序库,将其需要的函数也链接到程序。gcc test.c -E(预处理指令) -o(输出) test.i(预处理后生成的文件)#include包含于程序test.c中预处理文件test.i中将头文件中的内容调出来;gcc test. i -S(gcc环境下对test.i文件进行编译处理就结束)符号汇总(符号汇总只统计全局符号,函数中的局部变量不会统计)在ANSI C的任何一种实现中,存在两个不同的环境。
2024-06-07 18:07:06
346
原创 C语言:关于柔性数组的学习
(3) malloc函数给柔性数组开辟的空间大于结构体的大小,以适应柔性数组的预期大小;:如果我们的代码是在一个给别人用的函数中,你在里面做了二次内存分配,并把整个结构体返回给。好了,并返回给用户一个结构体指针,用户做一次free就可以把所有的内存也给释放掉。(1) 柔性数组在定义时前面必须有至少一个其他的成员变量先定义;这里的第一次malloc开辟结构体的空间是为了让我们的数据都在堆去上进行操作;同时最后也释放了两次空间,显示放了结构体中指针的空间;这样的定义内存不会给柔性数组分配任何空间;
2024-06-04 20:31:04
433
原创 (补充)关于文件的读写与判断
ANSIC标准采用"缓冲文件系统"处理的数据文件的,所谓缓冲文件系统是指系统自动地在内存中为程序中每一个正在使用的文件开辟一块"文件缓冲区"。如果不做,可能导致读写文件的问题:当我们想要读写下一组数据时没有对上一个文件残留的缓冲区内容进行刷新也没有关闭上一个文件来重置缓冲区;因为有缓冲区的存在,C语言在操作文件的时候,需要做刷新缓冲区或者在文件操作结束的时候关闭文件。包括:函数的返回值,函数的参数,函数的使用场景。文件学习至此结束,关于文件的学习我们只需要学会相关函数的使用和了解一些新的语法规则;
2024-06-03 20:49:49
895
原创 C语言:关于文件相关知识的学习1
我们前面学习结构体时,写了通讯录的程序,当通讯录运行起来的时候,可以给通讯录中增加、删除数据,此时数据是存放在内存中,当程序退出的时候,通讯录中的数据自然就不存在了,等下次运行通讯录程序的时候,数据又得重新录入,如果使用这样的通讯录就很难受。每个被使用的文件都在内存中开辟了一个相应的文件信息区,用来存放文件的相关信息(如文件的名字,文件状态及文件当前的位置等)。这个文件信息区绑定当前打开的文件;在编写程序的时候,在打开文件的同时,都会返回一个FILE*的指针变量指向该文件,也相当于建立了指针和文件的关系。
2024-05-29 21:32:41
1063
原创 C语言:关于动态内存管理的学习2
有时会我们发现过去申请的空间太小了,有时候我们又会觉得申请的空间过大了,那为了合理的时候内存,我们一定会对内存的大小做灵活的调整。2.这个函数调整原内存空间大小的基础上,还会将原来内存中的数据移动到新的空间。空间不够时会在内存中找到并开辟一块足够的空间返回新空间的起始地址。size_t size:该参数表示开辟每个空间的大小(字节);(同时旧空间的数据也会被拷贝到新空间内;size_t num:该参数表示开辟空间的个数;3.情况1:原有空间之后的空间不够扩容。free()释放的是动态开辟的空间;
2024-05-26 20:11:24
259
原创 C语言:动态内存管理的学习1
函数在申请空间时理论上存在申请失败的情况:当我们的内存只有8G时使用malloc函数申请1T的空间。我们常规的申请空间int arr[110];申请的是栈区上的空间;返回一个void*指针指向开辟空间的起始位置;比如int arr[100]当我们想要存放120组数据时空间不够也不能改变空间;但我们存放80组数据时又存在空间的浪费;因为函数在设计的时候不知道未来使用者会拿开辟的空间存放什么类型的数据;在数组的定义声明时需要写出空间的大小但是这样的方法不够灵活和方便;malloc函数申请的是堆区上的空间;
2024-05-23 21:11:49
611
原创 C语言:关于联合体的学习
联合的成员是共用同一块内存空间的,这样一个联合变量的大小,至少是最大成员的大小(因为联合至少得有能力保存最大的那个成员)。联合体内的成员不是每一个都有独立的空间存在共用空间(合租);这种类型定义的变量也包含一系列的成员,特征是这些成员公用同一块空间(所以联合也叫共用体)。联合体大小至少是最大成员的大小5;a用的时候c不能用,c用的时候a不能用;当最大成员大小不是最大对齐数的整数倍的时候,就要对齐到最大对齐数的整数倍。不是所有的联合体大小都是最大成员的大小;联合体的大小至少是最大成员的大小。
2024-05-22 21:14:16
582
原创 C语言:关于枚举的学习
2.和#define定义的标识符比较枚举有类型检查,更加严谨.(C语言中体现不明显 C++容易体现);这时候我们的枚举常量就代表我们的星期数1-7。{}内的值我们称为枚举常量,他们之间用逗号隔开;4.便于调试(define定义的符号不便于调试;通过测试我们发现如果没有给枚举常量赋值时,他们的值从上到下由0开始递增;生活中我们可以找到有些值是有限的几种那我们就可以进行枚举;我们可以使用#define定义常量,为什么非要使用枚举?枚举常量没有类型设置;只能用枚举常量来给枚举变量赋值;枚举关键字"enum";
2024-05-22 18:57:29
260
原创 C语言: 关于位段的学习
位段允许几个小的数据类型合并在一起,这样有的成员的起始位置就不是某个字节的起始位置,在内存中为每个字节分配一个地址,一个字节内部的 bit位是没有地址。在VS2022中,位段成员是从右往左分配内存的,并且如果遇到一个字节中的内存不够时,则会抛弃剩余内存,重新开辟一个字节的内存再分配。4.当一个结构包含两个位段,第二个位段成员比较大,无法容纳于第一个位段剩余的位时,是舍弃剩余的位还是利用,这是不确定的。2.位段的空间上是按照需要以4个字节(int)或者1个字节(char)的方式来开辟的。
2024-05-19 14:47:23
753
原创 C语言:判断一组数字是不是有序数组(一串相等的数也是有序)
设置升序标志flag1=0和降序标志flag2=0;在for循环结束后如果一直是升序最后的flag1=1;flag2=0相加
2024-05-19 12:35:20
294
原创 C语言:关于结构体
2.其他成员变量要对齐到某个数字(对齐数)的整数倍的地址处,对齐数 = 编译器默认的一个对齐数与该成员大小的较小值。对齐数就是该成员的大小;显然15不是8的倍数;//12 完全相同的两个结构体(s,s1)的大小却不相同, 为了尽量的节省内存空 间可以将大小较小的成员尽可能放到一起;4.如果嵌套了结构体的情况,嵌套的结构体对齐到自己的最大对齐数的整数倍处,结构体的整体大小就是所有最大对齐数(含嵌套结构体的对齐数)的整数倍。结构体的内存对齐是拿空间来换取时间的做法.(因为对齐数的存在,必然会导致空间的浪费);
2024-05-14 20:37:12
353
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人