C言語なら俺に聞け 157

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 0345-kMi9)
垢版 |
2021/06/28(月) 11:22:51.50ID:so+vl3vs0
!extend:checked:vvvvv:1000:512
(新スレ立ての際上記コマンドを2行書き込んでください)
C言語の話題のみ取り扱います C++の話題はC++スレへ
質問には最低限の情報(ソース/コンパイラ/OS)を付ける
数行で収まらないソースは以下を適当に使ってURLを晒す
https://paiza.io/
https://ideone.com/
http://codepad.org/

C11
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf

C99
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf
http://kikakurui.com/x3/X3010-2003-01.html

C FAQ 日本語訳
http://www.kouno.jp/home/c_faq/

JPCERT C コーディングスタンダード
https://www.jpcert.or.jp/sc-rules/

※前スレ
C言語なら俺に聞け 156
https://mevius.5ch.net/test/read.cgi/tech/1601271690/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2021/08/18(水) 09:07:55.01ID:a3KKdrJy0
ん、8087由来のサイズになってるのはlong doubleだろ
2021/08/18(水) 09:53:36.78ID:AHN/ch/v0
long double って表現がもう頭悪いよね・・・
2021/08/18(水) 14:10:11.42ID:a3KKdrJy0
%lfはどう見てもlong floatだね
%dはint用にしちゃってるから仕方なかったのかな
2021/08/18(水) 19:02:54.03ID:9oCYCOnk0
>>405
ダブロン って表現だとゲンが悪すぎるだろ・・
2021/08/18(水) 19:55:50.38
>>403
>その時代でも FPU のレジスタは大きめなサイズを持っていた。
80bit でしたっけ、そのうち仮数部が何ビットだったかは思い出せません
2021/08/18(水) 20:09:35.86ID:Wv6HiLZZ0
符号部1ビット+指数部15ビット+仮数部64ビット
410デフォルトの名無しさん (ワッチョイ ff02-VfHF)
垢版 |
2021/08/22(日) 01:54:25.30ID:0Cz6ueFz0
Rustのメモリ安全性はボローチェッカーによって担保されているが、
Nimと比較してRustはタイプ量が多い事により限りなく低い生産性と
C++のような高い難読性、超巨大なバイナリ生成性能を兼ね備えています

Nimはバージョン1.5.1でRustのボローチェッカーに似た「View types」が実装されれば、
GC無しのView typesで参照の有効性を検証することによってメモリ安全性を保証しつつ
限りなく抑え込まれたタイプ量で高速化したCのソースコードを吐き出せます

Nimソースコード ==nimコンパイラ==> Cソースコード ==Cコンパイラ==> バイナリ

なので、nimコンパイラが通った時点でメモリ安全性が担保されませんか?

Nimの実験的特徴
著者: アンドレアス・ルンプ
バージョン: 1.5.1
http://nim-lang.github.io/Nim/manual_experimental.html


Nimは限りなく抑え込まれたタイプ量で高い生産性とPythonのような高い可読性を実現し
ているにもかかわらず、高速なCのソースコードを吐き出せるのでC言語でリモートワーク
されている方は割り振られた仕事が早く終わっても終わってないふりをして怠けることができる

「怠け者とはこうあるべきだ!」と言うとても大事な事を Nim は我々に教えてくれます
2021/08/22(日) 11:26:19.76ID:D+A51yiS0
pythonを可読性高いという時点で眉唾だな・・・
2021/08/23(月) 11:13:34.28ID:4N/X7GO90
char *b = "0123456";

printf("%x\n", 3[b]);
// 33

これって、どうしてこういう書き方 3[b] ができるんだっけか
シンタックスシュガーとかじゃなく、明確な理屈があって出来ちゃうんだよね?
413デフォルトの名無しさん (エムゾネ FF9f-tXhk)
垢版 |
2021/08/23(月) 11:39:17.23ID:JYwdk8yBF
*(3 + b)
414デフォルトの名無しさん (ワッチョイ 7fad-WNkQ)
垢版 |
2021/08/23(月) 11:42:03.51ID:UaBHP8Yo0
>>412
いやあ、それ、シンタックスシュガーでしかないと思うが。
[の左側+[]の内側で計算した結果をポインタ扱いにするってだけなので。
2021/08/23(月) 11:52:16.18ID:4N/X7GO90
>>413-414
ありがとうなるほどそーいう理屈なのか
素晴らしいです。 全てを理解していきます
2021/08/23(月) 22:51:00.15ID:qUWlnfUi0
標準でもそのまんまだなぁ

> A postfix expression followed by an expression in square brackets [] is a subscripted designation of an element of an array object.
> The definition of the subscript operator [] is that E1[E2] is identical to (*((E1)+(E2))).
> Because of the conversion rules that apply to the binary + operator, if E1 is an array object (equivalently, a pointer to the initial element of an array object) and E2 is an integer, E1[E2] designates the E2-th element of E1 (counting from zero).
2021/08/23(月) 22:55:19.33ID:OjohHfKH0
余計なお世話になるが

printf("%x\n", 3["0123456"]);

これでもいいんだよな
2021/08/24(火) 00:04:42.72ID:MkJE9y3A0
>>417
良いよ。
2021/08/24(火) 10:01:54.33ID:tBKv4I6S0
脱線するけど、そもそもCでこの書き方できたのか
printf("%x\n", "0123456"[3]);
なんかできないと思い込んでた。 Cはなんでもできるんだな
2021/08/24(火) 17:49:40.18ID:DexxKsi10
IOCCCの黎明期ならマウントとれたネタだね
今ドヤるやつはプークスクスされるだけ
421デフォルトの名無しさん (ワッチョイ 7f81-WQfa)
垢版 |
2021/08/24(火) 19:44:16.50ID:KCG/N/Sb0
stack領域で確保したポインタをfreeしたらどうなるんですか?
2021/08/24(火) 20:03:31.48ID:Y1wLIEKvM
>>419
> printf("%x\n", 3["0123456"]);
はともかく
> printf("%x\n", "0123456"[3]);
は実用でもそこそこ使うだろ
4bitの数値を16進数に変換する時に
"0123456789abcdef"[i]
ってやるとかは定番
2021/08/24(火) 20:04:24.13ID:Y1wLIEKvM
>>421
鼻から悪魔が出てくる
424デフォルトの名無しさん (ワッチョイ 7f81-WQfa)
垢版 |
2021/08/25(水) 01:30:07.26ID:6n+Di1sM0
>>423
どういうことですか?
2021/08/25(水) 01:52:34.44ID:7J8MKXIfa
>>421
酔ってるからかもしれないけど、質問の意味からして分からない
実装によるだろうけど、動的に確保されるオブジェクトはヒープに確保されるだろうし
黙ってれば確保したメモリへのアドレスを保持するポインタはスタックに置かれるし
実装によるけど
426デフォルトの名無しさん (ワッチョイ 7fad-WNkQ)
垢版 |
2021/08/25(水) 02:58:06.66ID:kk6d2P3X0
>>422
定番って言えそうなほど使われているソースを見たことないなあ。
427デフォルトの名無しさん (ワッチョイ 7fad-WNkQ)
垢版 |
2021/08/25(水) 03:01:55.29ID:kk6d2P3X0
>>421
alloca()でメモり確保した場合のことを言ってるの?だとすればfree()しちゃダメだよ。やってしまった場合にどうなるかは使っているライブラリによるんじゃないかな。そういう呼び出しを想定していないライブラリだと落ちるかも知れない。
2021/08/25(水) 03:30:51.31ID:BzERENYF0
>>424
未定義のこと。
C における未定義は何が起きても構わないことを意味する。

あるときネットニュース上でそれを説明するやりとりがあって、
あらゆることが起こりうるという例として鼻から悪魔が出てくる
ことも含まれるというような言い回しが使われた。
https://groups.google.com/g/comp.std.c/c/ycpVKxTZkgw/m/S2hHdTbv4d8J

それが定着して未定義のことを鼻から悪魔というのが通例になっている。
2021/08/25(水) 05:56:16.97ID:oIlmdH3GM
>>426
ちょっとググればすぐに出てくるぐらいには使われてる

char hex_from_nibble(unsigned char n){
return "0123456789ABCDEF"[n & 0xf];
}
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q13162097918
430デフォルトの名無しさん (エムゾネ FF9f-tXhk)
垢版 |
2021/08/25(水) 09:19:52.23ID:U8ZXR+0VF
>>421
やってみろ
ほとんどの場合は何も起こらない
2021/08/25(水) 09:57:31.74ID:U3t+QZRrK
>>421
スタック…と言うかmalloc(calloc/realloc)で確保したポインタ以外をfreeすると何がおこるか判らない(鼻から悪魔)。
実際の話だと、大抵の実装ではmallocは確保した領域に管理情報を埋めて返し、freeはその管理情報を見て解放処理をする。この場合、管理情報がデタラメになるのでメモリアクセス違反でプログラムが落ちる事が多い。
2021/08/25(水) 10:00:41.38ID:VHSVWUHA0
freeは何もしないことも許される、なんて言って呼び出しそのものを否定するやついたな昔
2021/08/25(水) 11:31:20.70ID:hlr8Pa7o0
ほとんどの場合は、無人の荒野を爆撃するだけだろうが
いつかは住民が住んでいるところを攻撃するぞ
434デフォルトの名無しさん (ワッチョイ 7f81-WQfa)
垢版 |
2021/08/25(水) 12:30:15.33ID:6n+Di1sM0
僕はc言語自体初心者だったのですが、stack領域で確保したポインタをfreeするというのは以下のコードを指すつもりで言ってました。
int a;
free(&a);
鼻から悪魔が出るというのは未定義動作になると言うのを言うんですね。また一つ勉強になりました。
2021/08/25(水) 12:58:42.10ID:hlr8Pa7o0
ポインタでもないし、何をしたいかが分からん
この時空を破壊したいなら、もっと考えてからにして
2021/08/25(水) 13:00:03.19ID:wz3i5qam0
>>422
俺は愛を信じないので、そのコードはちょっと怖いかな
範囲内という前提があるだろうけど、なんかはみでそう
437デフォルトの名無しさん (ワッチョイ 7f81-WQfa)
垢版 |
2021/08/25(水) 13:41:27.53ID:6n+Di1sM0
>>435
ポインタとアドレス同じ意味で使ってます
2021/08/25(水) 13:46:43.33ID:f+OmsRJCr
>>434
ちなC++触りだすとスコープ{}内で宣言したものはスコープ出たところで
勝手に始末されるちゅー理屈で実装することも増えると思う。
でかい一時配列とかスタックに置きたくもないしいちいちfreeとかdeleteのこと考えたくないから。
変な所でreturnとかしたらfree忘れちゃう。C言語だとその辺は厳格にしないといけない。

あと、ローカル変数のアドレスをあまり気安く使ってると、そのうち関数抜けて廃棄された
アドレスを参照してしまうバグをだしちゃうかも。一度位は通る道かもね。
439デフォルトの名無しさん (ワッチョイ 1f85-tXhk)
垢版 |
2021/08/25(水) 19:45:37.21ID:s4bO6YKI0
>>433
中國のロケットの落下騒ぎを思い出したわ
2021/08/25(水) 22:01:22.70ID:ENQvEefU0
>>435
>>434の&aはポインタだが
2021/08/25(水) 22:22:45.99ID:hlr8Pa7o0
>>440
では、何をfreeしたのか、説明して
2021/08/25(水) 22:46:23.25ID:SkXNk2uR0
ポインタはアドレスを格納する変数
&aはアドレスだが変数ではないのでポインタではない
2021/08/25(水) 23:25:02.44ID:/Q8zinJC0
>>442
いいえ。 ポインタ型の値がポインタです。 (See C99 6.2.5)

C の用語ではメモリ (ストレージ) を占めるものがはオブジェクトで、それを型で意味付けしたものを値 (value) と言います。
実体としては同じですがレイヤによって呼び方が変わる場合があり、アドレスとポインタの違いも同様のものと考えられます。
2021/08/25(水) 23:28:23.41ID:F2PvOiSs0
>>442
何年か前にも見た覚えのある言説だな。元は何だろう?
2021/08/26(木) 01:58:36.79ID:aNUIA15f0
int *p; // ポインタ変数またはポインタ
int a;
&a; // アドレスまたはポインタ
int b = &a; // bはアドレス値の入った整数
int *c = &a; // cはポインタ

こういうこと?
アドレスとポインタは明確に区別されてるの?
2021/08/26(木) 02:10:26.24ID:/WHSCxQr0
 int a;
 int *b;

 b = &a;
 &a = b;
2021/08/26(木) 02:21:59.91ID:aNUIA15f0
>>446
なるほど?
2021/08/26(木) 02:37:50.30ID:aNUIA15f0
>6.5.3.2 アドレス及び間接演算子
>単項&演算子は,そのオペランドのアドレスを返す。オペランドが型“?型”をもっている場合,結果は,型“?型へのポインタ”をもつ。

だからアドレスとポインタどっちでも良いんじゃないの
2021/08/26(木) 07:03:21.90ID:H9rsGF960
&aはint*型のアドレス値(右辺値)で、変数ではないから代入は出来ない。
言葉の厳密な定義は知らんが、自分はポインタは型に紐付いたアドレスと理解してる。

組み込みなんかで
uint32_t a = 0x4020000;
...
*(int*)a = 1;
とか書くけどa自体はただの整数値だしね。
2021/08/26(木) 09:15:02.06ID:GExK9GsR0
>>448

int a=51; // 中山美穂の年齢
&a; // アドレス
(int*)&a; // ポインタ
*(int*)&a; // 中山美穂の年齢
2021/08/26(木) 09:25:24.33ID:IpfDe45b0
アドレスも年齢も表現の対象
ポインタとintが型の名前
2021/08/26(木) 09:26:46.39ID:IpfDe45b0
ageMipoとioDirectionがアプリケーションハンガリアン
iMipoとpDirectionがシステムハンガリアン
453デフォルトの名無しさん (ワッチョイ 7f81-WQfa)
垢版 |
2021/08/26(木) 14:51:44.03ID:BSY6c8/C0
>>441
みればわかりますよね?
2021/08/26(木) 16:05:40.12ID:oVdr9HnU0
言語仕様の文面の上ではアドレスとポインタの区別ははっきりしないので同一視してもかまわないとは思う。
少なくともポインタという用語がポインタ型の変数を指すという主張には賛成できないというだけ。

ただ、言語仕様の範囲内ではそれでいいんだけども言語仕様の範囲外というか実装上の理屈では区別している場合がある。
言語仕様上はポインタの比較は同一の配列 (または集成体オブジェクト) 内の要素を比較した場合や
ヌルポインタとの比較についてしか定義されておらず、それ以外は未定義であると明記 (C99 6.5.8 参照) されていて
関連のない場所のポインタの比較であることが静的に把握できるときは定数に置き換える最適化が適用されることもあるんで
アドレスを比較した通りの結果になるとは限らない。
https://wandbox.org/permlink/SqW5wzZM3fD912Nh
そんなわけでポインタが素朴なアドレス (実体が整数値) だと思っていると思わぬ結果を生むことも有る。
2021/08/26(木) 16:26:17.74ID:IpfDe45b0
気持ちだけは、俺も昔そう思いたかったことがあるけど
JIS X3010ではそうなっていないので、その気持ちはきっぱり捨てた
2021/08/26(木) 16:56:32.08ID:GExK9GsR0
int a; のときに &a+1 とかやると sizeof(int) 進むのね!
マジかよ知らなかった!

じゃあこの &a はほぼポインタだと思っていいのかな? いいの?
2021/08/26(木) 17:01:04.55ID:IpfDe45b0
「ほぼ」じゃなく明白にポインタ
2021/08/26(木) 17:09:18.58ID:oVdr9HnU0
>>456
int a;
と宣言されているとき &a の型は int* で、これを「int へのポインタ」という。
定義上ポインタとされているものに合致する。
2021/08/26(木) 18:57:41.72ID:B7a9vIltM
aはint型の変数
&aは変数aをアドレス演算子&で評価した値
得られた値の型はintへのポインタ型int*
2021/08/26(木) 19:23:18.52ID:2RMrl6dxr
>>456
例から少し外れるけど*(&a[0])に対して*(&a[0]+1)がおかしな場所指すと嫌だしな。
2021/08/26(木) 19:47:54.06ID:aNUIA15f0
ポインタ型の変数→ポインタ、ポインタ変数
ポインタ型の値→ポインタ、アドレス
アドレス演算子の結果→ポインタ、アドレス

こういうことか
2021/08/26(木) 22:07:08.65ID:cHqKnQ440
そして配列 int a[5] から a は何者? 引数に渡すとどーなる? という深淵な所へ
2021/08/27(金) 07:17:43.92ID:5AM8fV7q0
>>459
&aはアドレス演算子と左辺値からなる式
式が生じる結果には値と型がある
2021/08/27(金) 08:24:46.38ID:TRiQmtYg0
> int b = &a;
ポインタ型の値を整数型の値に暗黙に変換して代入
2021/08/27(金) 09:31:13.97ID:sfbhubJqr
>>464
gccでやったら注意された。g++でやったらガチギレされた。
2021/08/27(金) 09:39:50.45ID:02SXv6gRK
>>465
g++なら
int &b = a;
でヨシ(良くない
2021/08/27(金) 09:43:34.61ID:TRiQmtYg0
ポインタを整数値として変換した際、その値が int の範囲内に収まるかどうかは環境でまちまちやでねぇ
2021/08/27(金) 09:54:11.87ID:5AM8fV7q0
ここはCスレ
C++の参照はスレ違い
2021/08/27(金) 10:16:24.88ID:02SXv6gRK
>>467
厳密にはintptr_tだけど、大抵intで足りるでそ?
コンパクトモデル?知りませんなぁ

>>468
すまん、茶々でした
2021/08/27(金) 10:21:47.24ID:TRiQmtYg0
わかってないのに短絡で int は危ないけど
LP64 やら LLP64 やら ILP64 やら
自分のがどうなってるかわかっててやるか、ポータビリティを鑑みて気を使った書き方するか
2021/08/27(金) 10:44:46.26ID:5AM8fV7q0
ポインタのビット列を格納しきれる整数型が必ず存在する保証って箇条どこだっけ
2021/08/27(金) 11:00:51.55ID:nK81wxcE0
>>469
いまや大抵の環境でintじゃ足りないだろ。大丈夫か?
2021/08/27(金) 11:13:41.38ID:i+fGpSJz0
>>471
6.3.2.3 では「結果は何らかの整数型の値の範囲に含まれているとは限らない」とあるし、
7.18.1.4 では intptr_t は省略可能であるともあるので保証はないと解釈すべきだと思う。
2021/08/27(金) 11:49:10.69ID:5AM8fV7q0
>>473
なるほど
これで (int)&a はダメなんてドヤってるやつは根拠を失ったなw
2021/08/27(金) 12:26:48.67ID:nK81wxcE0
>>474
馬鹿なの?主要pfのintサイズも知らないのかよ
2021/08/27(金) 12:55:50.72ID:5AM8fV7q0
日本語でおk
2021/08/27(金) 14:37:29.53ID:nK81wxcE0
うわ基地外に触っちまった
2021/08/27(金) 15:11:03.04ID:28SvbL190
友達いて良かったじゃないか
2021/08/27(金) 18:08:24.28ID:5AM8fV7q0
よしてくれ
直接的な罵倒語で話す次元のやつと一緒にすんな
480デフォルトの名無しさん (ワッチョイ 4281-bHCE)
垢版 |
2021/08/27(金) 19:45:46.03ID:dNdDj0y10
>>479
○すぞ
2021/08/27(金) 22:47:56.20ID:3kbeL8sr0
愛すぞ
2021/08/27(金) 23:16:53.36ID:fvnuyojga
推すぞ
2021/08/27(金) 23:51:09.87ID:5LgeY8Yf0
スッゾオラー!
484デフォルトの名無しさん (アウアウクー MM11-bmw4)
垢版 |
2021/08/28(土) 00:56:23.65ID:TAUITiELM
>>479
諭すぞ
2021/08/28(土) 01:07:55.46ID:ArBPUbYg0
宿題のことも思い出してやって
486デフォルトの名無しさん (ワッチョイ 3d5f-uZV+)
垢版 |
2021/08/28(土) 02:24:48.25ID:Kasf1Z4n0
>>358
レターは文字の集合。キャラクターとしたのは文字として認識していない記号等を含めたため。
487デフォルトの名無しさん (ワッチョイ 4281-bHCE)
垢版 |
2021/08/28(土) 14:36:23.66ID:0ROz2KLh0
>>486
なるほど
488デフォルトの名無しさん (ワッチョイ 3d5f-uZV+)
垢版 |
2021/08/28(土) 19:25:44.91ID:Kasf1Z4n0
>>487
制御文字を含めたのも理由かな
489デフォルトの名無しさん (ワッチョイ 4281-bHCE)
垢版 |
2021/08/28(土) 19:26:13.75ID:0ROz2KLh0
>>488
なるほど
490デフォルトの名無しさん (ワッチョイ 3d5f-uZV+)
垢版 |
2021/08/28(土) 19:38:40.56ID:Kasf1Z4n0
文字のことをキャラクターと呼び始めたのはC言語じゃねえよ。

13年前にできたCOBOLですらキャラクターと呼んでんだぜ?
491デフォルトの名無しさん (ワッチョイ fdad-9F4v)
垢版 |
2021/08/28(土) 19:51:11.77ID:foB6MXRR0
俺に聞けって言われてもな
なに聞いたらいいかわからん
変に言語のマニアックな知識つけるより、アルゴリズム沢山知ってた方がいいと思うから言語や開発環境についてはvalgrindとかcmakeとか基本的なことを身に付いてればそれで十分だと思ってるわ
だからすまんけど聞きたいことはない
2021/08/28(土) 19:58:54.24ID:J7/U097I0
>>490
> 13年前にできたCOBOL

?
2021/08/28(土) 20:03:04.96ID:ArBPUbYg0
C言語が1972年、COBOLが1959年
こういうことを言いたいのでは無いか?
2021/08/28(土) 20:08:53.74ID:GTTRCLIA0
子供の英会話聞いてるとletter aとか頻出するが、まだキャラクターは出てこないな。
495デフォルトの名無しさん (ワッチョイ 3d5f-uZV+)
垢版 |
2021/08/28(土) 21:27:40.38ID:Kasf1Z4n0
キャラクターの本来の意味は文字じゃないんだぜ?
あたりまえなんだぜえ?
496デフォルトの名無しさん (ワッチョイ ad85-Wwpo)
垢版 |
2021/08/29(日) 01:18:09.40ID:TPHdi4yb0
>言いたいのでは無いか?

ここの「無い」に漢字を使うことに違和感感じるのは漏れだけ?
497デフォルトの名無しさん (ワッチョイ 3d5f-uZV+)
垢版 |
2021/08/29(日) 01:49:09.89ID:HDdtcjYC0
「〇〇ではないのか。」の「ない」は形容詞。

ただし、これは形容詞を代用した言い回しなので、「無い」とはっきり形容とわかる使い方以外の場合は、日本語のおかしさが出てしまうので違和感がある。

そもそもわざわざ「ない」を「無い」と書く必要がない。戦後教育では漢字で書かなくてもわかることは仮名で書くと決めて、学校では漢字で書かないよう指導しているのに、漢字で書くやつはそれをすっかり忘れているだけだ。
2021/08/29(日) 01:52:08.61ID:5p1Kcso30
割とどうでもいい話だな
国語教育スレにでもうつってそこで続けてくれ
2021/08/29(日) 02:38:33.54ID:7/doTy/i0
> 違和感感じる

に違和感覚えるのは漏れだけ?
500デフォルトの名無しさん (ワッチョイ 3d5f-uZV+)
垢版 |
2021/08/29(日) 02:48:49.23ID:HDdtcjYC0
>>499
それもネチネチ30年以上も言われたが、単に字面が醜いという話で終わった。

覚えるも感じるも同じ意味で使っている。日本語は同じ漢字が続くときれいに見えないので変えたくなる。
501デフォルトの名無しさん (ワッチョイ 02ad-U7Lh)
垢版 |
2021/08/29(日) 04:28:31.20ID:Lt7wAmk40
無いと言えばこの前ドイツ語の映画で Nein って言ってる時に日本語字幕に「無い」と出ていて一致していて笑った。
502デフォルトの名無しさん (ワッチョイ 3d5f-uZV+)
垢版 |
2021/08/29(日) 05:28:11.66ID:HDdtcjYC0
>>501
否定の言葉の発音がNで始まるのは人類共通
503デフォルトの名無しさん (ワッチョイ 3d5f-uZV+)
垢版 |
2021/08/29(日) 05:30:35.87ID:HDdtcjYC0
人類が言葉を話す前の拒否を表す叫びが言葉になったのだろう。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況