久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3334|回復: 1
打印 上一主題 下一主題
收起左側

請教c語言中指針所指地址的值變化的問題

[復制鏈接]
回帖獎勵 2 黑幣 回復本帖可獲得 2 黑幣獎勵! 每人限 1 次(中獎概率 40%)
跳轉到指定樓層
樓主
ID:338940 發表于 2019-3-25 11:44 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
有以下兩個程序,程序1中為什么*p將m的地址值傳遞給*s之后,*s又指向了k的地址值,到最后*p的所指向大的值還是不變呢?
程序2中為將i和j的地址值賦給*p和*q之后,再調用f函數,為什么他們所指向的地址的值又改變了呢,還有i,j不是實參嗎?怎么它們的值會改變呢?
這兩道題的區別是什么呢?怎么判斷指針所指的地址變還是不變呢,希望懂的老哥來指導一下,謝謝!

程序1:
#include <stdio.h>
int k=5;
void f(int*s)
{
s=&k;
}
main()
{
int m=3,*p=&m;
f(p);
printf("%d,%d\n",m,*p);

}
結果是輸出 3,3。
程序2:
#include <stdio.h>
int *f(int *s,int *t)
{
if(*s<*t)
*s=*t;
return s;
}
main()
{
int i=3,j=5,*p=&i,*q=&j,*r;
r=f(p,q);
printf("%d,%d,%d,%d,%d\n",i,j,*p,*q,*r);

}
結果輸出為 5,5,5,5,5

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:497656 發表于 2019-3-25 13:56 | 只看該作者
程序1中的s是局部變量在函數調用還沒有完成之前和p指向的地址相同,當函數完成之后s的指向和p就不同了。程序2中的p所指的地址沒有變,而是在調用函數中改變了他所指的地址中的變量值而已
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 99精品免费在线观看 | 成人在线看片 | 欧美一级欧美三级在线观看 | 中文字幕亚洲一区二区三区 | 日韩欧美在线播放 | 久久精品国产亚洲夜色av网站 | 婷婷成人在线 | 午夜影晥| 欧美精品福利 | xxxxxx国产 | 91一区二区三区在线观看 | 国产精品视屏 | 小早川怜子xxxxaⅴ在线 | 国产一区二区自拍 | 久草日韩| 欧美一级毛片免费观看 | 欧美4p| 亚洲免费视频网址 | 99精品一级欧美片免费播放 | 97精品超碰一区二区三区 | 国产精品一区二区免费 | 黄色大片网站 | 91美女视频 | 欧美大片黄 | 中文字幕在线观看第一页 | 涩涩导航 | 日本福利一区 | 国产精品成人久久久久a级 久久蜜桃av一区二区天堂 | 国产 欧美 日韩 一区 | 成人午夜在线视频 | 欧美黄色小视频 | 国产在线精品一区二区三区 | 亚洲成人国产精品 | 亚洲一区二区三区视频 | 免费亚洲网站 | 午夜精 | 日韩成人av在线播放 | 91精品国产99 | 五月综合久久 | 国产日韩一区二区三区 | 成人性视频免费网站 |