我有memcpy/memmove改變struct FOO foo
的指針的問題,它既不是src也不是函數的目的地。以下是gdb的輸出:memcpy/memmove的奇怪行爲
之前memmove(y,y_temp,size_y);
:
(gdb) p y
$38 = 0xbff7a2e0
(gdb) p y_temp
$39 = (float *) 0x815ea20
(gdb) p foo
$40 = (FOO *) 0x81d4e90
後:
(gdb) p y_temp
$41 = (float *) 0x343434
(gdb) p y
$42 = 0x343434
(gdb) p foo
$43 = (FOO *) 0x343434
這裏是變量的定義:我知道
FOO *foo;
float y[nsamples];
float size_y = nsamples*sizeof(y);
float* y_temp = (float*) malloc(size_y);
,它並不是memcpy/move的錯誤,所以我在尋找一個tipp,在我身邊有什麼編程錯誤造成它。
感謝
+1,第二次也如果我可以for'size_t'的建議 – 2010-09-27 12:33:53
謝謝,我知道這是一個這樣的小笨蛋! – Framester 2010-09-27 12:34:38