07 2022 档案
摘要:SSM项目中底层数据层的xml文件中sql语句正确但IDEA无法识别 问题点:数据库链接成功,语句全部正确,IDEA识别不到路径的报错解决 添加路径选择语言后刷新下maven就可以了!
阅读全文
摘要:注解与反射 ==注解与反射Spring基础,核心在与class理解== 个人理解:class类唯一,相关对象由class创建,所以class可以代理创建对象,这就是Spring中的IOC(inversion of Control) IOC又叫控制反转,容器的依赖注入,本质是Set方法进行注入创建对象
阅读全文
摘要:一、Shell的简单概述 一,Shell是什么 在计算机科学中,shell俗称外壳(用来区别于内核),它类似于Windows的DOS,能够接收用户的命令并翻译给操作系统执行,是用户与操作系统(内核)之间的桥梁。 Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行的界面系
阅读全文
摘要:Linux学习 环境准备 这里使用的是阿里云学生机 获取链接:https://developer.aliyun.com/adc/student/ 新手上路教程:http://t.csdn.cn/rYRoe Xshell下载:http://t.csdn.cn/LPefN Xshell连接ESC服务器:
阅读全文
摘要:Git学习 Linux之父:天降猛男一个礼拜使用Linux脚本开发出Git 什么是版本控制 版本控制(Revision control)是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。 实现跨区域多人协同开发 追踪和记载
阅读全文
摘要:1,初识MySQL MySQL5.7.19 百度云链接:https://pan.baidu.com/s/1jvgTK5lYfHgohg1nRpEmMw 提取码:3wzl sqlyog_x64 链接:https://pan.baidu.com/s/1xJmB_6fH5_DvsX6U4I8Xdw 提取码
阅读全文
摘要:计算机基础 CSDN链接地址: https://blog.csdn.net/MrFlySand/article/details/111772470?ops_request_misc=%257B%2522request%255Fid%2522%253A%252216567305521678168391
阅读全文
摘要:Java程序运行机制 编译型:相当于把中文书一次性翻译为英文书 解释型:相当于一个外国人想看哪段中文有人实时给他翻译 程序的运行机制 IDEA安装 IDE:集成开发环境,集成了代码编写,分析,编译,调试等功能的一体化开发软件服务套
阅读全文
摘要:文章来自CSDN:wetnessia1 0. 目录 0. 目录1. 斜体和粗体2. 分级标题3. 超链接 3.1. 行内式3.2. 参考式3.3. 自动链接 4. 锚点5. 列表 5.1. 无序列表5.2. 有序列表5.3. 定义型列表5.3. 列表缩进5.4. 包含段落的列表5.5. 包含引用的列
阅读全文
摘要:卸载JDK 删除java的安装目录 删除JAVA_HOME 删除path下关于java的目录 打开CMD查看java-version 下载JDK 看第一篇百度云直接下载
阅读全文
摘要:HelloWorld 随便新建一个文件夹,存放代码 新建一个java文件 文件后缀名为.java Hello.java 【注意】系统没有显示文件后缀名,我们需要手动打开 编写代码 public class Hello{ public static void main(String[] args){
阅读全文
摘要:打开CMD的方式 开始+系统+命令提示符 win键+R 输入cmd打开控制台(推荐) 在任意的文件夹下面,按住shift键+鼠标右键点击,在此处打开命令行窗口 资源管理器的地址栏前面加上cmd路径 管理员方式运行,选择以管理员方式运行 常用的Dos命令 #盘符切换 cd #查看当前目录下的所有文件
阅读全文
摘要:MakDown学习 一级标题 二级标题 三级标题 Typora对Markdown开始收费,这里给免费windows版本的安装包自行下载 永久链接地址:链接:https://pan.baidu.com/s/1cwzC4mnKR0FFVluOA25naA 提取码:3rm2 字体 Hello,world!
阅读全文
摘要:容器和泛型 泛型 参数化类型 把类型当参数进行传递,JDK1.5之后的新特性 容器 可以用来存放对象,存放的都是引用数据类型 结构
阅读全文
摘要:IO流概念: 对于任何程序设计语言而言,输入输出(I/O)系统都是比较复杂而且比较核心的,程序运行需要数据,数据的获取往往需要跟外部系统进行通信,外部系统可能是==文件、数据库、其他程序、网络、IO设备等等。我们可以发现,外部新复杂多变,那么我们有必要通过某种手段进行抽象、屏蔽外部的差异。我们希望通
阅读全文
摘要:编码格式 1.1,ASCII码值 American Standard Code for Information Interchage
阅读全文
摘要:Error:错误 指的是出现的错误 Exception:异常 出现的异常 常见异常和大小包含关系 图片后面补充
阅读全文
摘要:学习重点: 抛出异常 捕获异常 异常处理五个关键字:try,catch,finally,throw,throws 重点:五个方法和作用,如何要捕获如何要抛出 单个Catch捕获: public class Test1 { public static void main(String[] args)
阅读全文
摘要:自定义异常类 extends Exception 快捷方式 打开Exception类:连续点两下shift键 构造器:art+inset 选择打开栏的toString():art+inset public class MyException extends Exception{ //传递数字>10;
阅读全文
摘要:内部类的作用 内部类可以获得外部类的私有属性的值 核心:思想 操作 内部类了解就可 例子 public class Outer1 { private int id = 10; public void out(){ System.out.println("这是外部类的方法"); } //定义一个内部类
阅读全文
摘要:接口:接口的本质是契约 接口中的所有定义的方法都是抽象的 public abstract(默认的) ,不需要声明。 属性默认为常量 public static int AGE = 99 int AGE = 99 关键字:interface public interface UserService {
阅读全文
摘要:instanceof: 比较转换,要有父子关系才会返回ture或者false 父类 public class Person { } 子类Student public class Student extends Person{ public void go(){ System.out.println(
阅读全文
摘要:常量类型:final public final class Person{} final定义后不能被继承(extends),final定义后”断子绝孙“ 代码块 1. 匿名代码块 处于构造器之前 //2:可以用来赋初始值 { //代码块(匿名代码块),在构造器之前 System.out.printl
阅读全文
摘要:抽象类 抽象类的所有方法,继承了它的子类都必须要实现它的方法-除非子类本身抽象那由子类的子类实现。 abstract关键字 抽象类:类 extends:单继承 (接口可以多继承) 作用:可拓展性开发,提高开发效率 public abstract class Action { public abstr
阅读全文
摘要:Super 重难点: 调用父类的无参构造和如何调用有参构造 父类 public class Person { public Person() { System.out.println("Person无参执行了"); } //属性 protected String name = "kuangshen"
阅读全文
摘要:方法重写 重写的是方法的重写与属性无关 静态方法与非静态方法区别很大 静态方法(关键字:static):方法的调用只和左边,定义的数据类型有关 非静态方法:重写方法 关键字只能是public 静态方法 public class B { public void test(){ System.out.p
阅读全文
摘要:多态 多态:同个确定的实际类型的子类,可以生成多种父类,子类本身会继承父类的全部方法 可以指向的引用类型(父类)就不确定; 父类的引用指向子类的类型(一个确实确定的子类可以new多个父类) 同一方法可以根据发送对象的不同而采用多种不同的行为方式 一个对象的实际类型是确定,但可以指向对象的引用的类型很
阅读全文
摘要:类与对象的总结: 1.类与对象: 类是一个模版,对象是具体的实例 2.方法: 定义,调用! 3.对应的引用 引用类型:基本类型(8) 对象是通过引用来操作的:栈 >堆(地址) 4.属性: 字段Fidld成员变量 默认初始化: 数字:0 char:u0000 boolean:false 引用:null
阅读全文
摘要:封装 提高程序的安全性,保护数据 隐藏代码的实现细节 统一接口 系统可维护性增加 私有属性:private 例子 public class Student { private String name;//名字 private int id; //学号 private int age; //年龄 pr
阅读全文
摘要:继承 在Java中,所有的类,都默认直接或者间接继承object 子类 extends 父类 修饰符 public:一般方法公有 protected default private:一般属性私有 优先级从上到下 父类 public class Person { /* 修饰符:public:一般方法公
阅读全文
摘要:类: 类是一种抽象的数据类型,它是对某一事物整体的描述/定义,但是不能代表某一具体的事物。 例如:人类,动物,植物都是一类的统称 对象: 对象是抽象概念的具体实例 列如:小明是人类的一个具体的例子,小明的猫咪大橘是猫中的具体例子 静态方法与动态方法 public class 静态方法与动态方法01S
阅读全文
摘要:构造器 和类名相同 没有返回值 //构造对象 //java >class //一个类里面什么都没写.class中一样会生成方法 // 显示的定义构造器 public class 构造器03Person { String name; //实例化初始值 //功能1,使用new关键字,必须要有构造器(ne
阅读全文
摘要:例子 public class Pet { //属性 String name; int age; //方法 public void shout(){ System.out.println("叫了一声"); } } 对象的引用 引用类型:基本类型(8) 对象是通过引用来操作的:栈 >堆(地址) 图示
阅读全文
摘要:面向过程思想 明确清晰简单的步骤 适合处理一些简单的问题 面向对象思想 分类的思维模式,先把问题分类,然后对不同的类单独思考,最后才对分类的过程进行思索。(先整体划分,在局部细节思考) 面向对象适合复杂的问题,适合多人同步。(模块化,一队负责一个模块的功能) 总结 面向对象是把复杂事物宏观把握划分,
阅读全文
摘要:方法 方法的定义 修饰符 返回类型 break:跳出switch,结束循环和return的区别 方法名:注意规范,做到见名知意(用英文单词和驼峰原则:单词首字母大写) 参数列表:(参数类型,参数名)... 异常抛出:看异常部分 方法的结构 修饰符 返回值类型 方法名(...){ 方法体 return
阅读全文
摘要:方法的调用:递归 静态方法 非静态方法 形参和实参 值传递和引用传递 this关键字 静态方法和动态方法 静态方法 关键字:static 特点:static 和类一起加载的,类a存在它就存在了 public static void a(){} 动态方法 需要实例化后才存在 public static
阅读全文
摘要:数组长度 public class Demo03 { public static void main(String[] args) { //args.length数组长度 for(int i = 0;i<args.length;i++){ System.out.println("args"+i+"]
阅读全文
摘要:递归 递归结构 递归头:什么时候不调用自身方法。如果没有头,将陷入死循环。 递归体:什么时候需要调用自身方法。 例子 package com.kuang.method; //递归结构两部分 //递归头:什么时候不调用自身方法。如果没有头,将陷入死循环。 //递归体:什么时候需要调用自身方法。 pub
阅读全文
摘要:方法 方法的定义:解决一类问题有序步骤的组合 System(类).out(对象).println()(方法); 方法的原子性:就是一个方法只完成1个功能 命名规则:首字母小写后面驼峰原则 Java只是值传递, 值传递:实际参数把它的值传递给形参 引用传递:实际参数把地址传递给形参,两者指向同一个地址
阅读全文
摘要:方法的定义 //加法 public static int add(int a,int b){ //方法中的a,b为形参 return a+b; } public static void test(){ Lable:for(int i=1;i<=100;i++){ for(int j=2;j<=i/2
阅读全文
摘要:方法的重载 方法的重载:名称相同 参数列表不同(参数个数不同或者数据类型不同) 返回值可相同可不同 比int数据大小 public static int max(int num1,int num2){ int result = 0; if(num1==num2){ System.out.printl
阅读全文
摘要:进程、线程和多线程 Process与Thread 程序 程序是一个指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念。 进程 进程是执行程序的一次执行过程,它是一个动态的概念。是系统资源分配的单位。 通常一个进程中可以包含若干个线程,当然一个进程中至少有一个线程,不然没有存在的意义。线
阅读全文
摘要:常用类String方法(背下来,多练多使用) 1,创建并返回一个新的字符串 concat-拼接 replace-替换 substring-截取字符串 toLowerCase-转为小写 toUpperCase-转为大写 trim-删除空格 repeat - 重复多次后返回一个总的字符串 2,查找对应字
阅读全文
摘要:稀疏数组 为什么要用稀疏数组? 二维数组存在大量的0或者同一值时,可以使用稀疏数组来保存该数组 稀疏数组 记录,行 列 有效数字个数 1.1.创建数组 //1,创建一个二维数组11*11 0:没有棋子 1:代表黑色棋子 2:白色棋子 int[][] array1 = new int[11][11];
阅读全文
摘要:二维数组: 多维数组:数组中的元素也是数组 package com.kuang.array; //多维数组:数组中的元素也是数组 public class mularraysDemo05 { /* 1,2 array[0] 2,3 array[1] 3,4 array[2] 4,5 array[3]
阅读全文
摘要:Arrays类 数组的工具类java.util.Arrays; 定义数组 int[] a = {1,3,2,6,5,4,8,9,7,10}; System.out.println(a);//直接打印a的结果:[I@14ae5a5 Arrays.toString()方法 System.out.prin
阅读全文
摘要:冒泡排序 冒泡排序最为出名的排序算法之一,共八大排序 代码相当简单:两层循环,外层冒泡层数,里层对数组依次比较和交换 时间复杂度O(n2) **常考算法:**重点 冒泡法:两层循环:外层冒泡轮数,里层依次比较 如果数组中第一个数比第二个数大,我们就交换他们的位置 每次比较都有一个最大,或者最小的数字
阅读全文
摘要:三种初始化 静态初始化 int[] a ={1,2,3} Man[] mans = {new Man{1,1},new Man{2,2}}; 动态初始化 int[] a = new int[2]; a[0] = 1; a[2] = 2; 数组的默认初始化 数组是引用类型,它的元素相当于类的实例变量,
阅读全文
摘要:数组边界 下标的合法区间:[0,length-1],如果越界就会报错; public static void main(String[] args){ int[] a = new int[2]; System.out.println(a[2]); } 数据下标越界异常报错: ArrayIndexOu
阅读全文
摘要:数组的使用 package com.kuang.array; //数组的使用 public class arrayDemo03 { public static void main(String[] args) { int[] arrays = {1,2,3,4,5}; //打印全部的数组元素 Sys
阅读全文
摘要:打印三角型 package com.kuang.sequence; public class TestDemo01 { public static void main(String[] args) { //打印三角形 5行 for (int i = 1; i <= 5; i++) { for(int
阅读全文
摘要:数组 数组下标从0开始,获取长度用arrays.length 变量类型 变量名 = 变量值; 定义方法 int[] nums; //1,定义 Java一般使用 int nums2[]; C and C++风格的 没赋值int类型默认赋值为0 数组赋值求和 package com.kuang.arra
阅读全文
摘要:数组的声明创建 静态初始化 int[] a = {1,2,3,4,5,6,7,8};//创建即赋值了 动态初始化 int 类型当你创建数组初始化的时候,值都是int的默认值0 int[] b = new int[10]; 堆和栈 堆:相当于目录存放new 的对象和数组 栈:相当于内容 存放变量和变量
阅读全文
摘要:打印九九乘法表 public class ForDemo04 { //for(初始条件;判断条件;迭代条件){} public static void main(String[] args) { //打印99乘法表 //m<=n 用外循环的数为一个循环,执行完换行 //"\t"制表符起固定间距的作用
阅读全文
摘要:增强for循环 定义:Java5引入了一种主要用于数组或者集合的增强型for循环 package com.kuang.sequence; public class 增强for循环Demo05 { public static void main(String[] args) { //Java5引入了一
阅读全文
摘要:break break跳出循环体但不会终止程序 public class breakDemo06 { public static void main(String[] args) { //break跳出循环体但不会终止程序 int i = 0; while(i<100){ i++; System.o
阅读全文
摘要:dowhile 即使不满足条件也必须让程序执行1次,先执行后判断 package com.kuang.sequence; public class dowhileDemo04 { public static void main(String[] args) { //即使不满足条件也必须让程序执行1次
阅读全文
摘要:for循环 for(i = 1;i<=100;i++){ sum = sum + i; } 1到100求和 public class ForDemo04 { //for(初始条件;判断条件;迭代条件){} public static void main(String[] args) { int i;
阅读全文
摘要:hile while(条件){执行语句} package com.kuang.sequence; public class whileDemo01 { public static void main(String[] args) { //输出1~100 int i = 0; while(i<100)
阅读全文
摘要:顺序结构 JAVA的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行。 顺序结构是最简单的算法结构。 语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。
阅读全文
摘要:if语句 判断结构 if(是否满足条件){满足条件的执行语句} package com.kuang.sequence; import java.util.Scanner; public class ifDemo01 { public static void main(String[] args) {
阅读全文
摘要:switch 例子1 package com.kuang.sequence; import java.util.Scanner; public class switchDemo01 { public static void main(String[] args) { //分支结构switch Sca
阅读全文
摘要:例子1 判断用户有没输入字符串 package com.kuang.Scanner; import java.util.Scanner; public class Demo02 { public static void main(String[] args) { //创建一个扫描器对象,用于接收键盘
阅读全文
摘要:创建一个扫描器对象,用于接收键盘数据 Scanner scanner = new Scanner(System.in); 判断用户有没有输入字符串 if(scanner.hasNext()){} 代码案例 import java.util.Scanner; public class Demo01 {
阅读全文
摘要:三元运算符 public class Demo08 { public static void main(String[] args) { //x ? y;z (偷懒方法但十分精简好用) int score = 80; String type = score<60 ? "不及格":"及格"; Syst
阅读全文
摘要:包机制 为了更好的组织类,Java提供包机制,用于区别类名的命名空间。 包语法的语法格式: package pak1[.pak2[.pak3...]] 一般利用公司域名倒置作为包名: com.chenstudy.www 为了能够使用一个包的成员,我们需要在Java程序中明确导入该包。 import
阅读全文
摘要:变量 变量:可以变化的量。 Java是一种强类型语言,每个变量都必须声明其类型。 Java变量是程序中最基本的储存单元,其要素包括变量名,变量类型和作用域。 type varname [=value] [{,varname[=value]}]; // 数据类型 变量名 = 值; 可以使用逗号隔开来声
阅读全文
摘要:基本运算符 Java语言支持如下运算符: 算术运算符:+, - , *, / , %(取模), ++, -- 赋值运算符:= 关系运算符:>, <, >=, <=, ==, !=instanceof 逻辑运算符:&&, ||, ! 位运算符:&, |, ^, ~, >>, <<, >>>(了解即可)
阅读全文
摘要:自增自减运算符 public class Demo04 { public static void main(String[] args) { //一元运算符 ++ -- int a = 3; int b = a++;//a在分号结束后+1,复值前a为3之后为4 int c = ++a;//a分号前+
阅读全文
摘要:类型转换 package com.kuang.base; public class 类型转换04 { public static void main(String[] args) { int i = 128; byte b = (byte)i;//内存溢出 //强制类型转换 (类型)变量名 //优先
阅读全文
摘要:变量 变量:可以变化的量。 Java是一种强类型语言,每个变量都必须声明其类型。 Java变量是程序中最基本的储存单元,其要素包括变量名,变量类型和作用域。 type varname [=value] [{,varname[=value]}]; // 数据类型 变量名 = 值; 可以使用逗号隔开来声
阅读全文
摘要:注释 单行注释 // 注释内容 多行注释 /* 注释的内容 */
阅读全文
摘要:标识符 Java所有组成部分都需要名字。类名,变量名以及方法名都被称为标识符 关键字 | | | | | | | | | | | | | abstract | assert | boolean | break | byte | | case | catch | char | class | cons
阅读全文
摘要:Java数据类型 基本类型(primitive type) 数值类型 整型:byte(占1个字节)、short(占2个字节)、int(占4个字节),long(占8个字节) 浮点型:float(占4个字节)、double(占8个字节) boolean类型 booolean(占1位)只有true和fal
阅读全文
摘要:泛型 定义:不同的存储放式,执行的操作相同 精确定义:同一逻辑结构(例如:链式结构),无论该逻辑结构物理存储是什么样子的,我们都可以对它执行相同的操作 图 广度遍历 深度遍历 哈希表
阅读全文
摘要:非线性结构 数(硬件的线性来解决实际中的非线性问题) 数 数定义 专业定义:1. 有且只有一个称为根的节点 2.有若干个互不相交的子数,这些子数本身也是一颗数 通俗的定义: 1.树由节点和边组成 2.每个节点只有一个父节点但有多个字节点 3.但有一个节点例外,该节点没有父节点
阅读全文
摘要:排序和查找 排序:暂考虑升序 冒泡排序:外循环定比较次数,内循环依次和后面数对比之后交换位置。 插入排序:第n+1插入前n个,整个前n+1个数有序排列 选择排序:第一个位置从所有的数中选择最小值放入,进行互换,同理第二个位置从剩下的数中选最小互换,依次如此。 快速排序:先找某元素处于第2几位,则数据
阅读全文
摘要:非线性结构 数(硬件的线性来解决实际中的非线性问题) 数 数定义 专业定义:1. 有且只有一个称为根的节点 2.有若干个互不相交的子数,这些子数本身也是一颗数 通俗的定义: 1.树由节点和边组成 2.每个节点只有一个父节点但有多个字节点 3.但有一个节点例外,该节点没有父节点
阅读全文
摘要:栈的应用 循环队列 循环队列程序 # include <stdio.h> typedef struct Queue { int * pBase;//pBase指向数组的指针 int front; int rear; }QUEUE; //函数声明,其中参数可以不写 void init(QUEUE *)
阅读全文
摘要:递归 定义: 一个函数自己直接或间接调用自己 递归满足的三个条件 递归必须得有一个明确的中止条件 该函数所处理的数据规模必须在递减 这个转化必须是可解的 循环和递归的关系: 递归:优点:好理解 缺点:速度慢 ,存储空间大 循环:不易理解,速度快,存储空间小 自调用函数 # include <stdi
阅读全文
摘要:队列 定义:一种可以实现“先进后出”的存储结构 分类: 链式队列 用链表实现 静态队列 用数组实现 静态队列通常必须是循环队列 循环队列的讲解:对队列长度取余来表示指针位置 静态队列为什么必须是循环队列 循环队列需要几个参数来确定 两个参数 两个参数不同场合有不同含义 循环队列各个参数的含义:初学者
阅读全文
摘要:队列 定义:一种可以实现“先进后出”的存储结构 分类: 链式队列 用链表实现 静态队列 用数组实现 静态队列通常必须是循环队列 循环队列的讲解:对队列长度取余来表示指针位置 静态队列为什么必须是循环队列 循环队列需要几个参数来确定 两个参数 两个参数不同场合有不同含义 循环队列各个参数的含义:初学者
阅读全文
摘要:栈(单口先进后出) 静态分配:用栈分配(入栈出栈) 动态分配:用堆分配(堆排序分配内存) 定义: 一种可以实现“先进后出”的储存结构,栈类似于箱子。 分类 静态栈 动态栈(链表) 算法 出栈 压栈 应用 函数调用 中断 表达式求值 内存分配 缓冲处理 迷宫
阅读全文
摘要:算法学习心得 流程 每个语句功能 试数和测试 反复的敲写直到熟悉(学习清华高一凡一样)
阅读全文
摘要:数据结构复习 狭义 数据结构专门研究数据存储问题 数据的存储包含两个方面:个体的存储 + 个体关系的存储 广义 数据结构既包含数据的存储也包含数据的操作 对数据的操作叫算法 算法 狭义 算法是数据的存储放式密切相关 广义 算法和数据的存储方式无关 泛型的思想 数据结构有几种 线性 连续存储【数组】
阅读全文
摘要:链表算法 遍历 查找 清空 销毁 求长度 排序 删除节点 插入节点 //分配一个临时节点,不存放有效数据的头结点。pHead为指向头结点的指针变量(头指针) PNODE pHead = (PNODE)malloc(sizeof(NODE));//函数内的pHead为局部变量(临时存储) if(NUL
阅读全文
摘要:连续存储数组算法 模块一:线性结构(所有的节点用一跟直线穿起来) 连续存储 [数组] 1.什么叫做数组:元素类型相同,大小相等 2.数组的优缺点: 离散存储 [链表] 线性结构的两种常见应用之一 栈 线性结构的两种常见应用之二 队列 专题:递归 1+2+3+4+...+100的和! # includ
阅读全文
摘要:动态内存分配与释放 关键字:malloc(),功能上只能返回第一个字节的地址 程序例子 # include <stdio.h> { int a[5] = {4, 10, 2, 8, 6}; int len; print("请输入你需要分配的数组的长度:len = "); scanf("%d",len
阅读全文
摘要:跨函数使用内存 # include<stdio.h> int f(); int main(void) { int i = 10; i = f(); print("i = %d\n", i); return 0; } int f() { int j = 20; return j; } Java中的ne
阅读全文
摘要:动态内存分配和释放 # include<stdio.h> int main(void) { double *p; double x = 66.6; p = &x;//x占8个字节 1个字节是8位,1个字节为一个地址 //p里面只存放一个地址,这里为8个地址的首地址 double arr[3] = {
阅读全文
摘要:结构体 什么叫结构体 结构体是用户根据实际需要自己定义的复合数据类型 为什么会出现结构体 为了表示一些复杂的数据,而普通的基本类型变量无法满足要求 如何使用结构体:两种方式 struct Student st = {1000, "zhangsan", 20}; struct Student * ps
阅读全文
摘要:1.内存 基本概念 内存是用用来存储数据的设备。它的存储速度介于寄存器和硬盘之间。 内存是CPU唯一可以访问的大容量的存储设备!所有硬盘中的程序和数据必须调入内存之后方可被CPU执行!注意:CPU不能直接处理硬盘中的数据! 内存的问题是软件开发中最核心的问题之一!如:内存的分配,内存的释放,内存什么
阅读全文
摘要:指针 指针的重要性:指针是C语言的灵魂 地址:内存单元的编号 内存单元编号 从0开始的非负数 范围:0~FFFFFFFF 指针 指针就是地址 指针变量存放内存单元地址的变量 指针的本质是一个操作受限的非负整数 指针分类: 基本类型的指针 指针和数组的关系 # include<stdio.h> int
阅读全文
摘要:数据结构概述 定义: 把现实中大量而复杂的问题以特定的数据类型和特定的存储结构保存到主存储器(内存)中,以及在此基础上为实现某个功能(例如查找和删除)而执行的相应操作,这个操作称为算法。 简化一句:把现实中大量而复杂的问题以特定的数据类型和特定的存储结构保存到主存储器(内存) (严蔚敏、吴伟民 伪算
阅读全文