自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (3)
  • 问答 (10)
  • 收藏
  • 关注

原创 线性表的链式存储

理解:链式存储对于用户层,约定了必须定义第一个变量为circlistnode类型,对于实现者来说,这样在传入list中时,其就能被强制转换成circlistnode *类型,存储circlistnode类型地址,然后可以当做链表的指针来使用,然后就可以将所有的内容串起来。circlist.h#ifndef _CIRCLELIST_H_#define _CIRCLELIST_H_

2017-09-29 22:43:04 244

原创 强制类型转换与内存对齐问题小结

C语言强制类型转换   概要:C语言中,任何一个变量都必须占有一个地址,而这个地址空间内的0-1代码就是这个变量的值。不同的数据类型占有的空间大小不一,但是他们都必须有个地址,而这个地址就是硬件访问的依据,而名字只是提供给程序员的一种记住这个地址的方便一点的方法。但是,不同的变量在机器中都是0-1代码,所以,我们不能简单的

2017-09-29 21:10:58 8115 2

原创 线性表的顺序存储总结

SeqList.h#ifndef __MY_SEQLIST_H__ #define __MY_SEQLIST_H__typedef void SeqList;typedef void SeqListNode;SeqList* SeqList_Create(int capacity);void SeqList_Destroy(SeqList* list);void SeqL

2017-09-25 20:16:26 473

原创 void 类型指针

void指针的类型转换:      点击打开链接void的使用  下面给出void关键字的使用规则:  规则一如果函数没有返回值,那么应声明为void类型  在C语言中,凡不加返回值类型限定的函数,就会被编译器作为返回整型值处理。但是许多程序员却误以为其为void类型。例如:add ( int a, int b ){return a +

2017-09-25 14:29:36 514

原创 c陷阱与缺陷

第一章     词法陷阱1.这一章没有太多“干货”,唯一比较有趣的就是 1.3 语法分析中的“贪心法” 所讲内容。这个“贪心”就是编译器会读入字符,如果能新读入的字符和之前所读入字符能组成符号,则编译器会继续读入下一个字符,直到读入的字符不能和之前的字符组成符号。 比如,/* a---b和(a--)-b等价 *//* a+++++b和((a++)++)+b等价

2017-09-22 11:50:54 575

原创 文件操作专题

文件分类v 按文件的逻辑结构:l  记录文件:由具有一定结构的记录组成(定长和不定长)l  流式文件:由一个个字符(字节)数据顺序组成v 按存储介质:l  普通文件:存储介质文件(磁盘、磁带等)l  设备文件:非存储介质(键盘、显示器、打印机等)v 按数据的组织形式:l  文本文件: ASCII文件,每个字节存放一个字符的ASCII码l  二进制文件:数据按

2017-09-21 20:13:50 236

原创 结构体专题

结构体类型定义及变量定义结构体类型定义及结构体变量定义结构体是一种构造数据类型用途:把不同类型的数据组合成一个整体-------自定义数据类型结构体类型定义#define _CRT_SECURE_NO_WARNINGS #include #include #include //定义一个结构体类型//定义了一个数据类型 。固定大小内存块的别名 还没有分

2017-09-21 19:43:00 289

原创 数组类型和多维数组本质

数组概念Ø  1)元素类型角度:数组是相同类型的变量的有序集合测试指针变量占有内存空间大小Ø  2)内存角度:联系的一大片内存空间数组初始化Ø  //数组元素的个数可以显示或隐式指定Ø  //分析数组初始化{0}与memset比较 int main(){         inti = 0;         inta[10] = {1,

2017-09-20 20:59:11 409

原创 一级指针(char *)易错模型分析

char*(字符串)做函数参数出错模型分析建立一个思想:是主调函数分配内存,还是被调用函数分配内存;//不要相信,主调函数给你传的内存空间,你可以写。。。。。。一级指针你懂了。但是二级指针,你就不一定懂。。。抛出。。。。。。。。。 void copy_str21(char *from, char *to){        

2017-09-19 22:38:10 331

原创 指针知识体系搭建

指针强化铁律1:指针是一种数据类型  1)指针也是一种变量,占有内存空间,用来保存内存地址测试指针变量占有内存空间大小2)*p操作内存在指针声明时,*号表示所声明的变量为指针在指针使用时,*号表示 操作 指针所指向的内存空间中的值         *p相当于通过地址(p变量的值)找到一块内存;然后操作内存         *p放在等号的左边赋值(给内存赋值)

2017-09-18 22:44:21 488

原创 函数调用模型

基本原理堆栈区的理解#define _CRT_SECURE_NO_WARNINGS #include #include #include //堆char *getMem(int num){ char *p1 = NULL; p1 = (char *)malloc(sizeof(char) * num); if (p1 == NULL) {

2017-09-18 21:37:59 382

原创 程序的内存四区模型

流程说明1、操作系统把物理硬盘代码load到内存2、操作系统把c代码分成四个区3、操作系统找到main函数入口执行linux进程中内存四区

2017-09-18 21:31:50 418

原创 变量本质分析

#define _CRT_SECURE_NO_WARNINGS #include #include #include void main44(){ int a ; int b; char * p ; //p = 0xaa11 a = 10; //1 直接赋值 //cpu里面执行 printf("&a: %d\n", &a); //2间接赋值 ==直接通过内

2017-09-18 15:17:18 601

原创 数据类型本质分析

#include "stdlib.h"#include "stdio.h"#include "string.h"// 数据类型的用途//数据类型的本质:固定大小内存块的别名// b &b 数组数据类型 (定义一个1 数组类型 2数组指针 3 数组类型和数组指针类型的关系) ====>压死初学者的三座大山 抛砖//void main31(){ int a; //告诉c编译器

2017-09-18 14:58:19 775

原创 进 程 控 制

进程标识每个进程都有一个非负整型的唯一进程I D。因为进程I D标识符总是唯一的,常将其用做其他标识符的一部分以保证其唯一性。有某些专用的进程:进程ID 0是调度进程,常常被称为交换进程( s w a p p e r )。该进程并不执行任何磁盘上的程序 — 它是内核的一部分,因此也被称为系统进程。进程 ID 1通常是i n i t进程,在自举过程结束时由内核调用。该进程的程序文

2017-09-14 19:36:50 388

原创 标准I/O库和系统调用区别(转载)

首先,先稍微了解系统调用的概念:    系统调用,英文名system call,每个操作系统都在内核里有一些内建的函数库,这些函数可以用来完成一些系统系统调用把应用程序的请求传给内核,调用相应的的内核函数完成所需的处理,将处理结果返回给应用程序,如果没有系统调用和内核函数,用户将不能编写大型应用程序,及别的功能,这些函数集合起来就叫做程序接口或应用编程接口(Application Progra

2017-09-10 18:19:48 1756 2

原创 U N I X进程的环境

系统调用和标准I/O库区别                 转:    点击打开链接Linux下对文件操作有两种方式:系统调用(system call)和库函数调用(Library functions)。系统调用实际上就是指最底层的一个调用,在linux程序设计里面就是底层调用的意思。面向的是硬件。而库函数调用则面向的是应用开发的,相当于应用程序的api,采用这样的方式有很多种原因,第一:

2017-09-10 17:59:55 271

原创 文件和目录

ext2文件系统剖析stat、fstat 和lstat 函数#include #include int stat(const char * p a t h n a m e, struct stat * b u f) ;int fstat(int  f i l e d e s,struct stat * b u f) ;int lstat(const

2017-09-08 22:47:17 291

原创 文 件 I / O

本章所说明的函数经常被称之为不带缓存的I / O(u n b u ffered I/O,术语——不带缓存指的是每个 r e a d和w r i t e都调用内核中的一个系统调用。文件描述符按照惯例,UNIX shell使文件描述符0与进程的标准输入相结合,文件描述符 1与标准输出相结合,文件描述符2与标准出错输出相结合。open函数#include

2017-09-08 21:10:10 187

spring-test.zip

学习spring模板代码,学习

2020-04-16

IOC-死磕.xmind

此资源对于想要观看spring源码的童鞋会很有帮助,但是要自己一步步跟代码才会有效果,另外关于ioc实现细节众多,这里只是提供一个整体的思路,要想完全吃透,必须得配合自己写的大量测试用例来跟代码

2019-08-24

自己写spring框架.zip

总共包含10篇代码,从IOC的实现到AOP的实现。自己学习一步步写spring框架。仔细阅读临摹对于准备阅读spring框架源码的人会有很大帮助

2019-07-04

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除