c语言程序设计第六章指针,c语言程序设计教程第六章指针.doc
发布日期:2021-06-24 10:12:39 浏览次数:2 分类:技术文章

本文共 1945 字,大约阅读时间需要 6 分钟。

c语言程序设计教程第六章指针

c语言程序设计教程第六章指针

本文由瓦斯202贡献

ppt文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。

第 6章 指 针

●指针基础 ●指针与数组 ●指针与函数

6.1 指针基础

6.1.1 指针就是地址 1. 程序实体的内存地址 一个程序一经编译,在其执行过程中, 一个程序一经编译,在其执行过程中, 就会为变量、数组以及函数分配存储空间。 就会为变量、数组以及函数分配存储空间。 这些变量、数组、函数都称为程序实体, 这些变量、数组、函数都称为程序实体, 也具有某一种数据类型。 也具有某一种数据类型。这些被分配了内 存空间的程序实体,都具有自己的内存地 存空间的程序实体, 址。

#include int main(void) { int i1,i2; float f1,f2; double d1,d2; printf("数据大小:int,%d;float,%d;double,%d\n", sizeof(i1),sizeof(f1),sizeof(d1)); /* 输出类型宽度 */ printf("%ld,%ld\n",&i1,&i2);/* 输出变量地址 */ printf("%ld,%ld\n",&f1,&f2); printf("%ld,%ld\n",&d1,&d2); return 0; }

解释: (1)变量存储空间的分类顺序:先声明的后分 配;撤销的顺序与之相反:先建立的后撤销。这种 机制就称为栈机制,好像往一个只能允许进出一个 盘子的桶里放盘子,先放进的后拿出。在C语言程序 中,局部变量就是被分配在栈区的,并且是以高端 为栈底建立的。所以后建的变量的地址小。 (2)每个变量只有一个地址,但占用的空间不 同。空间的大小因类型而异。同时,数据的存储方 式也不同,如实型数据采用浮点存储,而整型数采 用定点存储。

2. 指针的概念 从根本上说,目标程序是按照地址访 问这些程序实体的。C语言不仅提供了用变 量名访问内存数据的能力,还提供了直接 使用内存地址访问内存数据的能力。这个 内存地址就称为指针。它好像一个指路标 指向要访问的内存数据。

6.1.2 指针变量及其定义

1. 指针变量的概念 变量可以用来存放数值(如整数、实数等),也 可以用来存放地址(另一个变量的地址),这种专 门用于存储指针(地址)的变量就称为指针变量。 2. 指针变量的定义 在定义指针变量时,需要用指针声明符*表示 此变量不是一般的变量,而是用来存放其他变量 地址的指针变量。由于每一个变量都是属于一个 特定类型的,因此在定义指针变量时,需要声明 该变量的类型,以便能通过指针能正确访问特定 类型的数据。 定义一个指针的语法格式为: 基类型标识符 * 指针变量名;

6.1.2 指针变量及其定义

int * pi1,*pi2; double *pd1,*pd2; 说明: (1)“基类型”,就是指针要指向的数据的类型。 (2)定义指针变量时,在指针变量名前加符号 “*”。“*”称为指针声明符,用于说明它后面 的名字是一个指针变量名。例如语句: int i1,i2,*pi1,*pi2; 定义了两个数据变量i1和i2,还定义了两个指 向int类型的指针pi1和pi2。

3. 指针变量的初始化和赋值

和其他变量一样,指针变量也可以初始化。可以用变 量的地址对指针变量进行初始化,但必须注意:该变量的 类型必须和指针变量的基类型相同。也可以用一个指针变 量的值给另一个指针变量赋值,但它们应该具有相同的基 类型。例如: int i1,i2,i3; int *pi1=&i1,*pi2=&i2; pi1=&i3; pi2=pi1; 注意,不要将一个变量的值赋给指向它的指针变量。 例如 pi1=i1;或pi2=i1; 都是错误的。应该是将变量的地址赋给指向它的指针 变量。如: pi1=&i1;或pi2=&i1;

6.1.3 指针变量的引用

1. 引用指针变量 当一个指针变量被初始化或被赋值后,它就 指向一个特定的变量。这时,就可以使用指针访 问它所指向的内存空间。在C语言中使用指针访 问它所指向的内存空间的方法是在指针变量名前 加一个“*”号。例如 int i,*pi; pi = &i; *pi=5; 此处的“*”是“指针运算符”。又称为“间 接访问运算符”,它作用于指针变量。*pi表示指 针变量pi所指向的存储空间,即变量i。*pi相当于 变量i。

2. 使用指针变量需要注意的问题 (1)使用指针,首先应当区分指针变量与它所指向 的存储单元之间的不同。 #include int main(void) {

转载地址:https://blog.csdn.net/weixin_32042443/article/details/117156222 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:c语言程序设计教程谭浩强张基温,C语言程序设计教程(第2版)
下一篇:手写c语言编译器,【图片】17年1.9开启我的C语言学习之路—小白篇【c语言吧】_百度贴吧...

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月20日 09时46分37秒