C++语言程序设计 C++语言程序设计 第六章 指针和引用 第十一组 C++语言程序设计.

Slides:



Advertisements
Similar presentations
C++语言程序设计教程 第5章 构造数据类型 第6章 C++程序的结构.
Advertisements

第 2 章 初探 C++.
6.4 字符串与指针 1. 用字符数组存放一个字符串.
高级语言程序设计 C++程序设计教程(下) 2006年春季学期 与一些教材的区别 偏重理论,不去讨论某个系统的具体使用方法,但会涉及实现技术
第4章 数组 数组是由一定数目的同类元素顺序排列而成的结构类型数据 一个数组在内存占有一片连续的存储区域 数组名是存储空间的首地址
第八章 类和对象.
C++程序设计 王希 图书馆三楼办公室.
Using C++ The Weird Way Something about c++11 & OOP tricks
Chapter 1 用VC++撰寫程式 Text book: Ivor Horton.
struct 可以在同一個名稱下擁有多種資料型態。使用struct能讓資料的存取和處理更為靈活。
資料大樓 --談指標與陣列 綠園.
函數(一) 自訂函數、遞迴函數 綠園.
cn/~dongeliu/dsa.html 刘 东 信息学院6系 中国科学技术大学
C++语言程序设计 C++语言程序设计 第六章 指针和引用 第十一组 C++语言程序设计.
Scope & Lifetime 前言 Local Scope Global Functions & Objects
C++语言程序设计 C++语言程序设计 第六章 指针和引用 第十一组 C++语言程序设计.
第一章 程序的基本结构. 第一章 程序的基本结构 教材及授课结构 本章目标 基本内容 扩展阅读 上机指导 应用举例 习题.
C++语言程序设计 C++语言程序设计 第四章 数组及自定义数据类型 C++语言程序设计.
Object-Oriented Programming in C++ 第一章 C++的初步知识
2 C++ 的基本語法和使用環境 親自撰寫和執行程式是學好程式語言的不二法門。本章藉由兩個簡單的程式,介紹C++ 程式的基本結構和開發環境,讓初學者能逐漸建立使用C++ 的信心。
第一章 C++编程简介 丘志杰 电子科技大学 计算机学院 软件学院.
计算机网络讲义 第5章 批量数据处理—数组 一维数组 排序和查找 二维数组 字符串.
第3讲 C++程序控制结构 3.1 顺序结构 3.2 分支结构 3.3 循环结构 3.4 转向控制 3.5 综合案例分析.
C++程序设计 string(字符串类) vector(容器类).
C++语言程序设计 C++语言程序设计 第六章 指针和引用 第十一组 C++语言程序设计.
程序的三种基本结构 if条件分支语句 switch多路开关语句 循环语句 循环嵌套 break,continue和goto语句
C++语言程序设计 第十一章 流类库与输入/输出.
C++语言程序设计 C++语言程序设计 第六章 指针和引用 第十一组 C++语言程序设计.
切換Dev c++顯示語言 工具->環境選項(V)->介面->language (Chinese TW)
C++大学基础教程 第6章 指针和引用 北京科技大学 信息基础科学系.
C++ 程式設計 基礎篇 張啟中 Chang Chi-Chung.
六、函数 教学目标: 函数的概念、定义、调用和返回 带自定义函数的程序设计 递推算法 递归思想及算法实现 函数的参数传递方式 C语言程序设计.
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
C++大学基础教程 第11章 多态性 北京科技大学 信息基础科学系 2019/4/8 北京科技大学.
Name1..hour //加班時數 name2..hour //請假時數
第二章 基本数据类型及运算 C数据类型概述 基本数据类型 运算符和表达式 混合运算与类型转换 数据的输入输出 顺序程序设计举例.
Chapter 2 & Chapter 3.
C++语言程序设计 C++语言程序设计 第五章 函数 第十一组 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第六章 指针和引用 第十一组 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第三章 控制语句 第十一组 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
指针 几个概念:  指针也是一种数据类型,具有指针类型的变量,称为指针变量。
C++语言程序设计 C++语言程序设计 第六章 指针和引用 第十一组 C++语言程序设计.
物件導向程式設計 CH2.
第11章 從C到C++語言 11-1 C++語言的基礎 11-2 C++語言的資料型態與運算子 11-3 C++語言的輸出與輸入
第三章 数据抽象.
C++语言程序设计 C++语言程序设计 第八章 继承 C++语言程序设计.
C++程式設計入門 變數與運算子 作者:黃建庭.
C++语言程序设计 C++语言程序设计 第四章 数组及自定义数据类型 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第八章 继承 C++语言程序设计.
C/C++基礎程式設計班 C++: 物件的使用、參考、重載函式 講師:林業峻 CSIE, NTU 3/28, 2015.
#include <iostream.h>
C++语言程序设计 C++语言程序设计 第八章 继承 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第二章 基本数据类型与表达式 第十一组 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第十一章 异常处理 C++语言程序设计.
C++语言程序设计 第十章 C++标准模板库 成都信息工程学院计算机系.
C++语言程序设计 C++语言程序设计 第十章 多态 第十一组 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
《数据结构与算法设计》第一部分 面向对象的C++程序设计基础.
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第十章 多态 第十一组 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第十一章 异常处理 C++语言程序设计.
變數與資料型態  綠園.
資料!你家住哪裏? --談指標 綠園.
資料結構與C++程式設計進階 C++與資料結構 講師:林業峻 CSIE, NTU 7/ 5, 2010.
C++语言程序设计 C++语言程序设计 第二章 基本数据类型与表达式 第十一组 C++语言程序设计.
Presentation transcript:

C++语言程序设计 C++语言程序设计 第六章 指针和引用 第十一组 C++语言程序设计

“ 目录 C++语言程序设计 基本知识 编程技能 刨根问底 指针与函数 指针与字符串 指针 void类型指针 指针与数组 动态内存 指针与结构体 指针 动态内存 引用 void类型指针 内存泄漏与悬挂指针 C++语言程序设计

刨根问底 a C++语言程序设计

(I)void 类型指针 void类型指针 指针除了可以指向各种类型的数据外,还可以定义为“无类型” C++语言程序设计

(I)void 类型指针 void类型指针使用的特点 void类型指针具有很好的通用性 任何其他类型的指针都可以赋值给void指针 C++语言程序设计

(I)void 类型指针 例:使用memcpy()函数复制数组 函数原型:void *memcpy( void *dest, const void *src, size_t count ); //使用memcpy()函数复制数组 #include <iostream> #include <cstring> using namespace std; void main() { char src[10]="012345678"; char dest[10]; //复制字符数组 char* pc=(char*)memcpy(dest,src,10); cout <<pc <<endl; int s1[3]={1,2,3}; int d1[3]; //复制整型数组 int *pi=(int*)memcpy(d1,s1,12); cout<<*pi<<“ ”<<*(pi+1)<<“ ”<<*(pi+2)<<endl; } C++语言程序设计

void类型指针一个具体的应用:显示字符指针的内容 (I)void 类型指针 void类型指针一个具体的应用:显示字符指针的内容 用cout输出字符指针时,是输出它所指向的字符串 用cout语句输出字符指针的值时,需将字符指针强制转换为void指针 例如: char *pch="Hello C++"; cout<<pch<<endl; cout<<(void*)pch<<endl; 显示为: Hello C++ 0x0042501C C++语言程序设计

(II)内存泄漏和指针悬挂 内存泄漏 是指动态申请的内存空间没有正常释放,但是也不能继续使用的情况 例如: char *pch1=0; pch1 = new char('A'); char *pch2 = new char; pch1=pch2; 最常出现的情况是申请了动态内存后,没有正常地用delete来释放,导致内存泄漏 void func(){ int *piarray=new int[100];} 内存泄漏造成内存容量不够时,程序运行崩溃 C++语言程序设计

(II)内存泄漏和指针悬挂 指针悬挂 是让指针指向一个已经释放的空间 例如: char *pch1, *pch2; pch1 = new char; pch2 = pch1; *pch2 = 'B'; delete pch1; pch1=NULL; pch2指向已经释放的内存空间,形成指针悬挂,使用该指针进行操作时,会出现运行时错误 例如:delete pch2; 使用动态内存时要特别小心,应避免出现内存泄漏和指针悬挂的问题 C++语言程序设计