我需要實現一組函數來提供各種設置操作,如創建集合,添加元素設置等。我是編程新手,但是,我知道如何編寫函數,但我的問題與這個任務是我需要使用指針,我不知道如何編寫一個函數來創建一個指針集。我不是在尋求解決方案,只是讓我開始的一個很好的解釋!謝謝使用指針設置操作
Q
使用指針設置操作
1
A
回答
1
集可以存儲在各種數據結構中,例如但不限於鏈接列表。然後,您需要抽離集合操作來添加,刪除和測試元素的成員資格。我建議您在開展這個小型項目之前閱讀數據結構相關文獻並做一些相關練習。
1
首先你需要一些結構來保存你的指針,它可以像數組一樣簡單(或者Tarik建議的鏈表)。
一旦你有一個結構,你創建設置的功能。
E.g.
void createSet(int*** set, int maxsize)
{
*set = malloc(sizeof(int*) * maxsize);
}
void addPtrToSet(int** set, void* ptr, int* numberOfPointers)
{
// check if pointer is already in array
int i;
for (i = 0; i < *numberOfPointers; ++i)
{
if (ptr == set[i]) return; // already in set
}
set[(*numberOfPointers)++] = ptr;
}
...
const int maxsize = 10;
int** set = 0;
int a;
char* b;
int numberOfPointers = 0;
createSet(&set, maxsize);
addPtrToSet(set, &a, &numberOfPointers);
addPtrToSet(set, &b, &numberOfPointers);
addPtrToSet(set, &a, &numberOfPointers); // will not be added to set
這裏假設sizeof(int*) == sizeof(char*)
相關問題
- 1. CUDA設備指針操作
- 2. - * - 指針操作?
- 3. 在使用非指針操作時使用指針
- 4. 指針OOP操作
- 5. 使用指針指針數組來操作它指向的指針(C++)
- 6. 使用指針 - 成員操作符?
- 7. 操作使用指針到STL地圖
- 8. 指針malloc和操作指針
- 9. 設置圖片操作模式捕捉指針
- 10. 獲得空指針異常而標題設置爲操作欄
- 11. 使用data.table設置操作
- 12. 設置指針引用
- 13. 使用指針/類的設置方法
- 14. 使用反射設置指針值?
- 15. 使用指針設置變量
- 16. C - 傳遞和操作字符指針和指針指針
- 17. 指針+操作符問題
- 18. 無效的指針操作
- 19. 單行指針操作
- 20. 結構指針操作
- 21. 雙指針字符操作
- 22. 重載操作符(指針)
- 23. ctypes和指針操作
- 24. 使用操作符>>帶指向ifstream對象的指針
- 25. 使用指針:指針指針指針
- 26. 未知用途的指針操作
- 27. 無效指針操作+調用棧
- 28. 指針和引用操作符(&)
- 29. 使用指針不工作來設置頂點
- 30. 操作指向任意位置的指針
你有沒有嘗試過這樣的:http://bit.ly/H5jb6Q – Sadique
我做我明白三分球,但我不知道如何如果你看過我的問題使用它們套正確你會理解 – user90790