自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 资源 (2)
  • 收藏
  • 关注

原创 C语言中的关键字

register作用:请求编译器尽可能地将变量存在CPU内存寄存器中。而不是通过内存寻址访问的方           法,好处:省去了CPU处理访问内存数据的时间。注意事项:1,register修饰变量的类型必须是CPU能够接受,register变量必须是一个单个的值,并且长度应该小于或者等于整型的长度,2,register变量可能不是在内存中存储,所以不能用&来取地址,因为&

2016-07-28 08:44:37 264

原创 malloc,ralloc,calloc的区别

三个函数的原型void* realloc(void* ptr, unsigned newsize); void* malloc(unsigned size); void* calloc(size_t numElements, size_t sizeOfElement); 使用的时候都要加头文件stdlib.h。它们的作用是,请求系统分配地址,返回

2016-07-23 19:32:01 341

原创 数组指针和指针数组

数组指针  int (*p)[n];   首先P是一个指针,指向一个整型一维数组,这个数组的长度是n,也就是P的步长,如果P++,那么P就跳过n长度到下一个数组,   如果用指针定义一个二维数组    int a[3][4];

2016-07-19 19:33:51 211

原创 数组的认识

一,数组1,数组的定义   #define MAX_SIZE 1000   int a[MAX_SIZE];   int a[MAX_SIZE][MAX_SIZE];可以省略行,但是不可以省略列使用宏定义来确定数组的大小,易于移植int a[]={1.2.3};此时数组的大小是sizeof(a) = 12; 2,将数组初始化为0       a[MAX_SIZE...

2016-07-18 17:16:29 295

原创 十进制转换成二进制及掩码生成

十进制转换成二进制void  change (int num){    unsigned int temp;   unsigned  int mask = 1;   int i;for(i = 31; i >= 0;i--){    temp = ((unsigned int)num >> i) & mask;     printf("...

2016-07-17 23:21:15 1333

原创 野指针及其有效的避免方法

野指针的生成及其产生的原因一,指向不确定地址的指针变量。(即没有初始化)使用野指针易因内存泄露出现段错误。而造成内存泄露的原因有两个:1,访问了没有权限的内存,如果正确使用指针,系统会给指针分配相应的内存空间,如果指针指向了的内存不是系统分配的,则判定为没有权限。2,访问了已经释放的内存。二,指针p被free或者delete之后,没有置为NULL,让人误以为p是个合法的指针。...

2016-07-16 16:30:23 876

原创 自编字符串函数

//计算字符串的长度int my_strlen(char *s)  {    int i = 0;    while(*s != '\0')    {        i++;s++;    }    return i;}//将字符数组str的内容拷贝到字符数组dest中char *my_strcpy(char *dest,char *str){    char...

2016-07-15 19:48:01 406

原创 linux下printf()函数输出的条件

printf是一个行缓冲函数,先写到缓冲区,满足条件后,才将缓冲区刷到对应文件中,刷缓冲区的条件如下:    1 缓冲区填满    2 写入的字符中有‘\n’ '\r'    3 调用fflush手动刷新缓冲区    4 调用scanf要从缓冲区中读取数据时,也会将缓冲区内的数据刷新  满足上面4个条件之一缓冲区就会刷新

2016-07-14 16:10:43 577

原创 scanf的正确使用及技巧

它是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中。使用scanf函数时要加上#include <stdio.h>。首先从键盘读入键盘缓冲区(buffer)的数据都是以ASCII码存储的(包括回车)。例如:#incude<stdio.h>int main(){      char a;      char b;    ...

2016-07-14 14:17:13 13319

原创 进程的虚拟地址空间划分

虚拟地址 (virtual address): CPU启动保护模式后,程序运行在虚拟地址空间中。注意,并不是所有的“程序”都是运行在虚拟地址中。CPU在启动的时候是运行在实模式的,Bootloader以及内核在初始化页表之前并不使用虚拟地址,而是直接使用物理地址的。每一个进程被给予它的非常私有的虚拟地址空间。对于32位的进程,地址空间是4G因为一个32位指针能够有从0x00000000到0xf...

2016-07-11 14:37:16 1073

原创 面向过程和面向对象语言的区分。

面向对象:指的是在进行程序设计时,以对象为单位进行控制。面向过程:指的是在进行程序设计时,以过程为单位进行控制。 例如,“上学”这件事情。面向对象: 妈妈 做早饭。 孩子 吃早饭。 孩子 背书包。 妈妈 上公交 孩子 上公交。 孩子 到学校。 妈妈 回家。 面向过程: 切菜,点火,炒菜,热米饭 吃...

2016-07-11 14:26:07 499

原创 C语言中关于变量的定义

一,关于变量的定义1,一个整型变量 int   a; 2,一个指向指针的指针,它指向的指针是指向一个整型数的(整型指针的指针变量) int   **a;3,一个有10 个整型数的数组(整型数组)         int  a[10]; 4,一个有10个指针的数组,该指针是指向一个整型数的(整型指针数组)int *a[10];5,一个指向有10个整型数组的指针(整...

2016-07-10 20:42:58 668

原创 linux中的Make使用模板

如何使用make基于实现加减乘除的程序先建立一个test的根目录,在根目录中建立add ,sub,div,mul,main,scripts子目录和文件Makefile在每个子目录中建立目录src和文件Makefile根据每个功能目录的名字,在其src中,建立.c文件        图中的.o文件是已经编译好的。打开scripts目录中的Mak...

2016-07-08 20:26:57 375

转载 linux下gcc编译优化选项的大体操作是怎么样的?

起因:      目前项目使用nios IDE作为开发平台,其使用的编译器为gcc的交叉编译器。在设定编译条件时,在debug模式下生成的程序正常,但是在release模式下会出现LCD显示的开端显示不全,缺少一个字节或字的状况。为了了解具体为什么造成该问题,对两种模式下的配置做了对比,编译器皆为nios2-elf-gcc交叉编译器,debug模式编译器参数为:-DALT_DEBUG -O0 ...

2016-07-07 09:50:45 1410

转载 linux中gcc编译器的链接过程是怎么样的?

链接的过程实际上是为了解决多个文件之间符号引用的问题(symbol resolution)。编译时编译器只对单个文件进行处理,如果该文件里面需要引用到其他文件中的符号(例如全局变量或者函数),那么这时在这个文件中该符号的地址是没法确定的,只能等链接器把所有的目标文件连接到一起的时候才能确定最终的地址。这个填写地址的过程,根据填写的地址的类型和时机,可以分为解决程序内部跨文件引用的链接时重定位、引...

2016-07-07 09:30:05 687

Myeclipse 激活详解过程

2016-11-02

模拟电子技术基础》胡宴如_课后答案.

《模拟电子技术基础》第二版课后习题答案,主编是胡宴如,耿苏燕。

2015-12-27

空空如也

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

TA关注的人

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