文档介绍:用C语言描述数据结构与算法
变量
(1)变量的属性:
变量名
地址
大小
类型
C语言
值
生命期
作用域
指针变量
C语言中的指针变量是一个*T类型的变量。其中T为任一已定义的类型。
指针变量用于存放对象的存储地址,例如:
int k,n,*p;
n=8;
p=&n;
k=*p;
其中,p是一个指向int的指针。通过间接引用指针,存取指针所指向的变量。
C语言
函数与参数传递
C语言中函数定义包括4个部分:函数首部(函数名、形参列表、返回类型)和函数体。
int max(int x, int y)
{
return x>y? x:y;
}
在C语言中调用函数时传递给形参表的实参必须与形参在类型、个数、顺序上保持一致。
C语言
参数传递有两种方式:
按值传递方式。
把实参的值传递给函数局部工作区相应的副本中。函数使用副本执行必要的计算。因此函数实际修改的是副本的值,实参的值不变。
按地址传递参数。
传递的是实参的地址。函数通过地址存取被引用的实参。执行函数调用后,实参的值将发生改变。
C语言
void swap(int *x, int *y){
int temp = *x;
*x = *y;
*y = temp;
}
void main(){
int x,y;
x=1,y=2;
swap(&x,&y);
}
C语言
按地址传递参数
定义结构
一般形式为:
struct 结构名
{
数据成员列表;
}(变量名表列);
例:
struct date{
int month;
int day;
int year;
}D;
//D为struct date类型变量
C语言
指向结构的指针
指向结构的指针值是相应的结构变量所占据的内存空间的首地址。
一个结构st,则语句struct st *p; 定义一个指向结构st的指针。
C语言
例:
struct date{
int month;
int day;
int year;
};
struct date D;//变量
struct date *P;//指针
访问结构变量的数据成员
变量用“.”
指针用“->”
如:
C语言
struct date{
int month;
int day;
int year;
};
struct date D;//变量
struct date *P;//指针
printf(“month=%d”,);
printf(“month=%d”,P->month);
类型用typedef定义新数据
C语言中用typedef来定义新的类型来代替已有的类型名。
C语言
例:typedef int COUNT;
将int型定义为COUNT,这二者等价,在程序中就可以用COUNT作为类型名来定义变量,如:COUNT a,b;
因此,可用typedef来定义一个类型名来代表一个结构体类型。