- 博客(13)
- 资源 (2)
- 收藏
- 关注
原创 【linux c】c语言关键字作用及注意事项_学习笔记_013
1.register(1)作用:请求编译器尽可能地将变量保存到cpu的内部寄存器中,省去cpu抓取数据的时间,提高程序的运行效率。(2)将何种变量定义为register:一般将频繁被访问的变量定义为register。(3)使用时的注意事项:①只能修饰局部变量,不能修饰全局变量原因:全局变量会被多个进程使用,修饰为register的变量只能被当前进程知道变量的所保存的位置,其
2016-07-26 15:42:33 434
原创 【linux c】指针与数组的区别_学习笔记_012
指针与数组的区别:从空间分配、访问效率、安全性、函数传参等方面说明二者区别: 1.空间分配:数组是静态内存分配,指针是动态内存分配; 2.访问效率:数组是直接访问数据所在内存,指针是间接访问,因此数组的访问效率较高; 3.安全性:数组要防止数组越界,指针要防止内存泄露; 4.传参:一维数组名,用数组元素的指针来接;传二维数组名,用一维数组指针来接;传三维
2016-07-21 09:05:02 349
原创 【linux c】一维至多维数组名的的含义及其取地址的含义_学习笔记_011
1.一维数组的数组名int a[3];a:指针常量,保存的是一维数组首元素的地址;&a:对一维数组的数组名取地址,表示一维数组的地址。 2.二维数组的数组名int a[2][2];*(*(a + i) j)a + i:保存的是二维数组中第(i + 1)个一维数组的地址;*(a + i):表示二维数组中第(i + 1)个一维数组的首元素的地址;*(a + i)
2016-07-20 20:22:08 971
原创 【linux c】什么是野指针以及如何避免野指针_学习笔记_010
1.首先以一个示例来认识野指针:#include int main(){ int * p; scanf("%d", p); printf("%d\n", * p); return 0;}该段程序编译并未报任何错误,而运行之后,输入具体值后,报段错误:2段错误 为什么会出现段错误?因为此处定义了一个局部变量
2016-07-17 16:10:37 1610
原创 【linux c】Linux c内存管理——你的数据放在哪_学习笔记_009
本文主要包括以下6个知识点:计算机存数单位,各数据类型的字节长度,原码和补码,变量的三大特点,变量存储以及内存分配,声明和定义的区别。 1.计算机存储单位计算机常用的存储单位有 位、字节、半字、字。换算公式如下:1个字节 = 8位1个半字 = 2个字节1个字 = 4个字节 2.各数据类型的字节长度(1)在不同编译器中,给各数据类型分配的空间会有所不同,本文以li
2016-07-16 20:04:46 474
原创 【linux c】sizeof与strlen的区别简述_学习笔记_008
过一个简单的程序来了解sizeof和strlen的用法,以及和二者的区别。#include #include void size(){ printf("\n**************************\n"); char *ptr1 = "Hello word"; char ptr2[] = "Hello word"; char ptr3[100]
2016-07-16 15:49:08 2954
原创 【linux c】c语言变量_学习笔记_007
1.如何定义变量:(1)例题:(基本变量的定义)//①一个整型数:int a;//②一个指向整型数的指针:int * a;//③一个指向指针的指针,它指向的指针指向一个整型数:int ** a;//④一个有10个整型数的数组:int a[10];//⑤一个有10个指针的数组,该指针指向一个整型数:int * a[10];//⑥一个指向有10个整型数的数组的指针:int
2016-07-16 12:39:35 386
原创 【linux c】嵌入式开发为什么选择c语言浅述_学习笔记_006
接下来,我将从操作系统本身,以及c语言的特点两方面来探讨其原因 1.嵌入式概述嵌入式与非嵌入式的最大区别就在于有无操作系统,下图为嵌入式的工作流程图。其中,操作系统的作用管理系统所有的软、硬件资源,嵌入式开发模式,就是在已有的硬件平台上移植操作系统之后,做相应的开发。 2.操作系统最核心部分内核是一个操作系统的核心。它负责管理系统的进程、内存、设备驱动程序、
2016-07-16 09:56:58 787
原创 【make工程管理器】linux下Make工程管理器简述_学习笔记_004
Make工程管理器 1.Make工程管理器的优越性:(1)使用 GNU 的 make 工具能够比较容易的构建一个属于你自己的工程,整个工程的编译只需要一个命令就可以完成编译、连接以至于最后的执行;(只需要一个make命令就可以完成需要对整个工程进行的操作,按Makefile中的代码自动编译,使用方便) (2)在编译较多文件的项目中,如果仅仅一个源文件改变了,make会自动找到需
2016-07-09 19:48:17 1200
原创 【linux GDB】linux下GDB调试器_学习笔记_003
GDB调试器 1.GDB主要完成以下三方面的功能:(1)启动被调试程序;(2)让被调试的程序在指定位置停住;(3)当程序被停住时,可以检查程序状态——变量值。2.调试步骤:以如下程序为例(文件名为demo.c)(1)gcc –g demo.c –o demo(生成可调试文件)(2)gdb demo(启动调试文件)在(gdb)光标处输入
2016-07-09 09:55:25 371
原创 【linux gcc】gcc编译器相关(7月6日学习总结)_学习笔记_003
一、gcc命令使用格式:gcc [选项] [文件] [选项] [文件] -E对源文件进行预处理-c对源文件进行编译或汇编-S对源文件进行编译-o file 输出目标文件file-w屏蔽所有警告信息
2016-07-07 11:50:57 489
原创 【linux c】c语言源程序到最终生成可执行文件的过程_学习笔记_001
在使用gcc编译程序时,编译过程可以被细分为四个阶段:·预处理·编译·汇编·链接 1.预处理阶段 预处理功能(头文件、宏定义、条件编译都在预处理阶段完成)·将源文件中以”include”格式包含的文件复制到编译的源文件中。·用实际值替换用“#define”定义的字符串。·根据“#if”后面的条件决定需要编译的代码。 2.编译、优化阶段
2016-07-06 20:18:07 3430
Google JavaScript 编码规范指南
2017-10-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人