C++基础之指针(1)

原创 2016年08月29日 14:21:53

记得在起初学C++时感觉最难懂的就是指针了,今天来把有关的内容整理一下,如有错误望指正,在复习的同时如果能与各位同学交流交流,那是极好的。

1、address

为variable和function分配address的工作是分几步完成的,在compile与link的过程中,只给各variable分配relative address,而absolute address 要到程序运行的时候才能确定。如果是local variable,那更惨,要到该local variable所属的function被调用时才进行address assign。

所以,同一个variable,多次运行中可能被分配到不同的address,this is why we do not care the exact address of varibles.

2、address的表示

C++规定:

(1)、the address of arry 可以用the arry's name 表示,其address is the address of the first element;

(2)、the address of function 可以用the function's name表示;

(3)、the address of variable可以用operational character “&”求得,for example “&x”。

3、pointer

definition:某个variable的memory address就是该variable的pointer。

pointer也是variable,它的type是其所指向variable的type,pointer variable的值就是其所指variable在memory中的address。

声明形式: 

数据类型* 指针变量名

4、operations of pointer

(1)、“*”、“&”运算

*:指针运算符,返回pointer所指的基类variable的值

&:取地址运算符,返回variable的地址,即指针。

<span style="font-size:14px;">void exc(int*a,int*b)
{
	int tmp;
	tmp=*a;
	*a=*b;
	*b=tmp;
}</span>
#include <iostream>
#include "hello.h"
using namespace std;
int main()
{
	int a=3,b=4;
	cout<<a<<"  "<<b<<endl;
	exc(&a,&b);
	cout<<a<<"  "<<b<<endl;
	return 0;
}
(2)、pointer variable arithmetic operation

只有addition and subtraction!

(3)、pointer variable comparison operation

(4)、pointer variable 的下标运算

#include <iostream>
#include "hello.h"
using namespace std;
int main()
{
	int a[]={1,2,3,4,5};
	cout<<a[2]<<endl;
	int *ptr=a;
	cout<<ptr[2]<<"   "<<*(ptr+2)<<endl;
	return 0;
}


ok,连续写了near one hour的blog,感觉waist也不痛了,legs也不酸了,一口气能上eight floors。今天的blog是为了的刘雨雨小盆友而写的,虽然她疯疯哒像只小monster,但她还萌萌哒呀!

刚才用到waist这个单词就想到了twist,就想到了《SAW》,哈哈宝宝我二刷去惹。


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

java基础改学C++(六)指针(1)

java基础改学C++(六)指针(1)

C++指针——(1)指针基础

1.指针变量 指针变量(简称指针pointer),用来保存内存地址的变量。 内存地址中每一个字节都会对应一个唯一的地址。变量往往是由若干个字节组成的,但我们把变量第一个字节起始地址定...

c++指针的基础讲解

  • 2014-03-25 11:18
  • 814KB
  • 下载

我的C++指针面向对象基础

  • 2009-09-02 22:52
  • 1.30MB
  • 下载

C语言基础之指针1

计算机内存被划分为按顺序编号的内存单元,每个变量都位于某个独特的内存单元中,称之为地址。每个内存单元为一字节,不同的数据类型所占用的内存单元数是不同的。假设一个整型数据a=150,占据两个字节,地址为...

c++指针基础

  • 2011-11-02 21:39
  • 17KB
  • 下载

C语言-指针的基础学习笔记(1)

1、地址与指针,‘&’与‘*’ (1)、其实 程序经过编译以后已经将变量名转换为变量的地址,对变量值的存取都是通过地址进行的, 地址"指向"该变量单元,因此将地址形象化称为“指针”。如果一个变量专...

C/C++指针基础

  • 2008-05-26 23:28
  • 1.69MB
  • 下载

大学C++课程课件指针(1)

  • 2010-03-26 14:24
  • 1.66MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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