下载此文档

哈理工C++课件 (6)-课件·PPT.ppt


文档分类:办公文档 | 页数:约42页 举报非法文档有奖
1/42
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/42 下载此文档
文档列表 文档介绍
第6章指针与引用
指针与引用
指针是什么
指针变量
动态存储分配
指向指针的指针
指针与数组
引用
指针是什么
变量分配存储空间的首字节单元地址为变量地址。地址指示了变量的存储位置,在高级语言中称之为指针(pointer)。
在前面的章节中,直接按照变量名或地址存取变量值,对变量的操作的方式称为直接存取方式。与之相对应的是间接存取方式,这种方式是通过定义一种特殊的变量,专门存放内存或变量的地址,根据变量存储的值再去访问相应的存储单元。
某个变量的内存地址称为该变量的指针。用以表示(或存储)不同指针值的变量就是指针变量。
指针变量定义
指针变量仍遵循先定义后使用的原则。定义指针变量应指明指针变量的类型及变量名,其定义形式为:
数据类型标识符*指针变量名;
例如:
int *ptr1,*ptr2;
// 定义指向整型变量的指针变量ptr1、ptr2
float *fptr;
// 定义指向浮点型单精度变量的指针变量fptr
double *dp;
// 定义指向浮点型双精度变量的指针变量dp
指针变量定义
【】基本数据类型和指针类型的字节长度。
// 6-
#include<>
void main()
{
cout<< "sizeof(char)\t= " << sizeof(char)
<< "\tsizeof(char*)\t= " << sizeof(char*) << endl;
cout<< "sizeof(short)\t= " << sizeof(short)
<< "\tsizeof(short*)\t= " << sizeof(short*) << endl;
cout<< "sizeof(int)\t= " << sizeof(int)
<< "\tsizeof(int*)\t= " << sizeof(int*) << endl;
cout<< "sizeof(long)\t= " << sizeof(long)
<< "\tsizeof(long*)\t= " << sizeof(long*) << endl;
cout<< "sizeof(float)\t= " << sizeof(float)
<< "\tsizeof(float*)\t= " << sizeof(float*) << endl;
cout<< "sizeof(double)\t= " << sizeof(double)
<< "\tsizeof(double*)\t= " << sizeof(double*) << endl;
}
sizeof(char) = 1 sizeof(char*) = 4
sizeof(short) = 2 sizeof(short*) = 4
sizeof(int) = 4 sizeof(int*) = 4
sizeof(long) = 4 sizeof(long*) = 4
sizeof(float) = 4 sizeof(float*) = 4
sizeof(double)= 8 sizeof(double*) = 4
指针运算符与指针变量赋初值
关于指针的运算符有“*”和“&”。
运算符“&”称为取址运算符,用以返回变量的指针,即变量的地址;
运算符“*”称为指针运算符或指向运算符、间接访问运算符,用以返回指针所指向的值。
例如:
float f=,*fp;
fp= &f;
// 将单精度变量f的地址赋给指针变量fp
f=*fp+;
// 将fp所指向的值即变量f中所存储的值,
指针运算符与指针变量赋初值
指针变量定义后,在使用之前,需要先赋给它一个地址值,只有将某一具体变量的地址赋给指针变量后,指针变量才能指向确定的变量(内存单元)。
在定义指针变量同时给指针一个初始值,称为指针变量初始化,例如:
int a=1;
// 定义整型变量a,赋a的初值为1
int *p=&a;
// 将整型变量a的地址赋给指针变量p
float f=,*fp=&f;
// 将单精度变量f的地址赋给指针变量fp
指针运算符与指针变量赋初值
【】“直接访问”交换变量的值,“间接访问”输出。
// 6-
#include<>
void main()
{ int a = 3, b = 5; // 定义变量,并赋初值
int *p = &a, *q = &b; // 定义指针变量,并赋初值
cout<<"交换前:*p="<<*p<<", *q="<<*q<<endl;
{ int t=a; a=b; b=t; } // 交换a和

哈理工C++课件 (6)-课件·PPT 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数42
  • 收藏数0 收藏
  • 顶次数0
  • 上传人aidoc1
  • 文件大小0 KB
  • 时间2015-10-22