下面展示一些 内联代码片
。
// A code block
var foo = 'bar';
// An highlighted block
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_LEN 1000
// 记录结构体
typedef struct {
int id; // 流水编号
double amount; // 支出金额
int year, month, day; // 支出时间
char reason[MAX_LEN]; // 支出原因
char type[MAX_LEN]; // 支出类型
} Record;
int num_records = 0; // 记录数量
Record* records = NULL; // 记录数组指针
void menu();
void menu1(int choice1,int choice2);
void menu2(int choice2);
// 加载记录
void load_records(const char* filename) {
int n = 10000; // 记录的数量
FILE* fp = fopen(filename, "r");
if (fp == NULL) {
printf("无法打开记录文件 %s\n", filename);
return;
}
int max_records = 10000; // 初始最大记录数为10
//records = malloc(max_records * sizeof(Record)); // 动态分配记录数组
records = (Record*) malloc(n * sizeof(Record));
char line[MAX_LEN];
while (fgets(line, MAX_LEN, fp)) {
if (num_records >= max_records) {
max_records *= 2; // 最大记录数翻倍
//records = realloc(records, max_records * sizeof(Record)); // 重新分配记录数组
records = (Record*) malloc(n * sizeof(Record));
}