大学c++基础——指针引用

上传人:第*** 文档编号:49426758 上传时间:2018-07-27 格式:PPT 页数:37 大小:464.50KB
返回 下载 相关 举报
大学c++基础——指针引用_第1页
第1页 / 共37页
大学c++基础——指针引用_第2页
第2页 / 共37页
大学c++基础——指针引用_第3页
第3页 / 共37页
大学c++基础——指针引用_第4页
第4页 / 共37页
大学c++基础——指针引用_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《大学c++基础——指针引用》由会员分享,可在线阅读,更多相关《大学c++基础——指针引用(37页珍藏版)》请在金锄头文库上搜索。

1、程序设计(C+) (00864094)第7讲 指针与引用20112012学年秋季学期 (CPP111)计算中心计算中心上海大学上海大学 Shanghai University指针与引用指针概念指针的基本使用指针与数组指针与函数指针应用动态内存特殊指针引用指针指针概念计算中心计算中心上海大学上海大学 Shanghai University内存要点程序运行中所有的代码和数据都是放在内存中, 它们共享同一个内存空间。内存以字节为基本单位,整个内存就是由很多排 列整齐的字节组成。内存中的每个字节都有一个惟一的编码,称为地 址。地址是连续编码的,最小从0地址开始。每个字节包含8位二进制。计算中心计算中心

2、上海大学上海大学 Shanghai University变量要点变量4要素名称、类型、数值、地址程序通过变量操纵数据每个变量都有一个生命期对一般动态局部变量来说,变量的生命期从变量所在的 函数开始运行直到函数结束(返回),对全局变量和静态 变量来说,变量的生命期从程序开始运行直到程序结束。 变量在生命期开始时分配地址,在生命期结束时 回收地址。在变量的生命期内,变量的地址不会变化计算中心计算中心上海大学上海大学 Shanghai University指针概念指针,相当于地址int n, *p; p=变量的指针(变量n的指针:)指针指向变量,pn指针变量的类型,p类型为int *指针所指变量的类

3、型,*p类型为int空指针(地址为0的指针),记为NULL指针指针的基本使用计算中心计算中心上海大学上海大学 Shanghai University指针基本使用指针变量的定义,变量名前带*取址运算符,p = m = *p;计算中心计算中心上海大学上海大学 Shanghai University指针使用举例int n, m;int *p; cin n; p = m = *p; cout p 成立q p 的结果为2指针指针与函数计算中心计算中心上海大学上海大学 Shanghai University指针的交换交换指针int *p, *q, *t;t = p;p = q;q = t;交换指针所指数据

4、int *p, *q, t;t = *p;*p = *q;*q = t;计算中心计算中心上海大学上海大学 Shanghai University编写函数,交换两数#include void swap( int *p, int *q ) int t; t = *p; *p = *q; *q = t;int main() int x, y;cin x y;swap( cout 动态内存分配函数 void *malloc(unsigned size);内存释放函数 void free(void* buffer);分配与释放n个整数的空间int *p;p = (int *) malloc( n*siz

5、eof(int) );/*分配*/*使用该分配空间*/free(p);/*释放*/计算中心计算中心上海大学上海大学 Shanghai University输入n和n个整数main() int *a, n, i; cin n; a = (int *)malloc(n*sizeof(int); for ( i=0; i ai; /* 指针a可作为数组名使用 */ free( a );指针特殊指针计算中心计算中心上海大学上海大学 Shanghai University指针数组(概念)多个指针组成的数组,如char *pa10; 或如图初始化计算中心计算中心上海大学上海大学 Shanghai Univ

6、ersity二级指针(概念)char *p2; p2=pa; 或 p2=第i个姓名:namesi 或 pai 或 p2i 或 *(p2+i)第i个姓名的第j个字符 namesij 或 paij 或 p2ij 或 *(pai+j) 或 *(*(p2+i)+j)计算中心计算中心上海大学上海大学 Shanghai University函数指针(概念)指向函数的指针返回类型 (*指针变量名)(函数形参表);如:double (*pfunc) (double ); 函数指针指向函数有库函数:double sin( double );如:pfunc=sin;通过指针调用函数如:y = (*pfunc) (

7、 x ); 等价于 y=sin(x);函数指针数组如:double (*pfs3)(double);计算中心计算中心上海大学上海大学 Shanghai University命令行参数(概念)main( int argc, char *argv ) 或main( int argc, char *argv )如程序命令:07ARG computer language 引用(C+) 比指针更简单计算中心计算中心上海大学上海大学 Shanghai University指针使用方法的简化引用指针法int n;int *p;p=cin n;cout n;cout void swap2( int t = a; a = b; b = t;int main() int x, y;cin x y;swap2( x, y );cout s1;/输入一个单词cin.getline(s2,79,n);/输入一行字符串cout s3;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号