指针概述

1、指针1.1指针与指针变量1.1.1指针前面说过,指针就是地址,指针和地址是同义词。1.1.2指针变量存放指针的变量就是“指针变量”。1.2*与&1.2.1&(1)&作为双目运算符使用时,为“位与”运算符inta=0x10;intb=0x04;intc=a&b;(2......

李庆林  21 浏览   0 喜欢   0 评论

内存的读写与地址空间

1、CPU对存储器的读写CPU要想进行数据的读写,必须和外部器件进行三类信息的交互:存储单元的地址(地址信息)器件的选择,读或写命令(控制信息)读或写的数据(数据信息)演示机器码:10100000000000110000000016进制:A00300汇编指令:MOVAL,[3]含义:从3号单元读取数......

李庆林  32 浏览   0 喜欢   0 评论

计算机的组成

1、解剖计算机2、计算机的组成CPU是计算机的核心部件,它控制整个计算机的运作并进行运算。要想让一个CPU工作,就必须向它提供指令和数据。指令和数据在存储器(内存)中存放。离开了内存,性能再好的CPU也无法工作。3、指令和数据的表示计算机中的数据和指令,存储在内存或磁盘上。数据和指令,都是二进制信息......

李庆林  34 浏览   0 喜欢   0 评论

由机器语言到汇编语言

1、机器语言与机器指令机器语言是机器指令的集合。机器指令是一台机器可以正确执行的命令。机器指令由一串二进制数表示,例01010000电平脉冲:早期程序员们的工作形态将0、1数字编程的程序代码打在纸带或卡片上,1打孔,0不打孔,再将程序通过纸带机或卡片机输入计算机,进行运算。例:计算S=768+122......

李庆林  26 浏览   0 喜欢   0 评论

为什么要学汇编语言

1、程序设计语言家谱2、仍被广泛使用,甚至不可替代3、学习汇编语言的理由汇编语言仍在发挥不可替代的作用效率运行效率:开发软件的核心部件,快速执行和实时响应。开发效率:做合适的事,开发效率无敌;底层:计算机及外围设备的驱动程序操作系统的内核嵌入式系统:家用电器、仪器仪表、物联网……汇编语言在学习计算机......

李庆林  37 浏览   0 喜欢   0 评论

数据类型

1、数据的类型(1)空间第一个字节的地址代码、变量、常量空间,往往都是连续的一片字节空间,到底哪一个字节的地址才代表整个空间的地址(指针)呢,我们前面说过,第一个字节的地址是整个空间的指针。(2)如何访问一片连续字节空间只要知道如下几件事即可。1)知道第一个字节的地址2)知道访问到第几个字节结束3)......

李庆林  35 浏览   0 喜欢   0 评论

地址与指针

1.存储空间、符号、地址1.1存储空间1.1.1什么是存储空间就是程序代码和数据的存放空间,笼统可以分为如下两种情况。没有运行时:存储在硬盘(外存)上,所以此时的存储空间为硬盘。运行时:代码和数据存放在内存上,供cpu访问。当然程序在运行时,还需要用到寄存器和cache,寄存器和cache同样也是存......

李庆林  45 浏览   0 喜欢   0 评论

链接域与extern、static关键字

1、链接域与extern、static关键字1.1回顾链接我们在之前详细的讲过链接,这里因为课程的需求,我们需要再回顾下。一个真正的C工程一定是多文件的(多.c、多.h),这些文件被编译为.o后,需要被链接为一个完整的可执行文件,链接的工作由链接器来完成。链接时主要做两件事:(1)符号解析1)对全局......

李庆林  38 浏览   0 喜欢   0 评论

函数和全局变量的本文件作用域

1、函数和全局变量的本文件作用域1.1本文件作用域的有效范围从定义位置开始到文件结束。a.cintmain(void)//main的本文件作用域:从定义位置到文件末尾{fun(g_var1,g_var2);return0;}intg_var1=100;//g_var的本文件作用域:从定义位置到文件末......

李庆林  29 浏览   0 喜欢   0 评论

变量和函数的代码块作用域

1、变量和函数的作用域1.1什么作用域就是变量和函数起作用的范围,只要在这个范围内,你就可以访问该变量和函数作用域实际上有三种:(1)局部变量的代码块作用域(2)函数和全局变量的本文件作用域(3)跨文件作用域——链接域,与链接有关前两种我们在本小节介绍,第三种我们放到“链接域”小节介绍。1.2局部变......

李庆林  38 浏览   0 喜欢   0 评论

指令、常量、变量的生命周期

1、指令、常量、变量的生命周期1.1什么是生命周期生命周期,指的就是空间从诞生到消亡。诞生:从内存中开辟出空间。消亡:释放空间只有在生命周期这段时间内,空间才是有效的,在生命周期外的时间,空间是无效的,不能访问。1.2指令和常量的生命周期指令在.text中,常量要么在.text中,要么在.rodat......

李庆林  31 浏览   0 喜欢   0 评论

存储类——与static、auto、register关键字

1、什么是存储类存储类这个东西,在不同书籍中可能解释的不太一样,在这里为了便于理解,我们会采用我们的解释方式。存储类的全称叫“存储类型”,存储类就是用来说明“常量、变量和函数”的存储位置的,比如自动局部变量在栈中,存储位置为栈,那么它的存储类就是栈。1.1详细说说存储类,以及与之相关的auto、st......

李庆林  40 浏览   0 喜欢   0 评论

Linux下的c内存映像

1、回顾Linux下c内存映像我们有详细的介绍过C程序在Linux下的内存映像,因为本章的课程需求,我们这里需要回顾一下。1.1代码段(只读段)代码段在编译时就定好了,在程序的运行过程中,不能在代码段去开辟空间,以及释放空间。1.1.1ELF头、段头部表、init节这三个在之前已经介绍过了,在这里我......

李庆林  42 浏览   0 喜欢   0 评论

c头文件包含

1、文件包含(#include文件)1.1#include是不是只能包含头文件?很多同学往往有一个误解,认为include只能包含头文件,实际上不是的,include可以包含任何文件,比如包含普通的文本文件,其它.c文件,只不过我们很少包含普通的文本文件和.c文件而已。1.1.1为什么不包含普通文本......

李庆林  35 浏览   0 喜欢   0 评论

Mac环境下C语言连接Mysql数据库

想写一个c语言链接mysql数据库的demo,但是因为在mac的环境下十分的不方便,走了不少的坑,这里记录一下,帮助其他小伙伴。1、mac下安装libmysqlclientbrewinstallmysql2、建立软连接sudoln-s/usr/local/mysql/lib/libmysqlclie......

李庆林  34 浏览   0 喜欢   0 评论

预编译关键字——#pragma

1、#pragma的常用参数(1)#pragmaonce1)作用与#ifndef一样,可以用于防止头文件的重复包含,只不过ifndef方式是最古老、最普遍的方式,所有的C/C++编译器都支持,而#pragmaonce是一个比较新的方式,有些编译器可能并不支持#pragmaonce方式。不过经过多年的......

李庆林  38 浏览   0 喜欢   0 评论

最全的vim快捷键

转载:https://blog.csdn.net/donahue_ldz/article/details/17139361曾经使用了两年多的Vim,手册也翻过一遍。虽然现在不怎么用vim了,曾经的笔记还是贴出来,与喜欢vim的朋友分享。索1.关于Vimvim是我最喜欢的编辑器,也是linux下第二强......

李庆林  33 浏览   0 喜欢   0 评论

预编译关键字——#、##实际用法

1、#和##到底有什么实际意义——————看看#和##的真实案例我从Linux内核中抽取了一个真实的案例,在这个案例中#和##都用到了,通过这个例子看看#和##到底有什么使用价值。(1)没有#和##时的正常做法#defineQDSP_MODULE_AUDPPTASK1#defineQDSP_MODU......

李庆林  70 浏览   0 喜欢   0 评论

预编译关键字——#line、#、##

1、defined我们在介绍#if时就介绍过defined的使用,它常与#if、!配合使用。#ifdefinedMACRO1&&!definedMACRO2...#endif由于前面介绍过,所以我们这里就不在赘述。2、#line2.1作用可以根据你自己的需求,修改__LINE__和_......

李庆林  38 浏览   0 喜欢   0 评论

IDEA搭建传统的SSM项目

1、新建一个maven项目,选择maven-archetpe-webapp模板。2、配置项目名称和本地保存路径3、配置Maven等待项目初始化完成,大概是这个样子的4、在src/main文件夹下面新建java文件夹和resources文件夹。5、pom.xml文件引入依赖spring基础包<!......

李庆林  79 浏览   2 喜欢   0 评论