如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
复习c语言数组对于数组类型说明应注意以下几点:1.对于同一个数组,其所有元素的数据类型都是相同的。2.数组名的书写规则应符合标识符的书写规定。3.数组名不能与其它变量名相同,例如:voidmain(){inta;floata[10];……}是错误的。4.方括号中常量表达式表示数组元素的个数。如a[5]表示数组a有5个元素。但是其下标从0开始计算。因此5个元素分别为a[0],a[1],a[2],a[3],a[4]。5.不能在方括号中用变量来表示元素的个数,但是可以是符号常数或常量表达式。例如:#defineFD5voidmain(){inta[3+2],b[7+FD];……}是合法的。但是下述说明方式是错误的。voidmain(){intn=5;inta[n];……}6.允许在同一个类型说明中,说明多个数组和多个变量。例如:inta,b,c,d,k1[10],k2[20];函数2.C语言的函数兼有其它语言中的函数和过程两种功能,从这个角度看,又可把函数分为有返回值函数和无返回值函数两种。(1)有返回值函数此类函数被调用执行完后将向调用者返回一个执行结果,称为函数返回值。如数学函数即属于此类函数。由用户定义的这种要返回函数值的函数,必须在函数定义和函数说明中明确返回值的类型。(2)无返回值函数此类函数用于完成某项特定的处理任务,执行完成后不向调用者返回函数值。这类函数类似于其它语言的过程。由于函数无须返回值,用户在定义此类函数时可指定它的返回为“空类型”,空类型的说明符为“void”。3.从主调函数和被调函数之间数据传送的角度看又可分为无参函数和有参函数两种。(1)无参函数函数定义、函数说明及函数调用中均不带参数。主调函数和被调函数之间不进行参数传送。此类函数通常用来完成一组指定的功能,可以返回或不返回函数值。(2)有参函数也称为带参函数。在函数定义及函数说明时都有参数,称为形式参数(简称为形参)。在函数调用时也必须给出参数,称为实际参数(简称为实参)。进行函数调用时,主调函数将把实参的值传送给形参,供被调函数使用。指针指针变量的引用(&地址运算符)1、给指针变量赋值如:p1=&i;2、用指针变量对变量赋值如:inti,j,*p;p=&i;*p=3;j=*p+2;关于运算符&和*的几点说明:1、结合性(自右向左)如:inta,*p;p=&a;&*p=?相当于&(*p)等于&(*p)=&(a)=&a=p*&a=?相当于*(&a)=a2、优先级(处于第二位)3、自增自减运算如:inta,*p;p=&a;a=3;(*p)++;相当于a++a=4*p++;相当于*(p++)若p为1000,则p++为1002若floata,*p;p=&a;当p为1000,则p++为1004数组的指针和指向数组的指针变量inta[10],*p;p=a;第i个元素的地址:p+i或a+i、&a[i]第i个元素:*(p+i)或*(a+i)、a[i]为了将不同类型的数据组合成一个有机的整体而引用的。定义一个结构体类型的一般形式为:struct结构体名{成员表列(域表)}变量名列表;定义结构体类型变量的方法(有3种方法)在定义了一个结构体类型之后,把变量定义为该类型structpersonstudent,worker;在定义一个结构体类型的同时定义一个或若干个结构体变量structperson{charname[20];longnum;}student,worker;直接定义结构体类型的变量struct{charname[20];longnum;}student,worker;结构体类型变量的引用结构体变量名.成员名(“·”是成员运算符,优先级最高)不能将一个结构体变量作为一个整体进行输入和输出;如果成员本身又属一个结构体类型,则要用若干个成员运算符,一级一级地找到最低的一级的成员;对成员变量可以像普通变量一样进行各种运算;可以引用成员的地址,也可以引用结构体变量的地址,但不能整体读入结构体变量。指向结构体类型数据的指针以下三种形式等价1、结构体变量.成员名;2、(*p).成员名;3、p->成员名(->称为指向运算符)用于动态分配的函数(C语言编译系统的库函数)1void*malloc(unsignedintsize)作用:在内存开辟指定大小的存储空间,并将此存储空间的起始地址作为函数值带回。如果内存缺乏足够大的空间进行分配,则malloc函数为“空指针”,即地址为0。举例:p=(int*)malloc(8);2void*calloc(unsignedintnum,unsignedintsize)作用:分配num个大小为size字节的空间,并将此存储空间的起始地址