`
bsr1983
  • 浏览: 1104963 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

第5章 指针与数组

阅读更多
指针是一种保存变量地址的变量。
5.1 指针与地址
指针是能够存放一个地址的一组存储单元(通常是两个或4个字节)。
一元运算符&可用于取一个对象的地址,因此,下列语句:
p=&c;
将把c的地址赋值给变量p,我们称p为“指向”c的指针。地址运算符&只能应用于内存中的对象,即变量与数组元素。它不能作用于 表达式、常量或register类型的变量。
一元运算符*是间接寻址或间接引用运算符。当它作用于指针时,将访问指针所指向的对象。
指针只能指向某种特定类型的对象,也就是说,每个指针都必须指向某种特定的数据类型。(一个例外的情况是指向void类型的指针可以存放指向任何类型的指针,但它不能间接引用其自身)。
一元运算符*和&的优先级比算术运算符的优先级高,因此,赋值语句
y=*ip+1;
将把*ip所指向的对象的值取出并加1,然后再将结果赋值给y。
(*ip)++中的括号是必须的,否则,该表达式将对ip进行加1运算,而不是对ip指向的对象进行加1运算,这是因为,类似于*和++这样的一元运算符遵循从右至左的结合顺序。
5.2 指针与函数参数
由于C语言是以传值的方式将参数值传递给被调用函数。因此,被调用函数不能直接修改主调函数中变量的值。
指针参数使得被调用函数能够访问和修改主调函数中对象的值。
5.3 指针与数组
数组名和指针之间有一个不同之处,指针是一个变量。
当把数组名传递给一个函数时,实际上传递的是该数组的第一个元素的地址。在被调用的函数中,该参数是一个局部变量,因此,数组名参数必须是一个指针,也就是一个存储地址值的变量。
5.4 地址算术运算
如果p是一个指向数组中某个元素的指针,那么p++将对p进行自增运算并指向下一个元素,而p+=i将对p进行加i的增量运算,使其指向指针p当前所指向的元素之后的第i个元素。这类运算是指针或地址算术运算中最简单的形式。

分享到:
评论

相关推荐

    第9章 指针和数组-5指针数组及其应用 - 用指针数组表示命令行参数1

    第9章 指针和数组——指针数组的应用:命令行参数C语言程序设计第9章 指针和数组命令行参数什么是命令行参数(Command Line Arguments)?GU

    C++第4章_数组与指针(C++课件,中南大学)

    1 数组及其简单应用 2 指针及其简单应用 3 指针与数组 4 字符串 5 指针数组与命令行参数 6 引用

    C语言程序设计-指针与数组.pptx

    指针与数组 2 指针与数组 一个变量有一个地址,一个数组包含若干元素,每个数组元素都在内存中占用存储单元,它们都有相应的地址。所谓数组的指针就是指数组的起始地址(首地址),数组元素的指针则是数组元素的地址...

    浅析C语言中指针与数组[借鉴].pdf

    浅析C语言中指针与数组 本文旨在浅析C语言中指针与数组的概念、特征和应用。指针是C语言中的精华,正确灵活的应用指针,能动态的分配内存,有效的表示复杂的数据结构,方便的使用数组。指针极大丰富了C语言的功能。...

    c语言程序设计教学资料第11章---指针与数组.ppt

    C语言程序设计教学资料第11章---指针与数组 本章节主要介绍了C语言中的指针和数组的关系,包括指针和一维数组、指针和二维数组的概念和使用方法。 一、指针和一维数组 在C语言中,数组元素可以被看作变量,每个...

    C++指针数组和数组指针的详细使用说明(含完整示例)

    指针数组: 指针数组是一个数组,其中的每个元素都是一个指针。指针数组可以用来存储多个指向不同对象的指针。定义指针数组的方式是在类型标识符后面加上一个星号()和一个数组大小的方括号[]。例如,int ptr_array[5...

    第5讲 指针高级之指针数组-将若干字符串按字母顺序(由小到大)输出

    将若干字符串按字母顺序(由小到大)输出。 解题思路:定义一个指针数组,用各字符串对它进行初始化,然后排序,但不是移动字符串,而是改变指针数组的各元素的指向。 文件里面代码实现。

    C 程序设计课件:第五章 数组与指针.ppt

    C 程序设计课件:第五章 数组与指针.ppt

    C程序设计语言_第2版(带书签目录)

    第五章 指针与数组 5.1 指针与地址 5.2 指针与函数参数 5.3 指针与数组 5.4 地址算术运算 5.5 字符指针与函数 5.6 指针数组以及指向指针的指针 5.7 多维数组 5.8 指针数组的初始化 5.9 指针与多维数组 ...

    C++ 程序设计课件:第五章 数组与指针.ppt

    C++ 程序设计课件:第五章 数组与指针.ppt

    第6章数组指针与字符串.

    6-3 用一条语句声明一个有五个元素的整型数组,并依次赋予1~5的初值。 解: int a[5] = { 1, 2, 3, 4, 5 }; 或:int a[] = { 1, 2, 3, 4, 5 }; 6-4 已知有一个数组名叫oneArray,用一条语句求出其元素的...

    计算机与程序设计基础C :第5章 数组与指针.pptx

    计算机与程序设计基础C :第5章 数组与指针.pptx

    计算机与程序设计基础C++:第5章 数组与指针.pptx

    计算机与程序设计基础C++:第5章 数组与指针.pptx

    C语言课件:9-2指针与一维数组.ppt

    C语言指针与一维数组 本节课主要介绍了C语言中的指针和一维数组的概念,探讨了指针在访问一维数组中的应用。通过实例代码和详细解释,帮助读者深入了解指针和一维数组的关系,掌握指针运算规则和数组名的特点。 一...

    C语言程序设计课件第11章指针和数组.ppt

    本资源总结了C语言程序设计课件第11章指针和数组的主要内容,涵盖了指针和一维数组、指针和二维数组、向函数传递数组、指针数组、命令行参数、动态数组和动态内存分配等知识点。 1. 指针和一维数组间的关系 在...

    《C程序设计语言》(非扫描.新版)

    C程序设计语言 第1章 导言 1.1 入门 1.2 变量与算术表态式 1.3 for语句 1.4 符号常量 ...第5章 指针与数组 第6章 结构 第7章 输入与输出 第8章 UNIX系统接口 附录A 参考手册 附录B 标准库 附录C 变更小结

    C程序设计语言

    经典C语言编程书籍,高清,非扫描版。 第1章 导言 1.1 入门 1.2 变量与算术表态式 ...第5章 指针与数组 第6章 结构 第7章 输入与输出 第8章 UNIX系统接口 附录A 参考手册 附录B 标准库 附录C 变更小结

    指针数组和数组指针C.docx

    指针数组和数组指针。 int* intPtrArray[5]; // 创建一个包含 5 个整数指针的指针数组 int a = 10, b = 20, c = 30, d = 40, e = 50; intPtrArray[0] = &a; // 第一个元素指向整数变量... // 第五个元素指向整数变量 e

    C程序设计语言第2版新版[PDF]

    本书是由C语言的设计者Brian W. Kernighan和Dennis M. Ritchie编写的一部介绍标准C语言及其程序...第5章 指针与数组 第6章 结构 第7章 输入与输出 第8章 UNIX系统接口 附录A 参考手册 附录B 标准库 附录C 变更小结 索引

Global site tag (gtag.js) - Google Analytics