c语言指针用法简单举例 C51的指针概述

指针是c语言的一个特殊的变量,它存储的数值被解释成为内存的一个地址。
指针定义的一般形式如下。
数据类型    *指针变量名;
例如:
int i,j,k,*i_ptr;     //定义整型变量i,j,k和整型指针变量i_ptr。
指针运算包括以下两种:
(1)取地址运算符。取地址运算符&是单目运算符,其功能是取变量的地址,例如:
i_ptr=&i;    //变量i的地址送给指针变量i_ptr
(2)取内容运算符。取内容运算符“*”是单目运算符,用来表示指针变量所指单元的内容,在星号“*”运算符之后跟的必须是指针变量。例如:
j=*i_ptr;   //将i_ptr所指的单元的内容赋给变量j
可以把数组的首地址赋予指向数组的指针变量。例如:
int a[5],*ap;
ap=a;      //数组名表示数组的首地址,故可赋予指向数组的指针变量
也可以写成:
ap=&a[0];  //数组第一个元素的地址也是整个数组的首地址,也可赋予指针变量ap
还可以采用初始化赋值的方法:
int a[5],*ap=a;
也可以把字符串的首地址赋予指向字符类型的指针变量。例如:
unsigned char  *cp;
cp=hello world!;
这里应该说明的是,并不是把整个字符串装入指针变量,而是把存放该字符串的字符数组的首地址装入指针变量。
对于指向数组的指针变量,可以进行加减运算,例如:
cp--;   //cp指向上一个数组元素
ap++;   //ap指向下一个数组元素
例如:定义了指针类型的形式参数如下:
uchar    *str;   
该形式参数表示一个无符号字符型变量的地址。可以采用以下赋值语句:
sbuf=*(str+k);  //将单元地址为str+k的内容赋给专用寄存器sbuf,启动发送
在调用该函数时,直接把数组trdata[]的数组名作为实际参数代入即可,因为数组名表示数组的首地址,故可直接赋予指向数组的指针变量。

基于物通博联工业数据采集网关的工厂数据采集方案
如何识别工控主板该不该返修,识别方法的介绍
AFG-X25系列USB任意波信号发生器的性能特点及应用范围
小米推出小米CC9 Pro等多款产品,首款量产的1亿像素摄像头手机
宜科定制化软硬件集成为知名汽车零部件厂商打造座椅装配线
c语言指针用法简单举例 C51的指针概述
观海微GH8555BL+BOE9.0(AV090HDQ-N19)/ Boe10.1(AV101HDQ-N19)搭配原理及代码
月度开发者Aryan Behzadi 利用 Qualcomm 技术使AR创意变成现实
利用锆铪氧化物薄膜打造超薄NEMS换能器
realme GT“大黄蜂”素皮版渲染图曝光
AMD推出首款基于ARM的CPU与开发平台 加快ARM服务器生态系统发展
一文带你看懂为什么Smartbi V10要打造全新的数据模型?
浅析光子集成技术的优势和发展现状
基于REN估值的来源和理由阐述
步进电机振动的测量方法
伊顿宣布与KPIT共同开发下一代电动汽车技术
基于嵌入式NRF24L01器件的无线数据传输技术
环境噪音扬尘在线监测系统的基本介绍
三合一食品安全快速检测仪的功能
小波分析算法的公式与C语言实现