第一次学习:
1、&ptr
returns the address of the pointer variable... pointer to a pointer if you will.
返回指针变量的地址,指向指针的指针。
2、round(number,digits)
四舍五入的值,digits小数点后面保留的位数
3、ceil (double x)
返回大于或者等于指定表达式的最小整数
4、floor(number)
向下取整
5、abs(number)
求绝对值的函数
第二次学习:
typedef
1、C语言允许用户使用typedef关键字来定义自己习惯的数据结构名称,来替代系统默认的基本数据类型、数据类型名称、指针类型名称和用户自定义的结构体名称、公用型名称、枚举型名称等。一旦用户在程序中定义了自己的数据类型名称,就可以在该程序中用自己的数据类型名称来定义变量的类型、数组的类型、指针变量的类型与函数的类型等。
2、定义一个布尔类型,但我们可以使用typedef关键字来定义一个简单的布尔类型,如下面的代码所示。
typedef int BOOL;
#define TRUE 1
#define FALSE 0
(1)为基本的数据类型定义新的类型名
typedef float REAL
(2)为自定义数据类型(结构体、共用体和枚举类型)定义简洁的类型名称
struct Point
{ double x;
double y;
double z;
}
在调用这个结构体时,我们必须像下面的代码这样来调用这个结构体;
struct Point oPoint = {100,100,0};
struct Point oPoint2;
3、为数组定义简洁的类型名称
typedef int INT_ARRAY_100[100];
INT_ARRAY_!00 arr;
4、为指针定义简洁的名称
对于指针,我们同样可以使用下面的方式定义一个新的别名。
typedef char *PCHAR;
PCHAR pa;
找到问题的所在;
对于上面这种简单的变量声明,使用typedef来定义一个新的别名或许会感觉意义不大,但在比较复杂的变量声明中,typedef的优势马上就体现出来了,如下面的示例代码所示:
int *(* a[5])(int ,char *)
typedef int *(*PFun)(int ,char *)
PFun a[5]
5、小心使用typedef带来的陷阱