C语言09

1.结构体指针 本质上还是指针,只是指针类型不一样。

  (1)定义 stu *sp=&a; 

 (2)访问 a.name 进行访问,(*sp).name;(.)的优先级要比(*)高所以要加小括号。

 访问有两种。一是,通过地址取值符(&)来访问,二是通过(->)来访问。

 2,指针与数组  指针与结构体数组。

    (1)单个结构体访问 只有三种,1)结构体名 (a.)2)使用指针时(*p=a;p.)3)使用指针 (*p=a;p->)

     (2)结构体数组访问      1)结构体数组,结构体成员名(.) 2)使用指针 p[i].   3) 使用指针  *(p+i)

  3.(1)当结构体数组作为参数的时候一定要有两个参数,肯定要传入数组,数组元素的个数。

 4.宏定义 预编译。完全的替换,(1)批量的文本替换,使用#define 要替换的  define A B(用a替换b),再编译之前进行替换。

 (2)带参数的宏 例 写一个宏定义,判断返回两个数的最大值。(定义一个带参数的宏定义,实现安全的求两个数的最大值)

       1)加括号,防止运算符出现打破三目运算符的结构。

       2)通过中间变量,保存a,b的值,防止,自运算导致的逻辑错误。

(1)定义一个点坐标的结构体,包含两个成员变量,float x,y;定义两个结构体变量,m,n再使用两个结构体指针,计算两点距离,开放sqrt。

     (2).遍历打印结构体数组里面的元素,使用指针,指针变量指向每一个结构体数组成员的首地址。

     (3)遍历上面数组,找到最大的并找到名字。

    (4)打印一个结构体数组的所有元素。使用函数 指针参数

(1)遍历数组,把所有男生的年龄加10.

     (2)添加完成之后最大年龄只能是25.

原文地址:https://www.cnblogs.com/ytmaylover/p/5049134.html