C语言刷题笔记:leetcode

C语言刷题笔记:leetcode,第1张

c语言使用哈希表练习
1、指针变量定义

(1)int *a = 0;(错:此时在定义地址值)
(2)int* returnSize;
     *returnSize = 0;
     (报错,只能初始化一个地址?)
(3)正确定义1
	int target = 3;
	int* returnSize;
	returnSize = ⌖
(4)正确定义2
	int target = 3;
	int* returnSize = ⌖

2、malloc

C语言:
int* re = malloc(sizeof(int) * 2);
刚开始文件类型弄成了c++,报错了,改成c就好了
c++文件的malloc返回值是void类型,需要强制类型转化
C++:
struct Hashtable* temp = (struct Hashtable*)malloc(sizeof(struct Hashtable));
int* re =(int*)malloc(sizeof(int) * 2);

3、C文件的函数返回值类型错误没有关系
4、C文件的Main函数最后必须加上

return 0;//结束程序
system("pause");//按任意键继续

5、visual studio的一个项目只能有一个文件中带main函数
6、uthash使用:
(1)直接添加uthash.h文件到项目的头文件中。


保存一下会用到的头文件
(2)uthash使用

struct Hashtable {  //定义哈希结构
	int key;
	int value;
	UT_hash_handle hh;
};

struct Hashtable* hashtable; //定义哈希表查找数据
	struct Hashtable* temp;
	HASH_FIND_INT(hashtable, &ikey, temp);
	return temp;
}
int insert(int ikey, int ival) {   //在哈希表中插入数据
	struct Hashtable* temp = find(ikey);
	if (temp == NULL) {
		struct Hashtable* temp = malloc(sizeof(struct Hashtable));
		temp->key = ikey;
		temp->value = ival;
		HASH_ADD_INT(hashtable, key, temp);
	}
	else {
		temp->value = ival;
	}
}

7、输出格式

printf("%d,%d", re[0], re[1]);

8、for循环中不能定义int i,需要在for之外定义
9、头文件

#include 
#include 

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/langs/673724.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-19
下一篇 2022-04-19

发表评论

登录后才能评论

评论列表(0条)

保存