求p1 5和p2 5等於多少?

2021-08-28 22:27:50 字數 1210 閱讀 8090

例子:

unsigned char *p1; 

unsigned long *p2; 

p1=(unsigned char *)0x801000; 

p2=(unsigned long *)0x810000;

求p1+5= ; p2+5= ; 

解答:

p1 = 5 * sizeof(unsigned char) + 0x801000 = 0x801005

p2 = 5 * sizeof(unsighed long) + 0x801000 = 0x801014

注意:在這篇文章中給出了不同位數編譯器下的基本資料型別所佔的位元組數:

16位編譯器

char :1個位元組

char*(即指標變數): 2個位元組

short int : 2個位元組

int:  2個位元組

unsigned int : 2個位元組

float:  4個位元組

double:   8個位元組

long:   4個位元組

long long:  8個位元組

unsigned long:  4個位元組

32位編譯器

char :1個位元組

char*(即指標變數): 4個位元組(32位的定址空間是2^32, 即32個bit,也就是4個位元組。同理64位編譯器)

short int : 2個位元組

int:  4個位元組

unsigned int : 4個位元組

float:  4個位元組

double:   8個位元組

long:   4個位元組

long long:  8個位元組

unsigned long:  4個位元組

64位編譯器

char :1個位元組

char*(即指標變數): 8個位元組

short int : 2個位元組

int:  4個位元組

unsigned int : 4個位元組

float:  4個位元組

double:   8個位元組

long:   8個位元組

long long:  8個位元組

unsigned long:  8個位元組

(P15)守護程序

include include include include include include include include include define err exit m do while 0 呼叫者程序將稱為新會話期的領頭程序 呼叫者程序成為新會話期中唯一的乙個程序組的組長 新的會話期沒有...

P15三數之和

給定乙個包含 n 個整數的陣列nums,判斷nums中是否存在三個元素 a,b,c 使得 a b c 0 找出所有滿足條件且不重複的三元組。注意 答案中不可以包含重複的三元組。例如,給定陣列 nums 1,0,1,2,1,4 滿足要求的三元組集合為 1,0 1 1,1,2 related topic...

讀《ATL開發指南》p25感想

李國帥 於2005 12 9 8 50 作為一名c 開發人員,你將極其頻繁地實現和使用介面 作為c 類的實現者,乙個程式開發人員需要把類實現方面的細節封裝起來的。為了做到這一點,你可以使用public,private和protected。c 類的使用者僅通過類的公共介面與類例項打交道,因此介面被看作...