笔记所有内容参考《东大红皮书》,由本人后期整理在加工。
常用的头文件和函数
stdlib.h
//stdlib.h
void* malloc(int size);
void free(void* ptr);
stdio.h
//stdio.h
int scanf(const char* format, ...);
int printf(const char* format, ...);
FILE* fopen(const char* filename, const char* mode);
/*
"r" read Open a file for reading read from start failure to open
"w" write Create a file for writing destroy contents create new
"a" append Append to a file write to end create new
"r+" read extended Open a file for read/write read from start error
"w+" write extended Create a file for read/write destroy contents create new
"a+" append extended Open a file for read/write write to end create new
成功返回FILE*
读到文件末尾时的返回值是 EOF(-1)
发生失败时返回0
*/
int fclose(FILE* stream);
int fseek(FILE* stream, long offset, int origin);
/*
SEEK_SET 0
SEEK_CUR 1
SEEK_END 2
*/
int fscanf(FILE* stream, const char* format, ...);
int fprintf(FILE* stream, const char* format, ...);
size_t fwrite(const void* buffer, size_t size, size_t count, FILE* stream);
size_t fread(void *buffer, size_t size, size_t count, FILE* stream);
string.h
//string.h
size_t strlen(const char *s);
int strcmp(char* str1, char* str2); //str1 - str2: -1, 0, 1
char* strcpy(char *destin, char *source);
char* strcat(char *destin, char *source);
void* memset(void *s, int ch, size_t n); //置0或者置0xffffffff,其他数字会有问题
void* memcpy(void* destin, void* source, unsigned n);
math.h
//math.h
double pow(double x,double y);
double sqrt (double);
double log (double);
double ceil (double);
double floor (double);
stdbool.h
可以用bool类型了
应用题
做题步骤:
- 根据题目的描述,定义合适的结构体。
- 根据题目要求,配合结构体写出功能,工能总结
- 顺序表遍历
- 链表遍历
- 链表排序
求两字符串中最长公共子串
https://blog.csdn.net/qq_25800311/article/details/81607168
利用两个字符串构成一个二维数组,来求。
二维数组中行最大,列最小的数
注意:一行中可能存在多个一样的最大值,一列中可能存在多个一样的最小值。