指针

原创 2011年01月17日 00:45:00

定义变量后,系统将在内存中为其分配存储空间,变量在内存中具有唯一的地址,访问变量,其实就是访问变量存储空间的内容。

因此,访问变量内容有2种方式:

1 变量名

2 访问变量在内存中的地址(指针访问)。

一、变量在内存中的地址

将变量存储单元的起始地址定义为变量的地址。

变量存储空间、变量地址与变量内容的关系好比仓库、仓库号与货物的关系,可以将内存单元看成一个个的仓库,内存地址就是仓库的编号,在定义变量时就是“将某号仓库分配给某人使用”,而变量的内容就相当于仓库中的货物,在给变量进行赋值时相当于“将货物放到某号仓库”。

直接访问:通过变量名对变量内容进行访问。

间接访问:将变量的地址赋给另一个特殊的变量,并使用这个特殊的变量访问变量的内存单元,特殊变量称为指针。

二:指针的定义

指针:用来存放内存地址的变量。

定义方式如下:

类型 * 变量名1;

类型 * 变量名1, * 变量名2;

例如:

int *p1,*p2;

*表示变量p1,p2为指针变量,int 表示指针p1,p2所指的变量是一个整型变量。

指针变量的值只能是内存存在的一个地址,而不是一个任意的整数。

三、指针的引用

取址运算符 & :将变量的地址赋给指针变量。

char c=’A’;

char *cp;

cp=&c;

取值运算符 *

c++中指针问题一个很好的例子

偶尔在问题区看到这个问题,感觉有助于对指针问题理解,所以记录一下,希望给看到的你一些帮助。...
  • guwuchangtian
  • guwuchangtian
  • 2017年06月03日 11:52
  • 687

行指针和列指针-专题分析(转至汪老师的C语言)

指针与多维数组(主要指二维数组)int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23}; 换个角度看世界:如首行一样,将首行视为一个元素,一个特殊的元素,这个“特殊的...
  • haussuden
  • haussuden
  • 2010年10月25日 22:33
  • 11917

C++ 重载操作符之一(指针运算符*,->)

//重载指针运算符*,-> #include using namespace std; template class MyPtr { private: T * m_ptr; public: ...
  • u014338577
  • u014338577
  • 2015年09月06日 23:24
  • 2359

长指针

1. 16位Windows的产物  现在这已经是一个废弃的概念了——基本上。        早期16位计算机将内存中某段开始[?内存模式],寻址范围为2^16地址范围之内的指针叫做短指针,寻址范围...
  • fenxian2011
  • fenxian2011
  • 2014年02月13日 18:42
  • 477

c/c++中指针的理解(初学者)

关于指针,大家肯定不陌生,一些初学者,想必会出现思绪混乱的情况,现在我就来帮大家缕一缕吧。(第一次写微博 有点小紧张) 大家应该了解一些计算机对内存的管理方式吧。操作系统会将内存单元进行编号,这些...
  • Allen_ww
  • Allen_ww
  • 2016年01月11日 19:41
  • 9624

shared_ptr 共享指针 智能指针 简介

原文地址: http://euyuil.com/2344/ http://www.cnblogs.com/welkinwalker/archive/2011/10/20/2218804.htm...
  • u011866460
  • u011866460
  • 2014年12月19日 13:54
  • 1482

关于指针的加减操作

原题:main() { int a[5]={1,2,3,4,5}; int *ptr=(int *)(&a+1); printf("%d,%d",*(a+1),*(ptr-...
  • u010193457
  • u010193457
  • 2015年08月19日 16:24
  • 3037

远指针,近指针,巨指针

预备知识: 这与CPU寻址有关。在16位机器下,地址线为20位。但CPU处理能力只有16位。于是访问内存的方案是分段。即基址(段)+偏址是逻辑地址,从中可计算物理地址。基址(段)有16位,偏址也1...
  • dazhi_100
  • dazhi_100
  • 2012年06月28日 14:45
  • 1277

深度长文教你彻底掌握C++/C指针

一.基础C++或者C里面最容易让人糊涂应该是指针了,不管是初学者甚至是有经验的童鞋有时候在用指针的时候也会出现一些很隐蔽的错误. 指针本身就是一个很绕的概念,而指针又能够和很多的结构比如数组(二维数...
  • xierhacker
  • xierhacker
  • 2016年09月13日 19:49
  • 8525

远指针和近指针,巨指针

char near p; /定义一个字符型“近”指针*/ char far p; /定义一个字符型“远”指针*/ char huge p; /定义一个字符型“巨”指针*/首先要从8086处理器...
  • njcyp123456789
  • njcyp123456789
  • 2016年12月10日 22:07
  • 263
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:指针
举报原因:
原因补充:

(最多只允许输入30个字)