大学IT网 - 最懂大学生的IT学习网站! QQ资料交流群:367606806
当前位置:大学IT网 > C技巧 > 测试向内存写数据

测试向内存写数据

关键词:内存测试数据  阅读(613) 赞(11)

[摘要]本文是对测试向内存写数据的讲解,对学习C编程技术有所帮助,与大家分享。
 //function1向指定内存写数据,已知a的地址是18FEF0
 
 int function1()
 {
     int a=0;
     int *p=&a;
     int *q=(int*)0x18FEF0;    //指定q的地址为0x18FEF0
 
     printf("a=0的地址=%X\n",&a);
     printf("*p的地址=%X\n",p);
     printf("a的值=%d\n",a);
     printf("*p的值=%d\n",*p);
     printf("*q的值=%d\n",*q);
     *q=3;                    //向18FEF0写入数据3
     printf("*q的地址=%X\n",q);
     printf("*q的值=%d\n",*q);
     printf("a的值=%d\n",a);
     return 0;
 }

运行结果:

分析:

a是int型变量,它的地址是0x18FEF0,*p指向这个地址,相当于给这个地址重新取了个名字叫P,内存上的值没变,故*p=0。指定*q的地址为0x18FEF0,向这个内存写入数据3,改变了此内存上存的值。a其实是0x18FEF0的另外一个名字,0x18FEF0上的值变了,故a的值=3。



相关评论