指针(一)
实验数据
终于走到了指针,走到了翘首期盼的指针。指针是 C 语言中一个紧张的概念,也是 C 语言最精美的部门。精确而机动的运用它,能够是法式简单、紧凑、高效,每一个学习 C 语言的小伙伴都应该深入的学习和控制指针。
知识点
指针变量
指针变量作为函数参数
通过指针引用数组
通过指针对数组元素进行操纵
用数组名做函数参数
为了认识指针的概念,我们先来看一个小故事。
话说福尔摩斯派华生到威尔爵士栖身的城堡去取回一个紧张的内容。白日,在书房里,威尔爵士当着福尔摩斯和华生的面亲自将内容锁在了书柜中编号为 3010 的抽屉,用手电筒一照,只见里面有一张纸条,上面赫然写着 6 个大字:地址 2000。华生目前一亮,疾驰的找到了编号为 2000 的抽屉,取出了紧张的内容 123,完成了任务。
能够用下图描述几个内容之间的关系。
阐明
由此可见,指针变量是一种特殊的变量,它存放的不是内容,而是另一种变量的地址。这个存放内容的变量被称为指针变量所指向的目标变量。由于通过指针变量中的地址能够直接访问它指向的目标变量,常把指针变量简称为指针。
指针变量是一种存放地址的特殊变量,其特殊性显示在类型和值上。从变量角度讲,指针变量也具有变量的要素:
指针变量的命名,与一般变量命名雷同,遵循 C 语言的命名规则。
指针变量的类型,是指针变量所指向的变量的类型,而不是自身的类型。
在一般的情况中,指针变量在内存中占用 8 个字节。
指针变量
先阐发一个指针案例,通过指针变量访问整数类型。建立 10-1.c 文件并输入以下代码:
法式运行效果如下:
注意
如果指针打印出为负数,则必要将打印的类型 调整为 才能够正常输出。调整成 去匹配指针型最佳。
法式阐发
在开首处界说了两个指针变量 和 。但此时他们并未指向任何一个变量,只是供应两个指针变量,划定他们能够指向整形变量,至于指向哪一个整形变量,要在法式语句中指定。
法式第 6,7 两行的作用便是使 指向 a, 指向 b,此时 的值为 &a(即 a 的地址), 的值为 &b。
第 10 行输出 和 的值,此中的 “*” 透露“指向”。
此中 透露指针变量 所指向的变量,也便是变量 a。 透露指针变量 所指向的变量,也便是变量 b。从运行效果来看他们也便是 100 和 10。
法式中有两处显现 和 ,然则两者寄义分歧。
法式第 4 行的 和 透露界说两个指针变量 和 。它们前面的 “*” 只是透露该变量是指针变量。法式最后 10 行中的 函数中的 和 则透露指针变量 和 所指向的变量。
界说指针变量
在 10-1.c 中我们看到了界说指针变量,界说指针变量的一般形式为:
类型名 * 指针变量名
如:
上面界说的基类型为 int 的指针变量 和 只能用来指向整型的变量。
注意
我们在这里再次夸大一遍,在界说指针变量时要注意,指针变量前面的 “*” 透露该变量的类型为指针型变量。指针变量名是 和 ,而不是 和 。这是和界说整型或实型变量分歧的。上面法式 6 行和 7 行是不克写成 和 的。因为 a 的地址是赋给指针变量 ,而不是赋值给 (即变量 a)。
本文地址:http://www.reviewcode.cn/bianchengyuyan/225525.html 转载请注明出处!