当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: 1 基本解释 extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。
 

 

 ·c语言程序设计基础之结构    »显示摘要«
    摘要:  在实际问题中,一组数据往往具有不同的数据类型。例如, 在学生登记表中,姓名应为字符型;学号可为整型或字符型; 年龄应为整型;性别应为字符型;成绩可为整型或实型。 显然不能用一个数组来存放这一组数据。 因为数组中各元素的类型和长度都必须一致,以便于编译系统处理。为了解决这个问题,c语言中给出了另一种构造数据类型——“结构”。 它相当于其它高级语言中的记录。  “结构”是一种构造类型,它是由若干“成员”组成的。 每一个成员可以是一个基本数据类型或者又是一个......
    摘要:  指针是c语言中广泛使用的一种数据类型。 运用指针编程是c语言最主要的风格之一。利用指针变量可以表示各种数据结构; 能很方便地使用数组和字符串; 并能象汇编语言一样处理内存地址,从而编出精练而高效的程序。指针极大地丰富了c语言的功能。 学习指针是学习c语言中最重要的一环, 能否正确理解和使用指针是我们是否掌握c语言的一个标志。同时, 指针也是c语言中最为困难的一部分,在学习中除了要正确理解基本概念,还必须要多编程,上机调试。只要作到这些,指针也是不难掌握......


水滴石穿C语言之extern声明辨析
  1 基本解释

【相关文章:手机上网被卡住了脖子?

【扩展阅读:上网小心病毒 平均每天30个病毒现身

  extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量与函数时在其他模块中寻找其定义。 【扩展信息:调查:手机上网被卡住了脖子?

  另外,extern也可用来进行链接指定。

  2 问题:extern 变量

  在一个源文件里定义了一个数组:

  在另外一个文件里用下列语句进行了声明:

  请问,这样可以吗?

  答案与分析:

  1)、不可以,程序运行时会告诉你非法访问。原因在于,指向类型t的指针并不等价于类型t的数组。extern char *a声明的是一个指针变量而不是字符数组,因此与实际的定义不同,从而造成运行时非法访问。应该将声明改为extern char a[ ]。

  2)、例子分析如下,如果a[] = "abcd",则外部变量a=0x61626364 (abcd的ascii码值),*a显然没有意义,如下图:

  显然a指向的空间(0x61626364)没有意义,易出现非法内存访问。

  3)、这提示我们,在使用extern时候要严格对应声明时的格式,在实际编程中,这样的错误屡见不鲜。

  4)、extern用在变量声明中常常有这样一个作用,你在*.c文件中声明了一个全局的变量,这个全局的变量如果要被引用,就放在*.h中并用extern来声明。

  3 问题:extern 函数1

  常常见extern放在函数的前面成为函数声明的一部分,那么,c语言的关键字extern在函数的声明中起什么作用?

  答案与分析:


...   下一页
    摘要:  数组在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的集合称为数组。在c语言中, 数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。  本章介绍数值数组和字符数组,其余的在以后各章陆续介绍。数组类型说明 在c语言中使用数组必须先进行类型说明。 数组说明的一般形式为:......
» 本期热门文章:

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