数据结构第二部分-预备知识教学内容.pptVIP

  • 0
  • 0
  • 约4.46千字
  • 约 27页
  • 2021-09-22 发布于浙江
  • 举报

数据结构第二部分-预备知识教学内容.ppt

C语言相关内容;例1 阅读下面的程序段,写出输出结果。 #include stdio.h // 值传递 void change1(int x, int y) { x += 10; y -= 5; } ?// 地址传递 void change2(int *p, int *q) { *p = *p + 10; *q = *q - 5; };例2 阅读下面的程序段,写出输出结果。 void change3(int A[ ]) // 地址传递 { A[0] = A[0] + 10; A[1] = A[1] - 5; } void main( ) { int B[2]; printf(“please input two values:\n”); scanf(“%d, %d”, B[0], B[1]); change3(B); printf(“B[0] = %d, B[1] = %d\n”, B[0], B[1]); } 结论:数组作为函数参数传递时实际传递的是数组在内存中的首地址,函数的形参数组不再分配内存空间,它共享实参数组的内存空间。;注意: 以一维数组作函数的形参时,一般为不带大小的一维数组,如果需要数组元素个数信息,则另设一个整数类型形参来表示数组的大小; 以二维数组为函数的形参时,一般不带数组行数,但其列数一定要注明,行数用一个整数类型形参来表示。;2、函数结果返回 函数名最多能带回一个处理结果,但是实际应用中往往需要将被调函数的多个处理结果返回,此时就需要借助于地址传递了。;3、结构体类型 结构类型用于表示由固定个数的多种类型元素所构成的复合数据,它是一种用户自定义类型。 结构类型定义格式: struct 结构类型名 {成员表}; 例如: struct Student { int no; char name[20]; }; ;结构类型变量的定义格式有以下几种: (1)struct 结构类型名 结构类型变量名; 例如:struct Student st; (2)struct 结构类型名 {成员表} 结构类型变量名; 例如:struct Student { int no; char name[20]; } st; (3)struct {成员表} 结构类型变量名; 例如:struct { int no; char name[20]; } st;;结构成员的访问形式: 结???类型变量.结构成员名 每个成员都可以看作是一个独立的变量,可以参与运算,例如: void f(Student st ) { st.no = 1; strcpy(st.name, “shenhua”); } ;4、指针 指针是内存地址的抽象表示,一个指针代表了一个内存地址。 指针类型的定义格式: typedef 类型 * 指针类型名; 例如:typedef int* Pointer; 指针变量的定义格式: 形式一:指针类型名 指针变量名; 形式二:类型 *指针变量名; 例如:Pointer p; int *q;//指针变量p, q均为指向int 类型数据的指针变量。 ;对指针变量所指数据的间接访问: 情况一:可以通过“*”来访问一个指针变量指向的变量。 例如: int x = 7; int *p; p = x; (*p )++; printf(“x = %d\n”, x); 输出结果为:x = 8 情况二:可以通过“*”和“.”或“-”来访

文档评论(0)

1亿VIP精品文档

相关文档