自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 资源 (3)
  • 收藏
  • 关注

原创 给双指针申请内存空间;

#include #include int **malloc2d(int row,int col){int** ret=(int**)malloc(sizeof(int*)*row);int*p=(int*)malloc(sizeof(int)*row*col);int i=0;if(ret&&p)//如果从堆空间申请成功,ret和p地址就是非0;{fo

2017-01-01 13:33:38 871

原创 二维数组经典地址问题

#include int main(){    int a[5][5];    int(*p)[4];   //数组指针        p = a;        printf("%d\n", &p[4][2] - &a[4][2]);  //j结果为-4;}int a[5][5]   a的类型为int(*)5  &a[4][2]为第22个数的地址,

2016-12-31 13:21:24 400

原创 二维数组给指针赋值 和一维数组的区别

#include #include void printArray(int a[], int size){    int i = 0;        printf("printArray: %d\n", sizeof(a));    for(i=0; i    {        printf("%d\n", a[i]);    }}

2016-12-31 09:10:14 879

原创 整数和字符串打印时要不要*的问题

#include void main(){int a=99;int *pa=&a;int **ppa=&pa;char b[]="HW";char *p=b;printf("%d\r\n",pa);  printf("%d\r\n",*pa); printf("%s\r\n",p);  //printf("%s\r\n",*p);     错

2016-12-30 14:46:15 303

原创 *p=i; 与p=&i p++

int main(void){   int i = 9;   int * p;    //定义一个指向整形的指针变量   * p = i; // * p返回数值P指向的某个地址存储的数值(可能是一个垃圾值), 你可以为变量赋值,但不能为常量赋值。p=&i;//才是正确指针赋值的方法   printf(" %d ",* p);//这样运行就显示指针出错。。。 * p

2016-12-29 17:16:44 3060

原创 指针的指针问题研究

#include void main(){int a=99;int *pa=&a;int **ppa=&pa;printf("%08x\r\n",a);     a的值printf("%08x\r\n",pa);   为a的地址printf("%08x\r\n",*pa);  为a的值 printf("%08x\r\n",ppa);  print

2016-12-29 09:24:59 179

原创 数组指针和指针数组的区别

/////*****************************************数组指针************************************************#include typedef int(AINT5)[5];typedef float(AFLOAT10)[10];typedef char(ACHAR9)[9];int

2016-12-20 16:45:36 186

原创 全局变量赋值问题

全局变量在没有赋值以前系统默认为0,而局部变量在没有赋值以前的值是不确定的,所以在声明局部变量的时候一定要初始化。

2016-12-11 15:48:22 2729

原创 void f(a[1000])编译器中其实就是调用void f(int *a)

#include void f(int a[1000000]){printf("f_sizeof(a)= %d\n",sizeof(a));}int main(){    int a[5] = {0,1,2,3,4};int*p=a;    int* p1 = (int*)(&a + 1);     int* p2 = (int*)((int)a

2016-12-03 23:29:37 484

转载 ROM、RAM、DRAM、SRAM和FLASH的区别

ROM、RAM、DRAM、SRAM和FLASH的区别    常见存储器概念辨析:RAM、SRAM、SDRAM、ROM、EPROM、EEPROM、Flash存储器可以分为很多种类,其中根据掉电数据是否丢失可以分为RAM(随机存取存储器)和ROM(只读存储器),其中RAM的访问速度比较快,但掉电后数据会丢失,而ROM掉电后数据不会丢失。  ROM和RAM指的都是半导体存储器,ROM是Read

2016-11-20 16:38:31 292

转载 SPI IIC UART CAN传输协议的区别

第一个区别当然是名字: SPI(Serial Peripheral Interface:串行外设接口); I2C(INTER IC BUS) UART(Universal Asynchronous Receiver Transmitter:通用异步收发器)第二,区别在电气信号线上: SPI总线由三条信号线组成:串行时钟(SCLK)、串行数据输出(SDO)、串行数据输入(

2016-11-19 15:31:34 1432

转载 STM32使用内部晶振和外部晶振

在STM32上如果不使用外部晶振,OSC_IN和OSC_OUT的接法如果使用内部RC振荡器而不使用外部晶振,请按照下面方法处理:1)对于100脚或144脚的产品,OSC_IN应接地,OSC_OUT应悬空。2)对于少于100脚的产品,有2种接法:2.1)OSC_IN和OSC_OUT分别通过10K电阻接地。此方法可提高EMC性能。2.2)分别重映射OSC_IN和OSC_OUT至

2016-11-18 10:16:38 19521 1

原创 CPU寻址范围与位数关系

CPU访问的基本单位是B。每个地址单元一般容量为1个字节,或者是以字节为单位所以 xx个*1B=xxB如果A0~A18为地址线共19根地址线2^19=524288Byte 524288Byte/1024=512KB1KB=1024BIT 不是等于1000BIT

2016-11-10 15:19:43 1387

转载 ROM、RAM、DRAM、SRAM和FLASH的区别是什么?

ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写。ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内存。RAM有两大类,一种称为静态RAM(Static RAM/SRAM),SRAM速度非常快,是目前读写最快的存储设备了,但是它也非常昂贵,所以只在

2016-11-08 22:15:45 304

原创 M BYTE K BIT的转换关系

1M=1024k=1048576字节算法是: 8bit(位)=1Byte(字节) 1024Byte(字节)=1KB 1024KB=1MB 1024MB=1GB 1024GB=1TB

2016-11-05 22:02:42 789

转载 C语言中,各类型数据所占字节数及与它取值范围的关系

和机器字长及编译器有关系: 所以,int,long int,short int的宽度都可能随编译器而异。但有几条铁定的原则(ANSI/ISO制订的): 1 sizeof(short int)2 sizeof(int)3 short int至少应为16位(2字节) 4 long int至少应为32位。unsigned 是无符号的意思。例如: 16位编译器

2016-10-31 11:49:56 1010

IO控制驱动

linux层的io控制驱动程序,简单的程序实现对io口的控制

2015-12-03

空空如也

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

TA关注的人

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