笔记所有内容参考《东大红皮书》,由本人后期整理在加工。

常用的头文件和函数

https://zh.cppreference.com

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类型了

应用题

做题步骤:

  1. 根据题目的描述,定义合适的结构体。
  2. 根据题目要求,配合结构体写出功能,工能总结
    1. 顺序表遍历
    2. 链表遍历
    3. 链表排序

求两字符串中最长公共子串

https://blog.csdn.net/qq_25800311/article/details/81607168
利用两个字符串构成一个二维数组,来求。

二维数组中行最大,列最小的数

注意:一行中可能存在多个一样的最大值,一列中可能存在多个一样的最小值。

02-11 11:05