指標運算問題

2021-05-28 06:51:19 字數 484 閱讀 4724

#include

#include

struct num ;

int main(void)

結果:sizeof(struct num) = 40

p                  = 100000

p+0x1         = 100028

(long)p+0x1    = 100001

(unsinged long)p+0x1 = 100001

(unsinged long *)p+0x1 = 100004

(char)p+0x1 = 1

(char*)p+0x1 = 100001

(short)p+0x1 = 1

(short*)p+0x1 = 100002

此題目的重點在於先求出結構體的長度,位元組對齊問題,指標的執行問題及強制轉化後0x1的長度,還要考慮強制轉化後變數能否存入p的值。

指標的運算

指標運算 指標演算法並不依賴於指標的型別,如果p是乙個指向char的指標,那麼p 1就指向下乙個char 算術運算 指標的算數運算只限於兩種形式 指標運算只有用於陣列中其結果才是可以 的,對於任何並非指向陣列元素的指標執行算數運算其結果是非法的 1.指標 整數 結果也是指標 這種形式只能用於指向陣列...

指標加減運算

include include 字元陣列 指標是4位元組 指標 指標 錯誤 指標之間相加無限大,記憶體崩潰,所以指標 指標是不可能 指標 指標 得到之間間隔的單元個數。1 算出間隔的位元組數,2 除以調整的權重 int main x 可以設arr的起始位址是x int p arr 1 x 4 指標是...

指標的運算

指標的運算包括 1 指標的加法 2 指標的減法 char short int long long long float double 位元組數 1 2 2 4 4 8 4 8 int不加說明為4個位元組 對指標的加法而言 指標是不能加指標的 它只能加乙個數字 比如 指標 1 加乙個單元格 需要調整 ...