在C语言中如果已经知道了一个数据的内存地址,怎样直接从内存中读取出该数据?
我刚学C语言,用的是DEV-C++软件。最近刚学到指针。我定义了一个指针变量,然后通过取地址符&取得了我已经定义的一个int数据的内存地址。但是我不想通过指针变量来直接输...
我刚学C语言,用的是DEV-C++软件。最近刚学到指针。我定义了一个指针变量,然后通过取地址符&取得了我已经定义的一个int数据的内存地址。但是我不想通过指针变量来直接输出该int数据的值,而是想直接读取内存的数据,看看和我定义的int数据值是否相同。
例程:
#include<stdio.h>
int main()
{
int a=123,b=1234567;
int *m,*n;
m=&a;
n=&b;
//printf("*m=%d\t,*n=%d\n",*m,*n); //这里不用指针变量直接输出int数据
printf("m=%d\t,n=%d\n",m,n);
return 0;
}
通过这个程序,我知道了m , n的值。它们是int a,b的内存地址,但是不知道怎样直接读取这2个地址的内存数据,看看是否和我定义的值相同。 展开
例程:
#include<stdio.h>
int main()
{
int a=123,b=1234567;
int *m,*n;
m=&a;
n=&b;
//printf("*m=%d\t,*n=%d\n",*m,*n); //这里不用指针变量直接输出int数据
printf("m=%d\t,n=%d\n",m,n);
return 0;
}
通过这个程序,我知道了m , n的值。它们是int a,b的内存地址,但是不知道怎样直接读取这2个地址的内存数据,看看是否和我定义的值相同。 展开
展开全部
printf("*m= a =%d\t, *n= b =%d\n",*m,*n);
这不就行了;
或也可如下:
int *c;
c = m;
printf("*c =*m= a =%d\n, *c);
c = n;
printf("*c =*n= b=%d\n, *c);
这不就行了;
或也可如下:
int *c;
c = m;
printf("*c =*m= a =%d\n, *c);
c = n;
printf("*c =*n= b=%d\n, *c);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
*m, *n 就是读取的这两个地址的内存数据
追问
这个我知道呀,现在就是不用这2个指针变量。有没有其他方法直接读取内存数据。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询