在 C 語言中,沒有內置的 “handle” 類型。但是,你可以使用指針、文件描述符或者自定義結構體來模擬 handle 的行為。下面是一個簡單的示例,展示了如何使用指針作為 handle:
#include<stdio.h>
#include <stdlib.h>
// 假設我們有一個簡單的結構體,表示一個對象
typedef struct {
int id;
char *name;
} Object;
// 創建對象的函數,返回一個指向對象的指針(handle)
Object *create_object(int id, const char *name) {
Object *obj = (Object *)malloc(sizeof(Object));
obj->id = id;
obj->name = strdup(name);
return obj;
}
// 使用對象的函數
void use_object(Object *obj) {
printf("Using object %d: %s\n", obj->id, obj->name);
}
// 銷毀對象的函數
void destroy_object(Object *obj) {
free(obj->name);
free(obj);
}
int main() {
// 創建一個對象并獲取其 handle
Object *obj_handle = create_object(1, "example");
// 使用對象
use_object(obj_handle);
// 銷毀對象
destroy_object(obj_handle);
return 0;
}
在這個示例中,我們使用指針作為 handle,通過 create_object
函數創建對象并返回一個指向該對象的指針。然后,我們可以將這個 handle 傳遞給其他函數,如 use_object
。最后,我們使用 destroy_object
函數銷毀對象并釋放內存。