char 指標偏移一次1個位址,int 指標偏移一次4個位址,void 型指標偏移一次是多少個位址呢?

時間 2021-05-11 01:43:33

1樓:SuperSodaSea

標準 C/C++ 不支援 void* 上的加減法,不過 gcc 上有擴充套件(+1):

Pointer Arith (Using the GNU Compiler Collection (GCC))

6.24 Arithmetic on void- and Function-Pointers

In GNU C, addition and subtraction operations are supported on pointers to void and on pointers to functions. This is done by treating the size of a void or of a function as 1.

A consequence of this is that sizeof is also allowed on void and on function types, and returns 1.

The option-Wpointer-arithrequests a warning if these extensions are used.

2樓:avoidant

指標即位址變數。

位址二要素:位址值、位址處物件大小

後者決定了對位址加一之後,得到的位址值。

int*指標的「位址處物件大小」為4。

而void*指標裡的位址,不具備位址二要素的第二要素。對它談加一是沒有意義的。

有型別的位址(除void*外的所有位址型別)無型別的位址(void*)

3樓:C十十20年

void 並不表示無型別或空型別的意思,參見《C++程式設計精要教程》,它表示型別不知道,隨便什麼型別都可以。因此void *表示指向任何型別(故任何位元組數的記憶體塊)均可。由於指標指向的位元組數不定,故指標移動一次跳過多少位元組不定,故不允許void*p之類的指標p移動,如p+1、p++、p=p+1以及*(p+1)。

void *p可以接受許多(不是任何)具體型別的指標或位址的值,例如p=new int [6]; p=new double[6]; 等。但delete的引數為const void*型別,以便接受任何型別(歷史原因:這裡是任何。

不用許多一詞)的指標或位址。而要在catch的捕獲列表接受任何指標型別的實參,須用const volatile void *。型別解析是C或C++的難點,還是看前述教程吧。

太多內容,一言難盡。

1個骰子連續擲10000次,出現一次以上連續6個6的概率是多少?

林大錘 問題還是寫清楚,你這個情況下如果說是投了連續6個6之後的話重新再算,還是可以連續算6,比如說8個6是算三次啊,還是說重新再開始算,你這個問題需要補充。 Chaser 理論值多少自己算,沒意思。這個問題可以幫老師檢查作業,判斷你有沒有動手擲色子。比如,你可以算一算連續n個一樣數值的概率分布,就...

SUV 輪胎使用多久更換一次? 4 個一起換還是壞乙個換乙個?

佳佳佳123 輪胎多久換一次 第一點 如果輪胎出現老化的現象 例如 胎面花紋溝底或胎邊有無數的小裂紋已經快要傷及胎體 就需要及時將此輪胎換下,不管輪胎使用了多久以及磨損了多少。第二點 如果輪胎花紋所剩溝槽深度達到或低於1.6公釐 輪胎胎面縱向直條溝槽內有指示該深度的指示標記 輪胎必須被更換,因為輪胎...

第一次相親物件是個悶騷型IT男,本人很喜歡,但是人家說跟我一起木有男女朋友的感覺。哭ing 。求支招?

可可 你太主動了,一般自己忍不住的多半會被對方不當回事,他會覺得你比較隨便,就算開始對你有好感也會被嚇跑的,我覺得這個男孩你還是放棄吧,以後稍微矜持點 君子在野 做為乙個一年後未來的IT男有過類似被追的經驗,一定要說,女追男,隔層紗,IT男大都不太開放,千萬別太主動,不然會給人留下可能不檢點的形象 ...