Welcome 微信登录

首页 / 软件开发 / C语言

C语言基础教程(四)指针、结构、联合和枚举(7)

C语言基础教程(四)指针、结构、联合和枚举(7)

C语言基础教程(四)指针、结构、联合和枚举(7)2007-05-04王大刚3.字符指针我们已经知道,字符串常量是由双引号括起来的字符序列,例如: "a string" 就是一个字符串常量,该字符串中因为字符a后面还有一个空格字符,所以它由8个字符序列组成。在程序中如出现字符串常量C编译程序就给字符串常量按排一存贮区域,这个区域是静态的,在整个程序运行的过程中始终占用,平时所讲的字符串常量的长度是指该字符串的字符个数,但在按排存贮区域时,...
C语言基础教程(四)指针、结构、联合和枚举(8)

C语言基础教程(四)指针、结构、联合和枚举(8)

C语言基础教程(四)指针、结构、联合和枚举(8)2007-05-04王大刚4.指针数组因为指针是变量,因此可设想用指向同一数据类型的指针来构成一个数组,这就是指针数组。数组中的每个元素都是指针变量,根据数组的定义,指针数组中每个元素都为指向同一数据类型的指针。指针数组的定义格式为:类型标识 *数组名[整型常量表达式];例如:int *a[10]; 定义了一个指针数组,数组中的每个元素都是指向整型量的指针,该数组由10个元素组成,即a[0],a[1],a[2...
C语言基础教程(四)指针、结构、联合和枚举(9)

C语言基础教程(四)指针、结构、联合和枚举(9)

C语言基础教程(四)指针、结构、联合和枚举(9)2007-05-04王大刚2、结构(struct)结构是由基本数据类型构成的、并用一个标识符来命名的各种变量的组合。结构中可以使用不同的数据类型。1.结构说明和结构变量定义在Turbo C中,结构也是一种数据类型,可以使用结构变量,因此,象其它类型的变量一样,在使用结构变量时要先对其定义。定义结构变量的一般格式为: struct 结构名 { 类型变量名; 类型变量名; ... } 结构变量; 结构名是结构的标...
C语言基础教程(四)指针、结构、联合和枚举(10)

C语言基础教程(四)指针、结构、联合和枚举(10)

C语言基础教程(四)指针、结构、联合和枚举(10)2007-05-04王大刚2.结构变量的使用结构是一个新的数据类型,因此结构变量也可以象其它类型的变量一样赋值、运算,不同的是结构变量以成员作为基本变量。 结构成员的表示方式为: 结构变量.成员名 如果将"结构变量.成员名"看成一个整体,则这个整体的数据类型与结构中该成员的数据类型相同,这样就可象前面所讲的变量那样使用。下面这个例子定义了一个结构变量,其中每个成员都从键盘接收数据,然后对...
C语言基础教程(四)指针、结构、联合和枚举(11)

C语言基础教程(四)指针、结构、联合和枚举(11)

C语言基础教程(四)指针、结构、联合和枚举(11)2007-05-04王大刚3.结构数组和结构指针结构是一种新的数据类型,同样可以有结构数组和结构指针。一、结构数组结构数组就是具有相同结构类型的变量集合。假如要定义一个班级40个同学的姓名、性别、年龄和住址,可以定义成一个结构数组。如下所示:struct{ char name[8]; char sex[2]; int age; char addr[40]; }student[40]; 也可定义为: stru...
C语言基础教程(四)指针、结构、联合和枚举(12)

C语言基础教程(四)指针、结构、联合和枚举(12)

C语言基础教程(四)指针、结构、联合和枚举(12)2007-05-04王大刚二、结构指针结构指针是指向结构的指针。它由一个加在结构变量名前的"*" 操作符来定义,例如用前面已说明的结构定义一个结构指针如下: struct string{ char name[8]; char sex[2]; int age; char addr[40]; }*student; 也可省略结构指针名只作结构说明,然后再用下面的语句定义结构指针。 struct...
C语言基础教程(四)指针、结构、联合和枚举(13)

C语言基础教程(四)指针、结构、联合和枚举(13)

C语言基础教程(四)指针、结构、联合和枚举(13)2007-05-04王大刚一、嵌套结构嵌套结构是指在一个结构成员中可以包括其它一个结构,Turbo C允许这种嵌套。例如:下面是一个有嵌套的结构struct string{ char name[8]; int age; struct addr address; } student; 其中:addr为另一个结构的结构名,必须要先进行说明,即struct addr{ char city[20]; unsigne...
C语言基础教程(四)指针、结构、联合和枚举(14)

C语言基础教程(四)指针、结构、联合和枚举(14)

C语言基础教程(四)指针、结构、联合和枚举(14)2007-05-04王大刚二、位结构位结构是一种特殊的结构,在需按位访问一个字节或字的多个位时,位结构比按位运算符更加方便。位结构定义的一般形式为:struct位结构名{ 数据类型 变量名: 整型常数; 数据类型 变量名: 整型常数; } 位结构变量; 其中:数据类型必须是int(unsigned或signed)。整型常数必须是非负的整数,范围是0~15,表示二进制位的个数,即表示有多少位。 变量名是选择项...
C语言基础教程(四)指针、结构、联合和枚举(15)

C语言基础教程(四)指针、结构、联合和枚举(15)

C语言基础教程(四)指针、结构、联合和枚举(15)2007-05-04王大刚联合(union)1.联合说明和联合变量定义联合也是一种新的数据类型,它是一种特殊形式的变量。 联合说明和联合变量定义与结构十分相似。其形式为:union 联合名{ 数据类型 成员名; 数据类型 成员名; ... } 联合变量名; 联合表示几个变量公用一个内存位置,在不同的时间保存不同的数据类型和不同长度的变量。下例表示说明一个联合a_bc:union a_bc{ int i; c...
C语言基础教程(四)指针、结构、联合和枚举(16)

C语言基础教程(四)指针、结构、联合和枚举(16)

C语言基础教程(四)指针、结构、联合和枚举(16)2007-05-04王大刚2.结构和联合的区别结构和联合有下列区别:1.结构和联合都是由多个不同的数据类型成员组成,但在任何同一时刻,联合中只存放了一个被选中的成员,而结构的所有成员都存在。2.对于联合的不同成员赋值,将会对其它成员重写,原来成员的值就不存在了,而对于结构的不同成员赋值是互不影响的。下面举一个例了来加对深联合的理解。例4:main() { union{/*定义一个联合*/ int i; st...
C语言基础教程(四)指针、结构、联合和枚举(17)

C语言基础教程(四)指针、结构、联合和枚举(17)

C语言基础教程(四)指针、结构、联合和枚举(17)2007-05-04王大刚枚举(enum)枚举是一个被命名的整型常数的集合,枚举在日常生活中很常见。例如表示星期的SUNDAY,MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY,就是一个枚举。枚举的说明与结构和联合相似, 其形式为: enum 枚举名{ 标识符[=整型常数], 标识符[=整型常数], ... 标识符[=整型常数], } 枚举变量; 如果枚举没...
C语言基础教程(四)指针、结构、联合和枚举(18)

C语言基础教程(四)指针、结构、联合和枚举(18)

C语言基础教程(四)指针、结构、联合和枚举(18)2007-05-04王大刚类型说明类型说明的格式为:typedef 类型 定义名; 类型说明只定义了一个数据类型的新名字而不是定义一种新的数据类型。这里类型是Turbo C许可的任何一种数据类型。定义名表示这个类型的新名字。 例如: 用下面语句定义整型数的新名字: typedef int SIGNED_INT; 使用说明后,SIGNED_INT就成为int的同义词了,此时可以用SIGNED_INT定义整型变...
C语言基础教程(四)指针、结构、联合和枚举(19)

C语言基础教程(四)指针、结构、联合和枚举(19)

C语言基础教程(四)指针、结构、联合和枚举(19)2007-05-04王大刚预处理指令由ANSI的标准规定,预处理指令主要包括:#define #error #if #else #elif #endif #ifdef #ifndef #undef #line #pragma 由上述指令可以看出,每个预处理指令均带有符号"#"。下面只介绍一些常用指令。1.#define指令#define指令是一个宏定义指令,定义的一般形式是:#defin...
C语言基础教程(五)函数(1)

C语言基础教程(五)函数(1)

C语言基础教程(五)函数(1)2007-05-04王大刚C程序是由一组或是变量或是函数的外部对象组成的。函数是一个自我包含的完成一定相关功能的执行代码段。我们可以把函数看成一个"黑盒子",你只要将数据送进去就能得到结果,而函数内部究竟是如何工作的的,外部程序是不知道的。外部程序所知道的仅限于输入给函数什么以及函数输出什么。函数提供了编制程序的手段,使之容易读、写、理解、排除错误、修改和维护。 C程序中函数的数目实际上是不限的,如果说有什...
C语言基础教程(五)函数(2)

C语言基础教程(五)函数(2)

C语言基础教程(五)函数(2)2007-05-04王大刚1.函数的说明与定义Turbo C2.0中所有函数与变量一样在使用之前必须说明。所谓说明是指说明函数是什么类型的函数,一般库函数的说明都包含在相应的头文件<*.h>中,例如标准输入输出函数包含在stdio.h中,非标准输入输出函数包含在io.h中,以后在使用库函数时必须先知道该函数包含在什么样的头文件中,在程序的开头用#include <*.h>或#include"*...
C语言基础教程(五)函数(3)

C语言基础教程(五)函数(3)

C语言基础教程(五)函数(3)2007-05-04王大刚2 函数的调用2.1函数的简单调用 Turbo C2.0调用函数时直接使用函数名和实参的方法,也就是将要赋给被调用函数的参量,按该函数说明的参数形式传递过去,然后进入子函数运行,运行结束后再按子函数规定的数据类型返回一个值给调用函数。使用Turbo C2.0的库函数就是函数简单调用的方法。举例说明如下:例1: #include<stdio.h> int maxmum(int x, int ...
C语言基础教程(五)函数(4)

C语言基础教程(五)函数(4)

C语言基础教程(五)函数(4)2007-05-04王大刚2.2 函数参数传递一、调用函数向被调用函数以形式参数传递 用户编写的函数一般在对其说明和定义时就规定了形式参数类型,因此调用这些函数时参量必须与子函数中形式参数的数据类型、顺序和数量完全相同,否则在调用中将会出错,得到意想不到的结果。注意: 当数组作为形式参数向被调用函数传递时,只传递数组的地址,而不是将整个数组元素都复制到函数中去,即用数组名作为实参调用子函数,调用时指向该数组第一个元素的指针就被...
C语言基础教程(五)函数(5)

C语言基础教程(五)函数(5)

C语言基础教程(五)函数(5)2007-05-04王大刚二、被调用函数向调用函数返回值一般使用return语句由被调用函数向调用函数返回值,该语句有下列用途:1.它能立即从所在的函数中退出, 返回到调用它的程序中去。2.返回一个值给调用它的函数。有两种方法可以终止子函数运行并返回到调用它的函数中: 一是执行到函数的最后一条语句后返回;一是执行到语句return时返回。前者当子函数执行完后仅返回给调用函数一个0。若要返回一个值,就必须用return语句。只需...
C语言基础教程(五)函数(6)

C语言基础教程(五)函数(6)

C语言基础教程(五)函数(6)2007-05-04王大刚三、用全程变量实现参数互传以上两种办法可以在调用函数和被调用函数间传递参数,但使用不太方便。如果将所要传递的参数定义为全程变量,可使变量在整个程序中对所有函数都可见。这样相当于在调用函数和被调用函数之间实现了参数的传递和返回。这也是实际中经常使用的方法,但定义全程变量势必长久地占用了内存。因此,全程变量的数目受到限制,特别对于较大的数组更是如此。当然对于绝大多数程序内存都是够用的。例6: #inclu...
<< 1 2 3 4 5 6 7 8 9 10 >>