程式設計實現sizeof的功能來計算int型資料的位元組數

時間 2022-02-26 01:10:20

1樓:陸展博

(char*)(&a+1);把a移動一個型別位元組數,轉換為指向char型別的指標後以char型的1位元組計數,而轉化為指向int的指標後以4位元組為單位計數...

2樓:海獅

說實在話sizeof是不可能實現的,那個是一個關鍵字,本來就沒有幾個關鍵字。為什麼要設定一個這個東西呢?

你這個函式不管寫成什麼樣,都是幾乎固定的返回一個值而已,和真正的sizeof不一樣。

此外就是sizeof char是等於1的,但是不是每個系統中,char都是一個位元組,你這個會根據編譯器的不同而得到不同的結果。而sizeof (char)規定為1,sizeof (int)返回int長度。如果char長度為2(比如類似wchar),而int長度為4,你的程式返回2,而sizeof返回4。

作為練習要搞清指標加減的含義,也並不是每種指標都可以見加減的,每種運算都有特定的含義,他和前後的運算元都有關係。

3樓:尤淑英巨嫻

假設a存放在地址1000裡

那麼&a就是1000

因為a是int型別

所以&a+1就是int指標向後移一個int型別長度32位裡是4

我們先假設它是4

那麼&a+1的地址就是1004

而char型別的字長是1

把指標型別強制轉換後

指標減法就變成了實際的自己數

所以1004-1000=4

PLC程式設計中的順序功能圖,在PLC程式設計中,有一個順序功能圖,是不是所有程式設計前,都要先畫出這個功能圖呢?還是說,利用順序功能圖程式設計

西門子的順序功能圖是程式語言的一種,和我們說得畫圖有本質的區別,它的圖塊包含有處理程式,我們只給出滿足工步的條件,裡面的邏輯關係都在塊裡由系統完成。 順序功能圖畫好之後,你的程式設計就會很輕鬆了,按照畫好的圖一步步的用梯形圖實現就好了 如果你不畫,直接從頭開始編,很難保證每一步的邏輯都完全正確,而通...

VB程式設計利用迴圈實現計算1 2 3 4100的值。怎麼做

public class form1 dim i as integer dim result as integer 0private sub button1 click byval sender as system.object,byval e as system.eventargs handles...

C winform程式,怎麼實現選單的功能

首先要將父窗體的ismdiparent屬性設定為true,第二,就是將menu控制元件加入要新增控制元件的窗體,然後就是挨個的新增按鈕控制元件,就是改變那個按鈕文字了,例如 設定比賽資訊 選手管理 等按鈕文字,之後,在這些按鈕的click單擊事件中新增 要開啟的窗體 例項 new 要開啟的窗體 例項...