nullC++程序
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
C++程序设计主讲教师: 王新刚
E_mail:wxg@sdili.edu.cn
Tel:89631605第8章 指针第8章 指针8.1 指针的基本概念8.2 指针变量的定义与引用8.3 指针与数组8.4 指针与字符串8.5 引用8.1 指针的基本概念8.1 指针的基本概念变量分配内存单元程序中: int i;
float k; 内存中每个字节有一个编号-----地址ik 编译或函数调用时为其分配内存单元内存单元的地址与
内存单元的内容null2000指针指针变量 变量的内容 变量的地址存放地址的变量null直接访问:按变量地址存取变量值
间接访问:通过存放变量地址的变量去访问变量例 i=3; -----直接访问3例 *i_pointer=20; -----间接访问20直接访问与间接访问null例 k=i; --直接访问
k=*i_pointer; --间接访问10例 k=i;
k=*i_pointer; null由于通过地址能找到所需的变量单元,因此可以说,地址指向该变量单元
将地址形象化地称为“指针”
一个变量的地址称为该变量的指针
如果有一个变量是专门用来存放另一变量地址(即指针)的,则它称为指针变量。
指针变量的值(即指针变量中存放的值)是地址(即指针)指针和指针变量8.2 指针变量的定义与引用8.2 指针变量的定义与引用指针变量是用来指向另一个变量的一种特殊的变量
为了
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
示指针变量和它所指向的变量之间的联系,在C++中用“*”符号表示指向例如:
i_pointer是一个指针变量,
*i_pointer表示i_pointer所指向的变量例如:
① i=3;
② *i_pointer=3;nullC++规定所有变量在使用前必须先定义,再使用。指针变量也是如此指针变量的定义的一般形式:
基类型 *指针变量名;合法标识符指针的目标变量的数据类型表示定义指针变量
不是‘*’运算符例 int *p1,*p2;
float *q ;
char *name;定义指针变量null注意:
1、int *p1, *p2; 与 int *p1, p2;
2、指针变量名是p1,p2 ,不是*p1,*p2
3、指针变量只能指向定义时所规定类型的变量
4、指针变量定义后,变量值不确定,应用前必须先赋值
5、不能用一个整数给一个指针变量赋初值
6、一般的C++编译系统为每一个指针变量分配4个字节的
存储单元,用来存放变量的地址int i,j;
int *pointer_1,*pointer_2;
pointer_1=&i; pointer_2=&j; null & 取地址运算符
* 指针运算符(或称间接访问运算符)
两者关系:互为逆运算引用指针变量如:
int a;
int *pointer;
pointer=&a;
*pointer=3; “&”和“*”两个运算符的优先级别相同,但按自右至左方向结合&*pointer的含义?
*&a的含义?null#include
using namespace std;
int main( )
{
int *p1,*p2,*p,a,b;
cin>>a>>b; //输入两个整数
p1=&a; //使p1指向a
p2=&b; //使p2指向b
if(a
using namespace std;
int main( )
{
int *p1,*p2,max;
p1=new int;
p2=new int;
cout<<"\n请输入两个整数:";
cin>>*p1>>*p2;
if (*p1>*p2) max=*p1;
else max=*p2;
cout<<"\n最大值为:"<
using namespace std;
int main( )
{ void swap(int *p1,int *p2);
int *pointer_1,*pointer_2,a,b;
cin>>a>>b;
pointer_1=&a;
pointer_2=&b;
if(a
using namespace std;
int main( )
{ int a[10];
int i,*p=a;
for(i=0;i<10;i++)
cin>>*(p+i);
cout<
using namespace std;
int main( )
{void sort(int *p,int n);
int a[10],i;
cout<<″enter the array:”<>a[i];
cout< p[i+1])
{ t= p[i];
p[i]= p[i+1];
p[i+1]=t;
}
} null说明
1、在程序的表现形式上虽然有不同,但实际上,程序在编译以后是完全相同的
2、C++编译系统将形参数组名一律作为指针变量来处理
3、在函数调用时并不存在一个占有存储空间的形参数组,只有指针变量nullvoid f(int array[],int n)
{ cout<<*array;
array=array+3;
cout<<*array<
using namespace std;
int main( )
{ char str[]=″I love CHINA!″;
cout<
#include
using namespace std;
int main( )
{ string str=″I love CHINA!″;
cout<
using namespace std;
int main( )
{ char *str=″I love CHINA!″;
cout<
using namespace std;
int main( )
{ char str1[]=″I love CHINA!″,str2[20],*p1,*p2;
p1=str1;p2=str2;
for(;*p1!=′\0′;p1++,p2++)
*p2=*p1;
*p2=′\0′;
p1=str1;p2=str2;
cout<<″str1 is: ″<
#include
using namespace std;
int main( )
{ int a=10;
int &b=a;
a=a*a;
cout<
using namespace std;
int main( )
{ void swap(int &,int &);
int i=3,j=5;
swap(i,j);
cout<<″i=″<
本文档为【8[1].指针】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。