指针简介(nxpowerlite)

指针简介(nxpowerlite)

ID:40265743

大小:335.51 KB

页数:24页

时间:2019-07-29

指针简介(nxpowerlite)_第1页
指针简介(nxpowerlite)_第2页
指针简介(nxpowerlite)_第3页
指针简介(nxpowerlite)_第4页
指针简介(nxpowerlite)_第5页
资源描述:

《指针简介(nxpowerlite)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、网络游戏开发语言基础-C++程序设计专业教程理论讲解部分Ver3.1第021课指针概述:指针的概念,定义与赋值指针变量的引用数组指针函数指针重点:难点:函数指针指针的概念,定义与使用数组指针第021课指针7指针指针是C语言中广泛使用的一种数据类型。运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构;能很方便地使用数组和字符串;并能象汇编语言一样处理内存地址,从而编出精练而高效的程序。指针极大地丰富了C语言的功能。学习指针是学习C语言中最重要的一环,能否正确理解和使用指针是我们是否掌握C语言的一个标志。7指针第021课指针在计算机中,所有的数据都是存放

2、在存储器中的。一般把存储器中的一个字节称为一个内存单元,不同的数据类型所占用的内存单元数不等,如整型量占2个单元,字符量占1个单元等。为了正确地访问这些内存单元,必须为每个内存单元编上号。根据一个内存单元的编号即可准确地找到该内存单元。内存单元的编号就叫做地址。既然根据内存单元的编号或地址就可以找到所需的内存单元,所以通常也把这个地址称为指针。7.1指针的概念7指针第021课指针7.2指针变量的定义与赋值7.2.1指针变量的定义指针变量的一般形式为:类型说明符*变量名; 其中,*表示这是一个指针变量,变量名即为定义的指针变量名,类型说明符表示本指针变量所指向的变量的数据

3、类型。例如:int*p1;指针类型说明,即定义变量为一个指针变量;指针变量名;变量值(指针)所指向的变量的数据类型。对指针变量的定义包括三个内容:7指针第021课指针给指针变量赋值时要注意的问题:未经赋值的指针变量不能使用,否则将造成系统混乱,甚至死机。指针变量的赋值只能赋予地址,决不能赋予任何其它数据,否则将引起错误。在C语言中,变量的地址是由编译系统分配的,对用户完全透明,用户不知道变量的具体地址。C语言中提供了地址运算符&来表示变量的地址。7.2.2指针变量的赋值第021课指针7指针指针赋值的两种方式:1.指针变量初始化的方法inta; int*p=&a;2.赋值

4、语句的方法inta; int*p; p=&a;7指针第021课指针取地址运算符&取内容运算符*7.3.1指针运算符7.3指针变量的引用#include"stdio.h" voidmain(){inta=5,*p=&a; printf("%d",*p);}p=&a表示指针变量p取得了整型变量a的地址。*p表示输出变量a的值。7指针第021课指针指针变量的赋值运算有以下几种形式:指针变量初始化赋值,前面已作介绍。把一个变量的地址赋予指向相同数据类型的指针变量。把一个指针变量的值赋予指向相同类型变量的另一个指针变量。把数组的首地址赋予指向数组的指针变量。7.3.2指针变量的运

5、算inta[5],*pa; pa=a;也可写为:pa=&a[0];7指针第021课指针5.把字符串的首地址赋予指向字符类型的指针变量。char*pc;pc="clanguage";或用初始化赋值的方法写为:char*pc="CLanguage";6.把函数的入口地址赋予指向函数的指针变量。int(*pf)();pf=f;/*f为函数名*/7指针第021课指针加减算术运算指针变量加或减一个整数n的意义是把指针指向的当前位置(指向某数组元素)向前或向后移动n个位置。如指针变量加1,即向后移动1个位置表示指针变量指向下一个数据元素的首地址。而不是在原地址基础上加1。inta[

6、5],*pa;pa=a;/*pa指向数组a,也是指向a[0]*/pa=pa+2;/*pa指向a[2],即pa的值为&pa[2]*/另外,指针变量还可以与0比较。设p为指针变量,则p==0结果为真表明p是空指针,它不指向任何变量。7指针第021课指针7.4数组指针变量7.4.1数组指针变量的定义指向数组的指针变量称为数组指针变量。一个数组是由连续的一块内存单元组成的。数组名就是这块连续内存单元的首地址。一个数组也是由各个数组元素(下标变量)组成的。每个数组元素按其类型不同占有几个连续的内存单元。一个数组元素的首地址也是指它所占有的几个内存单元的首地址。一个指针变量既可以指

7、向一个数组,也可以指向一个数组元素,可把数组名或第一个元素的地址赋予它。7指针第021课指针#include"stdio.h"voidmain(){inta[5],i;for(i=0;i<5;i++){a[i]=i;}int*pa=a;for(i=0;i<5;i++){printf("a[%d]=%d",*(pa+i),a[i]);}printf("");}7指针第021课指针7.4.2数组名和数组指针变量作函数参数指针变量的值也是地址,数组指针变量的值即为数组的首地址,当然也可作为函数的参数使用。#include"stdio.h

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。