00:00:56 @lo48576@mastodon.cardina1.red
2022-09-23 23:50:11 めいめいの投稿 mei23@misskey.m544.net
icon

このアカウントは、notestockで公開設定になっていません。

00:00:57 @lo48576@mastodon.cardina1.red
2022-09-23 23:55:47 B̅の投稿 cmplstofB@mathtod.online
icon

このアカウントは、notestockで公開設定になっていません。

00:01:18 @lo48576@mastodon.cardina1.red
icon

C言語での"return"は他動詞ではなく自動詞 - 何とは言わない天然水飲みたさ
blog.cardina1.red/2016/07/08/r

Web site image
C言語での"return"は他動詞ではなく自動詞
00:03:12 @lo48576@mastodon.cardina1.red
icon

return value の和訳なぁ

00:03:40 @lo48576@mastodon.cardina1.red
icon

戻り値派だけどあまりこだわりはない (あとパラダイム次第?)

00:12:59 @lo48576@mastodon.cardina1.red
2022-09-24 00:07:48 まちカドおるみん御嬢様の投稿 orumin@mstdn.maud.io
icon

C 言語は K&R 出版前の ancient Unix 実装に使われた C ですら関数の宣言には戻り値の型があって return は return(val); 的な記法で値を明示的に返す用法だったので、C の return は ret 命令の糖衣構文的なものであるというのは成り立たないんではないか。

00:13:11 @lo48576@mastodon.cardina1.red
2022-09-24 00:08:40 まちカドおるみん御嬢様の投稿 orumin@mstdn.maud.io
icon

無論 void func() が return; で戻るだけの関数も当時からあるけど

00:14:16 @lo48576@mastodon.cardina1.red
icon

論理回路を親だと思って育ったオタクなので、手続き型やその派生のことを考えるときすーぐアセンブリとか回路レベルのアナロジーまで落としてしまうんだよな、良くない癖だがなかなか治らない

00:15:25 @lo48576@mastodon.cardina1.red
icon

例の記事、たぶん C の規格を確認せず書いたやつだからね (マジかよ)

00:15:59 @lo48576@mastodon.cardina1.red
2022-09-24 00:15:41 orangeの投稿 orange_in_space@mstdn.nere9.help
icon

オレンジも戻り値って言ってる気がするけど、
モダンなPascalの場合はreturn valueじゃなくresultって言葉が使われてたりもするし、Cももしresultって言葉を使ってたら日本語も「結果」になってシンプルだった気がしなくもない><(?)

00:16:21 @lo48576@mastodon.cardina1.red
icon

C では result をポインタ引数への代入で返したりするのでその語法はややこしい

00:16:45 @lo48576@mastodon.cardina1.red
icon

あと errno

00:17:01 @lo48576@mastodon.cardina1.red
2022-09-24 00:15:57 まちカドおるみん御嬢様の投稿 orumin@mstdn.maud.io
icon

ちなみに return val; ではなく return(val); になってるのは今でもたまにやる人はいるが基本的には (val); が expression として解釈された結果の val を return に渡すので結論としては return val; で解釈されることになり関数っぽく見せ掛ける意味はあんまりないんだけど、pre K&R C の実装の return は関数として実装されていないかどうかは覚えていない。コンパイラのコード読めばわかる話だがアレの当時のコンパイラのコード読むのたいへんだからな……

00:19:13 @lo48576@mastodon.cardina1.red
icon

朝食

Attach image