亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 3728|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

請(qǐng)教c語(yǔ)言中指針?biāo)傅刂返闹底兓膯?wèn)題

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

程序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);

}
結(jié)果是輸出 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);

}
結(jié)果輸出為 5,5,5,5,5

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

使用道具 舉報(bào)

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

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表