手机浏览器扫描二维码访问
stringresult=touppercase(str);
将会报错,而
char[]str=“helloworld“;
stringresult=touppercase(str);
却能够得到正确的结果,至于为什么会这样,结合字符串是常量的概念,以你们现在的水品来说,应该是能够明白这其中的道理的。」
老爹笑了笑。
「第一种情况str是一个指针,它直接指向了一个常量,而touppercase()却试图修改一个常量的值,所以在运行的时候报错了。
但是第二种情况str是一个数组,没有任何限制,在函数中temp获取了这个数组的指针地址,然后对其修改,自然不会出任何问题。」
小弦子不愧是小弦子,我都还没有来得及尝试运行代码,他居然凭空推算出来了结果,不佩服真的不行。
「嗯,不错,的确是这样。这就是指针作为返回值的用法,应该没有什么难度吧?」
若是按照老爹例程代码来看,好像确实没有什么难度。
「不过返回一个指针,一定要确保这个指针是可用的,如果你返回的指针地址是函数中的一个局部变量,就可能引发不可预知的错误。
因为局部变量在函数执行结束后就被回收了,这时如果通过指针来访问一个被释放的了内存,会引发的后果是真的无法预料。」
我和小弦子都深以为然地点了点头,毕竟类似的问题老爹已经强调过好多遍了。
「好了,那我们就来讲讲最后一种情况,一个指针指向一个函数。先说如何定义一个函数指针:
返回值类型(*fp_name)(参数类型1,参数类型2……)
例如:
int(*fp)(int,int)
就声明了一个函数指针变量,它可以指向返回值为int类型,参数列表为两个int类型的所有函数。
intmax(inta,intb)
{
retua>ba:b;
}
intmin(inta,intb)
{
retua>bb:a;
}
比如说这里的max和min都符合条件,所以我们就可以这样:
上门龙婿陆凡 梦灾末世生存指南 校园全能马甲女神 大佬甜妻宠上天 张钟颖 夫人的病今天好了吗 戚风童话 嗣子荣华路 四龙攒凤 衫生诡 阴阳眼小师妹 韩娱之聚光 龙婿陆凡 最强豪婿陆凡 迟宠 王妃称心 青梅千千结 顾九辞霍明澈 我的蛮荒部落 异界烽火录贰烽云再起
被亲妹妹算计,抢走家族荣誉还不算,连青梅竹马的未婚夫也被抢走!夏小汐发誓,要报仇!伙同男闺蜜制造复仇计划,咦?结婚证上这是谁?一不留神嫁给男闺蜜的舅舅墨夜霆!墨夜霆是谁?那个富可敌国权势滔天的男人!据说还是个GAY!管他呢,先虐了渣渣再说。可是,虐完渣以后呢?离婚该提上日程了,可他对她却日日宠,夜夜宠,化身宠妻狂魔。十天有八天起不来床的夏小汐,欲哭无泪,不是说他是GAY吗?GAY你大爷!...
没认识简时初之前,叶清瓷一直是个倒霉蛋,认识简时初之后,老天爷一本正经的告诉她,没有最倒霉,只有更倒霉!但是等嫁给简时初之后,叶青瓷就开始转运了。嗯,嫁人,结婚真好。...
昊苍大世界,圣尊楚逍遭红颜背叛,被仇敌围杀,一缕真灵重生下界。天才?妖孽?我武技神通信手拈来,千年记忆无所不知,秘法手段层出不穷。你以为我有一点强,其实我已经强到了无数点...
一个在山上学医学武的富二代,在得知父亲病重后,决定下山,夺回属于自己的一切,于是,一场都市狂澜开始卷起...
为了游戏里的皮肤,女友竟然背着我百星荣耀王者强势回归,手把手教你上王者!...
这是一个退役女大兵和娱乐圈流量小哥哥相互支持,相互救赎的爱情故事。蒋秀心与李铭渊的相遇就像是上天给他们开的一个巨大的玩笑两人几乎完全相反的性格,却因为一场醉酒被稀里糊涂的绑到一起一个是背景神秘的女保镖一个是几乎无法拥有自己隐私的当红流量明星一个是外冷内热的假小子一个是外热内冷的真傲娇这样的两个人走到一起,将会谱写出一章怎样的故事...