当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: 概述 joel spolsky认为,对指针的理解是一种aptitude,不是通过训练就可以达到的。
 

 

    摘要:  在实际问题中, 有些变量的取值被限定在一个有限的范围内。例如,一个星期内只有七天,一年只有十二个月, 一个班每周有六门课程等等。如果把这些量说明为整型, 字符型或其它类型显然是不妥当的。 为此,c语言提供了一种称为“枚举”的类型。在“枚举”类型的定义中列举出所有可能的取值, 被说明为该“枚举”类型的变量取值不能超过定义的范围。应该说明的是, 枚举类型是一种基本数据类型,而不是一种构造类型, 因为它不能再分解为任何基本类型。   枚举类型的定义和枚举变量......
 ·水滴石穿c语言之static辨析    »显示摘要«
    摘要:  1、概述  static 声明的变量在c语言中有两方面的特征:  1)、变量会被放在程序的全局存储区中,这样可以在下一次调用的时候还可以保持原来的赋值。这一点是它与堆栈变量和堆变量的区别。  2)、变量用static告知编译器,自己仅仅在变量的作用范围内可见。这一点是它与全局变量的区别。  2、问题:static的理解  关于static变量,请选择下面所有说法正确的内容:  a、若全局变量仅在单个c文件中访问,则可以将这个变量修改为静态全局变量,以降......


水滴石穿C语言之指针综合谈
  概述

【相关文章:近期上网小心木马 假借圣诞祝福QQ消息传

【扩展阅读:大唐电信出资1182万元 进军MONS电

  joel spolsky认为,对指针的理解是一种aptitude,不是通过训练就可以达到的。虽然如此,我还是想谈一谈这个c/c++语言中最强劲也是最容易出错的要素。 【扩展信息:移动卫星宽带开通 上网费每兆流量7.8美

  鉴于指针与目前计算机内存结构的关联,很多c语言比较本质的特点都孕育在其中,因此,本篇与第六、第七两篇我都将以指针为主线,结合在实际编程中遇到的问题,来详细谈谈关于指针的几个重要方面。

  指针类型的本质分析

  1、指针的本质

  指针的本质:一种复合的数据类型。下面我将以下面几个作为例子进行展开分析:

  a)、int *p;

  b)、int **p;

  c)、int (*parvalue)[3];

  d)、int (*pfun)();

  分析:

  所谓的数据类型就是具有某种数据特征的东东,比如数据类型char,它的数据特征就是它所占据的内存为1个字节, 指针也很类似,指针所指向的值也占据着内存中的一块地址,地址的长度与指针的类型有关,比如对于char型指针,这个指针占据的内存就是1个字节,因此指针也是一种数据类型,但我们知道指针本身也占据了一个内存空间地址,地址的长度与机器的字长有关,比如在32位机器中,这个长度就是4个字节,因此指针本身也同样是一种数据类型,因此,我们说,指针其实是一种复合的数据类型,

  好了,现在我们可以分析上面的几个例子了。

  假设有如下定义:

  那么,nvalue的类型就是int,也就是把nvalue这个具体变量去掉后剩余的部分,因此,上面的4个声明可以类比进行分析:

  a)、int *

  *代表变量(指针本身)的值是一个地址,int代表这个地址里面存放的是一个整数,这两个结合起来,int *定义了一个指向整数的指针,类推如下:

  b)、int **

  指向一个指向整数的指针的指针。

  c)、int (*)[3]

  指向一个拥有三个整数的数组的指针。

  d)、int (*)()

  指向一个函数的指针,这个函数参数为空,返回值为整数。


...   下一页
 ·c语言程序设计基础之联合    »显示摘要«
    摘要:  “联合”与“结构”有一些相似之处。但两者有本质上的不同。在结构中各成员有各自的内存空间, 一个结构变量的总长度是各成员长度之和。而在“联合”中,各成员共享一段内存空间, 一个联合变量的长度等于各成员中最长的长度。应该说明的是, 这里所谓的共享不是指把多个成员同时装入一个联合变量内, 而是指该联合变量可被赋予任一成员值,但每次只能赋一种值, 赋入新值则冲去旧值。如前面介绍的“单位”变量, 如定义为一个可装入“班级”或“教研室”的联合后,就允许赋予整型值(......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE