占位符参数
在声明时 void f(int a,int b =0 ,int c= 0);
在定义时void f (int a,int b ,int c= 0){}
b 即使一个参数的标识,不能被饮引用,调用的时候还必须要为这个占位符提供一个值。
TMutex(bool isshared = false) : m_Isshared(isshared)这个函数中的参数,可以穿进去一个值,这时候会改变入参,默认不管
也可以不传参数。
extern "C" void func();
这个函数是C的库函数,extern标识在这里声明,在外部进行定义。在你的代码不知道是被c
调用还是c++
调用时, 请添加此段代码.
指针都是一回事 指针的类型 只不过是告诉编译器取多大的内存 所以强制类型转换是可以的
一个char*buffer 可以转换为(DSFDSGDU*)
指针的好处也是在灵活,每次传递只是地址
定义结构
为了定义结构,您必须使用 struct 语句。struct 语句定义了一个包含多个成员的新的数据类型,struct 语句的格式如下:
struct type_name { member_type1 member_name1; member_type2 member_name2; member_type3 member_name3; . . } object_names;
struct Books { char title[50]; char author[50]; char subject[100]; int book_id; }; int main( ) { Books Book1; // 定义结构体类型 Books 的变量 Book1 Books Book2; // 定义结构体类型 Books 的变量 Book2
typedef 关键字
下面是一种更简单的定义结构的方式,您可以为创建的类型取一个"别名"。例如:
typedef struct Books
{
char title[50];
char author[50];
char subject[100];
int book_id;
}Books;
现在,您可以直接使用 Books 来定义 Books 类型的变量,而不需要使用 struct 关键字。下面是实例:
Books Book1, Book2;
1struct timespec
{
__time_t tv_sec; /* Seconds. */
long int tv_nsec; /* Nanoseconds. */
};、这里的秒和纳秒数是自1970年1月1号00:00:00开始计时,到现在所经历的时间。
stat.h mkdir chmod