原帖由 "lizhenjia" 發(fā)表:
ar *p = NULL;
一個(gè)字符串變量s保存地址: strcpy(s, "f22b0000"
一個(gè)指針變量p = (char *)malloc(10000);
那么計(jì)算如何得到p的地址和s所保存的地址之間的差值呢?
原帖由 "lizhenjia" 發(fā)表:
to :lenovo
我現(xiàn)在不是要把他們打印出來,而是根據(jù)這個(gè)差值作為偏移量加到另外的一個(gè)指針變量得到新的地址,如何用變量表示呢?如果地址比較大用strtol好像不行,比如fe650000,printf("%x\n", strtol("fe65000..........
原帖由 "lizhenjia" 發(fā)表:
我得意思:
strcpy(s, "fe650000"
p = (char *)malloc(10000),假設(shè)p的地址是fe640000
現(xiàn)在我要計(jì)算s的地址和p的差,并付給另外一個(gè)指針變量!
是不是應(yīng)該這樣:p1 = strtol(s, NULL, 16) - p;
不過現(xiàn)在的?.........
歡迎光臨 Chinaunix (http://72891.cn/) | Powered by Discuz! X3.2 |