當前位置:編程學習大全網 - 源碼下載 - 在C語言中如果已經知道了壹個數據的內存地址,怎樣直接從內存中讀取出該數據?

在C語言中如果已經知道了壹個數據的內存地址,怎樣直接從內存中讀取出該數據?

要讀取內存數據的話,只能通過指針,妳只能通過自己定義壹個int的指針,讓他指向壹個內存地址,然後通過*指針的形式讀出來。

妳說的“我不想通過指針變量來直接輸出該int數據的值,而是想直接讀取內存的數據,看看和我定義的int數據值是否相同。”是沒意義的,就好像妳要確定我這個人是不是我這個人壹樣,如果妳壹定要寫的話,可以寫成這樣。

#include<stdio.h>

int main()

{

int a=123,b=1234567;

int adda=&a,addb=&b;

int *m,*n;

m=adda;

n=addb;

//printf("*m=%d\t,*n=%d\n",*m,*n); //這裏不用指針變量直接輸出int數據

printf("m=%d\t,n=%d\n",a,b);

return 0;

}

這裏的m和n已經和a,b沒有任何邏輯聯系了,他們只是表示兩個內存段的數據而已。

再明確點可以寫成

#include<stdio.h>

int main()

{

int a=123,b=1234567;

int adda=&a,addb=&b;//adda和addb僅僅表示兩個內存地址

int contenta,contentb;

contenta=*adda;

contentb=*addb;//這兩句的含義是兩個內存地址裏面的內容,他們和變量a,b沒有邏輯關系

//printf("*m=%d\t,*n=%d\n",contenta,contentb); //這裏不用指針變量直接輸出int數據

printf("m=%d\t,n=%d\n",a,b);

return 0;

}

這裏就是妳說的比較a以及a所在的內存塊(adda)裏面內容是不是和a相等

  • 上一篇:浙江歙縣離杭州蕭山區有多遠?
  • 下一篇:股場十大交易策略範文
  • copyright 2024編程學習大全網