C/C++教程

C/C++指针基础--认识指针

本文主要是介绍C/C++指针基础--认识指针,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

什么是指针?
从根本上看,指针是一个值为内存地址的变量,即指针变量的值为地址。在32位计算机中,一个指针占4 Byte, 而64位中一个指针占8 Byte。
CPU无法直接在硬盘上读取数据,是通过内存读取的(地址总线,数据总线,控制总线),CPU通过地址总线找到该条数据,通过控制总线判断是读(Re)还是写(Wr), 通过数据总线将改数据读取到CPU或者从CPU写到内存中。所以,地址总线的宽度决定了CPU的寻址功能,数据总线的宽度决定了CPU单次数据传输的传送量(也就是数据传输速度),控制总线决定了CPU对其他控件的控制能力以及控制方式。计算机是64位,32位,16位,指的是计算机CPU中通用寄存器一次性处理、传输、暂时存储信息的最大长度。也就是CPU在单位时间内能一次处理的二进制数的位数。

间接运算符(indirection operator):*
地址运算符:&

声明指针:

int    *pi;
char   *pc;
float  *pl,*py;
float  *px, py;     //注意这样值定义了一个指针px, py是float型的变量

指针和变量名之间的空格可以省略,如int pi 和 int * pi 和 int pi 都可以;
注意:指针是一个新类型,不是整数类型,不能把两个指针相乘;

int  salary = 10000;	
int  *p;
int  val;
p   = &salary;      //指向salary的指针 
val = *p;           //把p指向的地址上的值赋给val
这篇关于C/C++指针基础--认识指针的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!