- 博客(30)
- 收藏
- 关注
原创 墨烯的C语言技术栈-C语言基础-018
至于上面为什么是倒着传的就是个历史原因了 早期计算机系统中,处理器和内存芯片是靠并行线楼传递的 也就是数据传输同时传递多个二进制位来实现的 因此出现了存储时会将最高有效位存储到最低的内存地址 也就先读头部的数据。printf("%p\n",&a) // 打印地址 打印的通常是十六进制比较方便一点。int a = 10;左边是地址 中间是内存中的数据 最后面的是内存数据的文本解析(不太准确)0 0 0 0 0 0 0 a 也就是 00 00 00 0a。每个字节都有地址 而a的地址就是它第一个字节的地址。
2024-07-24 23:55:49
615
原创 墨烯的C语言技术栈-C语言基础-017
所以就是2^32的空间 = 4,294,967,296 byte = 4,194,304kb = 4096mb = 4g。内存8/16G <-----> CPU中央处理器 |2^32个地址序列 一个地址就可以管理一个内存单元 一个内存单元就是一个字节。内存会化分为一个个的内存单元 每个单元都有一个编号。地址线通电 通电就会产生1/0(正脉冲/负脉冲)8g 16g 32g都是很平常的事。一个内存单元的大小是一个字节。大概有2^32个电信号的组合。8个bit = 1个字节。
2024-07-21 22:55:47
492
原创 墨烯的C语言技术栈-C语言基础-016
为了能够有效的访问内存的每个单元.就给内存单元进行了编号,这些编号被称为该内存单元的地址。所以为了有效的使用内存,就把内存划分成一个个小的内存单元,每个内存单元的大小是1个字节。内存是电脑上特别重要的存储器,计算机中程序的运行都是在内存中进行的。一个字节 0xFFFFFFFF。一个字节 0xFFFFFFFF。一个字节 0xFFFFFFFF。
2024-07-20 00:00:01
113
原创 墨烯的Java技术栈-Minecraft模组开发-序言
使用IDEA编译IDEA版本为2024.1 JDK版本为JDK17 使用的Gradle。IDEA安装了插件Minecraft Development用来配置MC环境。正好来记录一下自己对模组开发的理解 C语言明天会正常更新。使用的Fabric 游戏版本为1.20.1。参考文档为Fabric官方文档 "最近在弄我的世界模组开发。剩下的具体环境配置明天聊。
2024-07-17 00:06:16
267
原创 墨烯的C语言技术栈-C语言基础-015
define ADD(x,y) ((x)+(y)) // ADD宏名 x,y宏的参数没有类型 最后的是宏体。// 宏就是用来替换参数的 类似函数。#define 定义常量和宏。
2024-07-15 23:56:08
182
原创 墨烯的C语言技术栈-C语言基础-014
volatile 指示编译器不要优化该变量,以确保其值始终是最新的,确保变量值始终为最新 防止编译器优化变量 避免数据损坏。default 默认 switch中case所有条件都不满足的情况下 执行。goto 无条件转移语句 允许无条件转移到同一函数内的被标记的语句。逗号隔开的表达式 从左向右依次计算,整个表达式的结果是最后一个表达式的结果。sizeof 判断数据类型或表达式长度的运算符的函数。C语言本身内置的,关键字不是自己创建的,也不能自己创建。
2024-07-14 23:31:17
554
原创 墨烯的C语言技术栈-C语言基础-013
如果两个操作数的对应位相同(都是0或者都是1),则结果对应位为0 如果两个操作数对应位不同(一个是0 一个是1)则对应位为1。只有两个操作数的对应位都为1时 结果的对应位才为1 否则为0。两个操作数对应位至少有一个是1则对应该位为1否则为对应位为0。模 得到是余数 怎么说呢 3/2 余 1 得到的余就是1。等价为num = num + 5;等价为num = num - 4;等价为num = num * 3;等价为num = num / 2;等价为num = num % 1;
2024-07-13 23:21:36
481
原创 墨烯的C语言技术栈-C语言基础-012
/ 这种情况是arr[j] >arr[j+1]的时候 所以将arr[j]的数换位到arr[j+1] 也就是后一位。简单来说就是 6 3这种情况 把6存入temp 然后 6那个位置存入了arr[j + 1]也就是3这个数 再把temp = 6这个数放在arr[j + 1]这个位置。if(arr[j] > arr[j+1]) // 这个就是冒泡的核心思想了 通过不断比较相邻的两个元素 以将较大的元素逐渐移到数组的末尾 然后排序。
2024-07-11 23:58:11
1652
原创 墨烯的C语言技术栈-C语言基础-011
int n1 = 0;// 设置默认值为0。这种三种以及这三种组合可以描述生活中的所有事。这上面Add()就是函数也可以说是一种方法。在数学中f(x) = 2*x + 1。输入 输出。C语言是结构化的程序设计语言。函数方法是可以反复调用的。// 求两个任意整数和。原材料->工厂->产品。
2024-07-10 22:25:03
439
原创 墨烯的C语言技术栈-C语言基础-010
如果你好好学习,校招时拿一个好offer,走上人生巅峰。printf("要好好学习吗(1/0)?// 20k行有效代码的积累 入门(相对而言)print("写代码%d\n",line);printf("好offer\n");printf("好offer\n");printf("加入C语言\n");printf("加入比特\n");printf("继续加油\n");printf("卖红薯\n");do...while语句(后)十.选择语句和循环语句。C语言中如何实现循环呢。C语言中如何实现循环呢。
2024-07-09 21:25:10
455
原创 墨烯的C语言技术栈-C语言基础-009
1.代码有不需要的代码可以直接删除,也可以注舒掉。2.代码有些代码比较难懂 可以加一下注释文字。// 创建指针变量p,并赋值为NULL。VSM中Ctrl+K + Ctrl+C。多行(C语言本身的)// 建议用这种。
2024-07-08 23:41:57
498
原创 墨烯的C语言技术栈-C语言基础-008
/ 表示八进制的130转换成十进制88 八进制转十进制 1。printf("abc\0def") // \0后就是结束了后面打不印了。\ddd ddd表示1-3个八进制的数字.如: \130 X。printf("abc\n") // \让n转变 换行作用。printf("\a") //触发电脑警告声音。// %lf 打印double类型的数据。// %zu 打印sizeof的返回值。// %f 打印float类型的数据。// %s 打印字符串。
2024-07-07 23:59:52
595
原创 墨烯的C语言技术栈-C语言基础-007
/ 求字符串长度的一个函数 string length 头文件 string.h。由双引号引起的一串字符称为字符串字面值,或者简称字符串。// 求字符串长度的一个函数。//无\0 则原长+10+原长 = strlen。//C语言中没有字符串类型。字符串的结束标志是"\0"//char 字符类型。
2024-07-06 21:46:37
585
原创 墨烯的C语言技术栈-C语言基础-006
/ 在C语言中,const修饰的a,本质是变量,但不能直接修改 有常量的属性。// arr[常量]// #define 定义的标识符常量 常全局常变量。// const修饰的常变量。// 四个都是字面常量。const修饰的常变量。#define定义的。
2024-07-05 23:08:28
849
原创 墨烯的语言技术栈-C语言基础-005
在VS工程中创建新的.c或者.cpp文件的时候,都是拷贝newc++file.cpp这个文件的!作用域(scope)是程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效/可用的。局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段。就是进入变量的范围就可以使用 如果不进入变量的范围就销毁。而限定这个名字的可用性的代码范围就是这个名字的作用域。全局变量的生命周期是:整个程序的生命周期。五.变量的作用域(局部变量/全局变量)
2024-07-04 21:21:15
669
原创 墨烯的C语言技术栈-C语言基础-004
scanf_s 这个函数是VS编译器自己提供的函数非标准C提供的函数,那也就是只有VS编译器认识其他编译器不认识!// 当全局变量和局部变量重复的时候局部变量优先。float weight = 88.5 // 体重 局部变量。// 年龄 局部变量。// 身高 局部变量。// 但是不建议全局变量和局部变量不要一样。// 变量分为 局部变量 和 全局变量。int b = 20;// 写一个代码计算两个整数的和。// printf是输出函数。// scanf是输入函数。// 变量和常量功能。
2024-07-03 22:34:48
467
1
原创 墨烯的C语言技术栈-C语言基础-003
其中10101001大小为一个8bit(比特位)5.long long // 更长的整型。float与double中的区别是什么。7.double // 双精度浮点数。6.float // 单精度浮点数。简单来说double的精度更高一些。而创建变量的本质是向内存申请空间。1.char // 字符数据型。2.short // 短整型。4.long // 长整型。%zu打印sizeof()3.int // 整型。为什么有这么多类型呢?我们时候在十进制的世界。为了解决生活中的问题。因为说的话都是字符型。
2024-07-02 22:42:24
666
原创 墨烯的C语言技术栈-C语言基础-002
/ 返回整数 0是约定的流程。printf 是一个库函数 专门用来打印数据的。.cpp 编译器会按照C++的语法编译代码。// Ctrl+F5或者点击调试+开始执行。// main函数是程序的入口有且仅有一个。.c 编译器会按照C语言的语法编译代码。写第一个C语言程序 环境VS2022。void -空可以空类型也可以空参数。C语言的源文件必须要有main方法。// VS2022环境如何运行代码。// 古老的写法 -不推荐。// 标准的主函数的写法。1.打开VS2022。
2024-07-01 21:23:12
673
原创 墨烯的C语言技术栈-C语言基础-001
*C**语言是一门通用**计算机编程语言** 广泛应用底层开发 C语言的设计目标是提供一种能以简易的方式**编译** 处理低级**存储器** 产生少量的**机器码**以及不需要任何运行环境支持便能运行的编程语言。尽管C语言提供了许多低级处理的功能 但仍然保存良好跨平台的特性 以应该标准规格写出的C语言可在许多电脑平台上进行编译,甚至包含一些嵌入式**处理器**(单片机或称**MCU**)以及超级电脑等作业平台。二进制语言 10100010101010(无意义) ADD 00000111(无意义)
2024-06-30 22:23:11
728
原创 墨烯的Java技术栈-数据结构与算法基础-010
(这个就是数学基础了 就好比java中数组a=(1,2,3) 这其中数学对象可以是(1,2)数据元素就是1/2/3 这种数 数据就是数组a 理解起来比较抽象 尽量理解)特点:数据元素间(你可以看java成类的属性)的关系(这个可以看成类似键值对)简单,计算复杂。数据结构是一门研究非数值计算的程序设计中计算机的操作对象以及它们之间的关系和操作的学科。就比如整数对象是集合N={......,-2,-1,0,1,2,3,-----}(这个可以理解为类的属性或者数据库中的定义的用户名,学号什么的)
2024-06-29 21:42:19
776
原创 墨烯的Java技术栈-Java容器-009
Vector 的构造函数可以传入 capacityIncrement 参数,它的作用是在扩容时使容量 capacity 增长 capacityIncrement。CopyOnWriteArrayList 在写操作的同时允许读操作,大大提高了读操作的性能,因此很适合读多写少的应用场景。数据不一致:读操作不能读取实时性的数据,因为部分写操作的数据还未同步到读数组中。写操作在一个复制的数组上进行,读操作还是在原始数组中进行,读写分离,互不影响。内部包含了一个 Entry 类型的数组 table。
2024-06-28 21:13:56
597
原创 墨烯的Java技术栈-Java容器-008
Java中Collection框架,包括List,Set和Map接口及其常见实现类,这些集合类提供了丰富的功能和灵活性,可用于各种数据存储和操作需求通常跟前面的泛型一起使用。Queue接口定义了队列操作的行为,扩展了Collection接口,提供了一种特定的集合顺序,即FIFO(先进先出) 更注重元素的添加和移除操作。asList()的参数为泛型的变长参数,不能使用基本类型数组作为参数,只能使用相应的包装类型数组。Set接口继承自Collection接口,并提供不允许重复元素的集合,元素必须是唯一的。
2024-06-27 08:00:00
1732
原创 墨烯的Java技术栈-Java基础-006
Java泛型是JDK1.5引入的一个特性,它提供了编译时类型安全检查,允许在类和方法中使用类型参数.泛型的主要目的是提供一种机制,以便在编译时检查到非法的类型赋值.主要应用集合框架(List,Set,Map)和泛型方法 一般用法是<T>,<T>是类型参数的名称 可以指定具体的类型简单来说就是类型安全 消除强制类型转换 提高代码复用性等.
2024-06-25 23:28:11
748
原创 墨烯的Java技术栈-Java基础-005
Java反射原理基于Java运行时数据区域和类的加载.当Java虚拟机(JVM)加载一个类时,它将字节码文件加载到内存中并且创建一个Class对象来表示类,Class对象中有类的完整信息。1)Checked Excptions(受检异常): 比如IO异常和SQL异常 这些在编译时要求必须处理,如使用throws子句或者使用try-catch捕获并处理。2)序列化和反序列化:Java序列化和反序列化都使用了反射,因为反射教育在运行时动态查询和修改对象的字段(这点很重要)
2024-06-24 22:59:13
669
原创 墨烯的Java技术栈-Java基础-004
(1)调用父类的构造方法:在子类的构造方法 使用super关键字可以调用父类的构造方法 用于完成父类的初始化操作 如果子类的构造方法没有显式地使用super关键字 调用父类的构造方法 那么编译器会自动将无参构造方法作为默认调用。指子类可以重新定义父类已有的方法,重写方法必须拥有相同的方法名,参数类,参数个数,返回类型,访问修饰符的权限不能低于父类中被重写方法,重写主要目的是实现多态性 即在运行时根据对象的实际类型调用相应的方法。
2024-06-23 18:07:08
938
原创 墨烯的Java技术栈-Java基础-003
4)浮点数比较大小不建议用==(原因基于IEEE 754标准浮点数表示法, 这种表示法会让某些特定的浮点数不能精准表示(分数和循环小数那种),因此,直接使用==比较两个float值来判断是否相等可能因为精度问题得到错误的结果(在一些精细的项目中 这是非常致命的)) 而是用Float.MIN_VALUE赋给float epsilon(很小的正数)而switch是这个东西(switch) 是(case)....则.... 或者是....则.... 又或者是....则... 都不是(default)则....
2024-06-22 16:05:26
764
原创 墨烯的Java技术栈-Java基础-002
字节(Byte 计算机描述存储容量和传输容量的最小单位 是计算机基本的存储单位 (举个例子 就比如有100ml的水杯 200ml的水杯 400ml的水杯 800ml的水杯 而现在规定100ml的水杯是最小的水杯 那么对应的就是byte(100ml的水杯) short(200ml的水杯) int(400ml的水杯) long(800ml的水杯)StringBuffer(是一个可以存储和操作字符串的类,允许对字符串进行修改 算是官方对特殊情况的字符串一种补充吧)
2024-06-21 23:38:32
1636
1
原创 墨烯的Java技术栈-Java基础-001
(Intellij也就是常规一开始选择这个 顺带提一下我对这两个的理解Maven和Gradle这两个以后都要学会 Maven目录结构和文件组织都十分严格而Gradle就比较灵活了是允许自定义构建脚本 在依赖(jar包之类)管理啊 构建速度 灵活性都比Maven好一点 但是Maven社区广泛稳定性很强 在企业中那些需要长期维护和规范的项目都是应由Maven来做 而那些需要高性能和高灵活的项目由Gradle来完成 以后选择时自行决择)输出语句 ln表示下次打印换行。
2024-06-20 20:14:43
904
原创 墨烯的技术栈-始
马上要实习了 为此在开始做自己技术栈 用来重温两年内的技术并开始学习往后的技术作为记录 从6.20下午开始正式发出 要是有错 请各位大佬指出 谢谢
2024-06-20 03:38:01
243
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人