标题:变量的值和变量在内存中的地址的关系?求解
只看楼主
peng880610
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:128
专家分:123
注 册:2017-3-29
结帖率:100%
已结贴  问题点数:18 回复次数:2 
变量的值和变量在内存中的地址的关系?求解
#include <stdio.h>
#include <conio.h>
void swap2Variable(int* a,int* b)
{
    printf("a在内存中的地址为%p,b在内存中的地址为%p\n",&a,&b);
    printf("a的值为%p,b的值为%p\n",a,b);
    int temp;
    temp=*a;
    *a=*b;
    *b=temp;
}

int main()
{
    int num1=3,num2=5;
    printf("num1在内存中的地址为%p,num2在内存中的地址为%p\n",&num1,&num2);

    int* pnum1=&num1;
    int* pnum2=&num2;
    printf("pnum1在内存中的地址为%p,num2在内存中的地址为%p\n",&pnum1,&pnum2);
    printf("pnum1的值为%p,num2的值为%p\n",pnum1,pnum2);
    swap2Variable(pnum1,pnum2);
    printf("num1=%d,num2=%d",num1,num2);
    getch();
    return 0;

}
上述代码运行结果如下:

问题了来了,这个pnum1的值和pnum1在内存的地址是怎么样的关系?求大神帮忙指点下。。。
搜索更多相关主题的帖子: include 
2017-05-20 13:26
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
得分:0 
任何值都需要一个存储空间。
当定义一个变量的时候,同时也为这个变量分配了空间,用来存储值。

09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-05-20 13:49
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:18 
void swap2Variable(int* a,int* b)
{
    printf("a在内存中的地址为%p,b在内存中的地址为%p\n",a,b);
    printf("a的值为%d,b的值为%d\n",*a,*b);
    int temp;
    temp=*a;
    *a=*b;
    *b=temp;
}
2017-05-20 14:08



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-477182-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.066304 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved