我刚学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个地址的内存数据,看看是否和我定义的值相同。
我这里没有出错:
*m=123 , *n=1234567
m=2293620 ,n=2293616
int 好像占4个字节
对了,不同的平台可能int的字节大小也不一定的,与平台有关,平时开发,用的是size_t类型的。