C語言,指標轉換問題

時間 2022-09-03 04:20:07

1樓:匿名使用者

記憶體對齊的緣故。

p_buf 作為乙個指標,它的值是記憶體的某個位元組的位址。

如果想要把 p_buf 強制轉換成乙個 unsigned int*型別的指標,

需要滿足乙個必要條件,就是 p_buf 的值必須能夠被4整除。(之所以是4,是因為 unsigned int 是要佔4個位元組的)

所以你的做法會崩潰的。

2樓:葬淚

你好,我執行你的程式沒什麼問題。一般不記憶體越界,都不會出錯。我把程式附上:

#include

#include

#include

int main()

執行結果:538976288

3樓:

能確切知道是哪一句**出問題嗎 ?

這段**看不出問題,不過還想要知道其它的**;

4樓:匿名使用者

memset(p_buf,0x20,500);//這句是要初始化成空格?都初始化成空格了最後讀出來一定不理想吧?

C語言,指標問題,C語言,指標問題

指標的概念 指標是乙個特殊的變數,它裡面儲存的數值被解釋成為記憶體裡的乙個位址。要搞清乙個指標需要搞清指標的四方面的內容 指標的型別,指標所指向的 型別,指標的值或者叫指標所指向的記憶體區,還有指標本身所佔據的記憶體區。讓我們分別說明。先宣告幾個指標放著做例子 例一 1 int ptr 2 char...

C語言指標問題

樓主,形參是不能改變實參的值的,如果你想得到你的效果,只能把printf 放入函式裡面才能使你的數字順序改變 抱歉!不是很明白lz問啥 這程式是把陣列a的 n1,n2 的元素順序對調啊,不覺得有問題 還有,你說那 執行後內容沒有變 是不是你看錯了?肯定變的,如第一遍後a 0 4吧。抱歉,只能這樣了,...

c語言指標問題

p c 表示的是變數c的位址指向p,既是指標變數p裡面存的就是c的位址,通過p能找到c,此時 p c.例如c的位址是1000h,c 3.則p 1000h,p 3.p c 表示c的位址存到p指向的變數 p為指標變數,已經指向乙個變數 此時例如p指向的變數b p b p c執行後 c的位址是1000h ...