全文预览

面向对象程度设计基础(第2版)-李师贤-06 第六章 复合数据类型

上传者:随心@流浪 |  格式:ppt  |  页数:49 |  大小:164KB

文档介绍
5.50;? float* salary_ptr = &salary;?那么以下赋值运算都是非法的:Аage_ptr = &salary; // 出错,不能将(float*)类型赋值给(int*)类型Аage_ptr = salary_ptr;// 出错,不能将(float*)类型赋值给(int*)类型Аsalary_ptr = &age;?// 出错,不能将(int*)类型赋值给(float*)类型Аsalary_ptr = age_ptr;// 出错,不能将(int*)类型赋值给(float*)类型Р说明:Р空指针NULL?其ASCII码为0?age_ptr = NULL ;?指针使用前需初始化,使其指向一个明确的对象?例:?int *p ;? *p = 1; 错误,p没有指向一个明确的对象,则p中存放的是一个不确定的地址,把1写到一个不确定的地方去了Р三、指针运算Р指针定义中的基类型决定了在指针运算中每次操作的字节数?指针只能做+、-这两种算术运算,而且只能加减整数:假设有一指针p,n是一个整数Аp±n后得到的地址:p原来指向的地址±? n*sizeof(p的基类型)Р例:?int a = 10; // 设a的地址是2000H ?int *p1 = &a ; /* p1存放的地址是2000H*/ p1++; /*地址变为2002H*/?char ch = ‘A’; // 设ch的地址是2010H?char *p2 = &ch ; /* p2存放的地址是2010H*/ p2++; /*地址变为2011H*/?float f = 10.5; // 设f的地址是2020H?float *p3 = &f ; /* p3存放的地址是2020H*/ p3++; /*地址变为2024H*/Р四、引用Р引用:给对象取一个别名,主要用于三个用途?独立引用?作为参数传递?作为函数返回类型

收藏

分享

举报
下载此文档