一、释放堆区空间
void free_dict(struct dict* tmp) { int i = 0; for (i = 0; i < MAX; i++) { //释放指针变量 if (tmp[i].key!=NULL) { free(tmp[i].key); tmp[i].key = NULL; } if (tmp[i].content!=NULL) { free(tmp[i].content); tmp[i].content = NULL; } } //释放结构体变量 free(tmp); tmp = NULL;
二、查询单词
int searc_dict(struct dict* tmp,char *key,char *content) { int i = 0; for (i=0;i<MAX;i++) { if (strcmp(tmp[i].key, key) == 0) { //有结果,将翻译赋值 strcpy_s(content,30,tmp[i].content); return 1; } } return 0; } char key[1024]; char content[1024]; while (1) { printf("请输入需要查询的单词:"); scanf_s("%s",key,10); if(strcmp(key,"q")==0) { break; } //如果有返回真,没有返回假 int flag = searc_dict(p,key,content); if (flag==0) { printf("没有该单词:%s\n",key); } else { printf("[%s]的解释为:%s\n", key, content); } }