招生考试网
学历| 高考 美术高考 考研 自考 成考 专升本 中考 会考 外语| 四六级 职称英语 商务英语 公共英语 日语能力 翻译资格 JTEST
资格| 公务员 报关员 银行从业 司法 导游 教师资格 报关 财会| 会计证 经济师 会计职称 注册会计 税务师 资产评估 审计师
工程| 一建 二建 造价师 造价员 咨询师 监理师 安全师 医学| 卫生资格 执业医师 执业药师 执业护士 | 教案 论文 文档
IT类| 计算机等级 计算机软考 职称计算机 高校计算机 推荐-国家公务员 事业单位招聘 军校国防生 自主招生 艺术特长生 招飞
 3773考试网 - 计算机等级考试 - 考试辅导 - 计算机二级 - 正文

2014计算机二级C语言要点分析:指针

来源:2exam.com 2014-6-17 16:00:30

 8.1 指针与指针变量的概念,指针与地址运算符

  1.在C语言中,指针是指一个变量的地址,通过变量的地址″指向″的位置找到变量的值,这种″指向″变量地址可形象地看作″指针″。用来存放指针的变量称为指针变量,它是一种特殊的变量,它存放的是地址值。

  2.定义指针变量的一般形式为:

  类型名 *指针变量1,*指针变量2,…;

  ″类型名″称为″基类型″它规定了后面的指针变量中存放的数据类型,″*″号表明后面的″指针变量1″,″指针变量2″等是指针变量,″*″号在定义时不能省略,否则就会变成一般变量的定义了。″指针变量1″,″指针变量2″等称为指针变量名。

  3.一个指针变量只能指向同一类型的变量。

  4.与指针和指针变量有关的两个运算符:

  (1)*:指针运算符(或称″间接访问″运算符)

  (2)&:取地址运算符

  通过*号可以引用一个存储单元,如有如下定义:

  int i=123,*p,k;

  则 p=&I;或k=*p;或k=*&I;都将变量i中的值赋给k。

  *p=10;或*&i=10;都能把整数10赋给变量i。这里,等号左边的表达式*p和*&i都代表变量i的存储单元。

  8.2 变量、数组、字符串、函数、结构体的指针以及指向它们的指针变量

  1.变量的指针和指向变量的指针变量。

  2.数组的指针和指向数组的指针变量。

  所谓数组的指针是指数组的起始地址,数组元素的指针是数组元素的地址。

  C语言规定数组名代表数组的首地址,也就是第一个元素的地址。

  3.字符串的指针和指向字符串的指针变量。

  我们可以通过定义说明一个指针指向一个字符串。

  C语言将字符串隐含处理成一维字符数组,但数组的每个元素没有具体的名字,这一点跟字符数组不一样。要引用字符串中的某个字符,只能通过指针来引用:*(s+0),*(s+1),…,*(s+n)。

  4.函数的指针和指向函数的指针变量。

  指向函数的指针变量的一般形式为 : 

  数据类型标识符 (*指针变量名)();

  这里的″数据类型标识符″是指函数返回值的类型。

  函数的调用可以通过函数名调用,也可以通过函数指针调用(即用指向函数的指针变量调用)。

  指向函数的指针变量表示定义了一个指向函数的指针变量,它不是固定指向哪一个函数,而只是定义了这样的一个类型变量,它专门用来存放函数的入口地址。在程序中把哪一个函数的地址赋给它,它就指向哪一个函数。在一个程序中,一个指针变量可以先后指向不同的函数。

  在给函数指针变量赋值时,只需给出函数名而不必给出参数。因为函数指针赋的值仅是函数的入口地址,而不涉及到实参与形参的结合问题。

  对指向函数的指针变量,表达式p+n,p++,p--等都无意义。

  5.结构体的指针与指向结构体的指针变量

  一个结构体变量的指针就是该变量所占据的内存段的起始地址。可以设一个指针变量,用来指向一个结构体变量,此时该指针变量的值是结构体变量的起始地址。指针变量也可以用来指向结构体数组中的元素。

  8.3 用指针做函数参数

  函数的参数不仅可以是整型、实型、字符型等数据,还可以是指针类型,它的作用是将一个变量的地址传送到另一个函数中。

  8.4 返回指针值的指针函数

  一个函数可以返回一个整型值、字符值、实型值等,也可以返回指针型数据 ,即地址这种带回指针值的函数,一般的定义形式为:

  类型标识符  *函数名(形参表)


  • 上一个文章:
  • 网站版权与免责声明
    ①由于各方面情况的不断调整与变化,本网所提供的相关信息请以权威部门公布的正式信息为准.
    ②本网转载的文/图等稿件出于非商业性目的,如转载稿涉及版权及个人隐私等问题,请在两周内邮件fjksw@163.com联系.
    最新文章


    | 关于我们 | 联系我们 | 版权申明 | 网站导航 |
    琼ICP备12003406号