《C语言程序设计》课程教学课件(PPT讲稿)第9章 指针

C语言程序设计第9章指针
C语言程序设计 第9章 指针

第9章:指针学习的意义指针是C语言中广泛使用的一种数据类型。运用指针编程是C语言最主要的风格之一C程序设计中使用指针可以①使程序简洁、紧、高效②有效地表示复杂的数据结构③动态分配内存得到多于一个的函数返回值4能象汇编语言一样处理内存地址,从而编出精练而高效的程序5学习指针是学习C语言中最重要的一环能否正确理解和使用指针是我们是否掌握C语言的一个标志
第9章:指 针 ◆学习的意义 指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要 的风格之一。 C程序设计中使用指针可以: ① 使程序简洁、紧凑、高效 ② 有效地表示复杂的数据结构 ③ 动态分配内存 ④ 得到多于一个的函数返回值 ⑤ 能象汇编语言一样处理内存地址,从而编出精练而高效的程序 学习指针是学习C语言中最重要的一环, 能否正确理解和使用指针是我们是否掌握C语 言的一个标志

·本章重点1指针的概念2指向变量的指针变量的应用2指向数组的指针变量的应用字符串与指针5指针变量作函数的函数
⚫ 本章重点 1 指针的概念 2 指向变量的指针变量的应用 3 指向数组的指针变量的应用 4 字符串与指针 5 指针变量作函数的函数

主要内容9.1地址和指针的基本概念9.2变量的指针和指向变量的指针变量9.3数组的指针和指向数组的指针变量9.4字符串的指针和指向字符串的指针变量9.7指针数组和指向指针的指针变量9.8指针的数据类型和指针运算
主要内容 9.1 地址和指针的基本概念 9.2 变量的指针和指向变量的指针变量 9.3 数组的指针和指向数组的指针变量 9.4 字符串的指针和指向字符串的指针变量 9.7 指针数组和指向指针的指针变量 9.8 指针的数据类型和指针运算

第9章 指针地址和指针的概念
第9章 指针 地址和指针的概念

9.1地址和指针的概念"K'011ACpP"k"-011A地址与指针设有字符变量c,其内容为'K'(ASCII码为十进制数75),C占用了011A号单元(地址用十六进数表示)。设有指针变量p,内容为011A,即指针变量p的内存空间保存的是变量c的地址。这种情况称为P指向变量c,或说P是指向变量c的指针变量我们约定:“指针”是指地址,是常量,“指针变量”是指取值为地址的变量。6
6 9.1 地址和指针的概念 011A p c ‘K’ 011A 地址与指针 设有字符变量c,其内容为’K’(ASCII码为十进制数 75),c 占用了011A号单元(地址用十六进数表示)。 设有指针变量p,内容为011A,即指针变量p的内存空间保存 的是变量c的地址。 这种情况称为P指向变量c,或说P是指向变量c的指针变量。 我们约定:“指针”是指地址,是常量,“指针变量”是指取 值为地址的变量

第9章 指针指针变量
第9章 指针 指针变量

9.2.1 定义一个指针变量对指针变量的定义包括三个内容:p1int(1)指针标识说明,*即定义变量为一个指针变p2量;int(2)指针变量名;p3(3)变量值(指针)所指向的变量的数据类型floatp4其一般形式为:char类型说明符*变量名;例如:int*p1;指针变量也是变量再如:在内存中也要占用一定的内存int *p2;//p2是指向整型变量的指针变量单元但所有类型的指针变量都float*p3//p3是指向浮点型变量的指针变量占用同样大小的内存单元char*p4;//p4是指向字符型变量的指针变量如:VC++6.0中为4个字节
对指针变量的定义包括三个内容: (1)指针标识说明,* 即定义变量为一个指针变 量; (2)指针变量名; (3)变量值(指针)所指向的变量的数据类型。 其一般形式为: 类型说明符 *变量名; 例如: int *p1; 再如: int *p2; //p2是指向整型变量的指针变量 float *p3; //p3是指向浮点型变量的指针变量 char *p4; //p4是指向字符型变量的指针变量 9.2.1 定义一个指针变量 p1 p2 p3 p4 指针变量也是变量 在内存中也要占用一定的内存 单元但所有类型的指针变量都 占用同样大小的内存单元 如:VC++6.0中为4个字节 char int int float

变量地址赋给指针变量的方法:设有指向整型变量的指针变量p,如要把整型变量a的地址赋予p可以有以下两种方式:1.指针变量初始化的方法int a=3;int *p=&a;P2.赋值语句的方法int a=3;int *p;p=&a;不允许把一个数赋予指针变量,故下面的赋值是错误的:int *p;p=1000;/*错误,因为用户不知道内存地址为1000内是什么内容,因此对其操作危险*/9
9 变量地址赋给指针变量的方法: 设有指向整型变量的指针变量p,如要把整型变量a 的地址赋予p可以有以下两种方式: 1.指针变量初始化的方法 int a=3; int *p=&a; 2.赋值语句的方法 int a=3; int *p; p=&a; 不允许把一个数赋予指针变量,故下面的赋值是错误的: int *p; p=1000; /*错误,因为用户不知道内存地址为1000内是什 么内容,因此对其操作危险*/

指针变量:“先定义,赋值、然后使用"注意:1.未经赋值的指针变量不能使用,可能会造成系统混乱,甚至死机。2.指针变量的赋值只能赋予地址,决不能赋予任何其它数据,否则将引起错误两个有关的运算符:&:取地址运算符*:指针运算符(或称“间接访问”运算符)
10 9.2.3 指针变量的引用 指针变量:“先定义,赋值、然后使用” 注意: 1. 未经赋值的指针变量不能使用,可能会造成系统混乱,甚 至死机。 2. 指针变量的赋值只能赋予地址,决不能赋予任何其它数据, 否则将引起错误。 两个有关的运算符: & : 取地址运算符 * : 指针运算符(或称“间接访问” 运算符)
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《C语言程序设计》课程教学课件(PPT讲稿)第8章 数组.pptx
- 《C语言程序设计》课程教学课件(PPT讲稿)第6章 函数.pptx
- 《C语言程序设计》课程教学课件(PPT讲稿)第5章 循环结构(5.1 概述 5.2 goto 5.3 while语句 5.4 do-while语句 5.5 for语句).pptx
- 《C语言程序设计》课程教学课件(PPT讲稿)第4章 选择结构.pptx
- 《C语言程序设计》课程教学课件(PPT讲稿)第2章 数据类型、运算符与表达式.pptx
- 《C语言程序设计》课程教学课件(PPT讲稿)第1章 C语言概述.pptx
- 《网络技术》课程教学课件(讲稿)第3章 运输层.pdf
- 《网络技术》课程教学课件(讲稿)第6章 链路层和局域网.pdf
- 《网络技术》课程教学课件(讲稿)第4-5章 网络层.pdf
- 《网络技术》课程教学课件(讲稿)第7章 无线网络和移动网络.pdf
- 《网络技术》课程教学课件(讲稿)第2章应用层.pdf
- 编程所需数据及类型(PPT课件)Python数据类型.pptx
- 常州大学:《嵌入式系统原理及应用》课程教学课件(讲稿)嵌入式系统概述.pdf
- 常州大学:《编译原理》课程教学课件(讲稿)绪论——什么是编译.pdf
- 常州大学:《计算机网络》课程教学课件(讲稿)概述.pdf
- 常州大学:《面向对象程序设计(Java)》课程教学课件(讲稿)概述.pdf
- 江苏科技大学:《微机原理与接口技术》课程教学资源(PPT课件)Chapter0_绪论.pptx
- 江苏科技大学:《微机原理与接口技术》课程教学资源(PPT课件)Chapter10_2存储器系统.pptx
- 江苏科技大学:《微机原理与接口技术》课程教学资源(PPT课件)Chapter10_1存储器接口.pptx
- 江苏科技大学:《微机原理与接口技术》课程教学资源(PPT课件)Chapter10_0存储器组织.pptx
- 北京理工大学:《Python语言程序设计》课程电子教案(PPT课件)第1章 程序设计基本方法.pptx
- 北京理工大学:《Python语言程序设计》课程电子教案(PPT课件)第2章 Python程序实例解析.pptx
- 北京理工大学:《Python语言程序设计》课程电子教案(PPT课件)第3章 基本数据类型.pptx
- 北京理工大学:《Python语言程序设计》课程电子教案(PPT课件)第4章 程序的控制结构.pptx
- 北京理工大学:《Python语言程序设计》课程电子教案(PPT课件)第5章 函数和代码的复用.pptx
- 北京理工大学:《Python语言程序设计》课程电子教案(PPT课件)第6章 组合数据类型.pptx
- 北京理工大学:《Python语言程序设计》课程电子教案(PPT课件)第7章 文件和数据格式化.pptx
- 《软件工程 Software Engineering》课程教学课件(PPT讲稿)第一章 概论.pptx
- 《软件工程 Software Engineering》课程教学课件(PPT讲稿)第二章 软件工程过程模型.pptx
- 《软件工程 Software Engineering》课程教学课件(PPT讲稿)第三章 传统软件工程.pptx
- 《软件工程 Software Engineering》课程教学课件(PPT讲稿)第四章 面向对象基础.pptx
- 《软件工程 Software Engineering》课程教学课件(PPT讲稿)第五章 可行性分析及制定项目计划.pptx
- 《软件工程 Software Engineering》课程教学课件(PPT讲稿)第六章 面向对象分析.pptx
- 《软件工程 Software Engineering》课程教学课件(PPT讲稿)第七章 面向对象设计.pptx
- 《软件工程 Software Engineering》课程教学课件(PPT讲稿)第八章 软件编码与测试.pptx
- 《软件工程 Software Engineering》课程教学课件(PPT讲稿)第九章 软件维护.pptx
- 《C语言程序设计》课程教学课件(PPT讲稿)顺序程序设计.pptx
- 仲恺农业工程学院:《物联网技术及工程项目案例》研究生课程教学大纲.pdf
- 仲恺农业工程学院:《区域链技术与实践》研究生课程教学大纲.pdf
- 仲恺农业工程学院:《矩阵理论与方法》研究生课程教学大纲.pdf
