指標使用的三個注意

2021-08-15 23:27:31 字數 940 閱讀 8023

int a=5;

int*p=&a;

或者儲存一段連續空間的位址,如結構體的某一單元:

node *p=(node *)malloc(sizeof(person));
int (*compare)(int a.int b);
當然指標之間也可以賦值,例如:

int

*p=&a;

int*q=p;

2.指標指向的物件的內容是什麼(物件的內容是否改變);

3.一定不要使用未初始化的指標;

以下面這一小段約瑟夫環的實現**為例:

typedef

struct nodeperson;

person * initlink(int n)

cyclic->next=head;//首尾相連

return head;

}

該函式是為了將約瑟夫環初始化,即將n個元素首尾連線在一起,person *head指向了乙個number=1的結構單元(簡稱1吧),之後person *head將這段位址賦值給了person *cyclic,這時cyclic儲存的是1的記憶體位址,然後操作cyclic->next=body使得cyclic控制1指向了2,然後cyclic=cyclic->next使得cyclic儲存了2的位址,以此迴圈直到cyclic變成了儲存n的位址,最後cyclic->next=head將head儲存的位址賦值給了cyclic->next,因為head儲存的始終是1的位址,所以1到n的就結構單元首尾相連啦

整個過程要始終清楚指標head與指標cyclic指向哪,指向物件的內容是什麼

near far huge三個指標的區別

1 近 near 指標 近指標是16位指標,它只含有位址的偏移量部分,當用組合語言和c語言混合程式設計時,組合語言總是假設ds含有資料目標的位址。雖然近指標占用空間最小,執行速度最 快,但它有乙個嚴格的限制,即只能64k位元組以內的資料,且只能訪問程式的資料段內的資料。如果在小模式下編譯乙個程式,而...

機器學習 三個指標

首先,來了解一下下真正例 假正例 假負例 真負例。tp,fp,fn,tn 聽著就迷迷糊糊 不過,有了下面這張圖就好理解多了 嘻嘻這是我花了二十分鐘做出來的!真正例 tp 實際值為yes 也為yes 假正例 fp 實際值為no,為yes 假負例 fn 實際值為yes,為no 真負例 tn 實際值為no...

快速排序 三個注意點

o n logn 的快排,交換啊a i 和a j 之前,一定要保證i每次遞迴都要保證l includeusing namespace std int a 100 int n 三個注意點,每個都必須要寫對,否則就報錯,一定要保證l a p j i while a i a p i 這裡保證iif i s...