↑
次スレを作る時は上記1行をコピーして2行に増やして必ず1行目に入るようにしてください。
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言語なら俺に聞け 149
https://mevius.5ch.net/test/read.cgi/tech/1540731704/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
探検
C言語なら俺に聞け 150
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (アウアウクー MM57-IE4z)
2019/02/06(水) 13:39:03.21ID:c4bnQMl3M612デフォルトの名無しさん (ワッチョイ ef52-uGU8)
2019/03/08(金) 22:15:29.34ID:2Mvu5LOb0 なんでこんなゲシュタルト崩壊みたいなスレになってるの?
みんな疲れてるの?
みんな疲れてるの?
613デフォルトの名無しさん (ワッチョイ 1663-/kwh)
2019/03/08(金) 22:30:35.92ID:oUzck+rK0 君以外はAIの書き込みだよ
614デフォルトの名無しさん (ワッチョイ 92a5-tU8h)
2019/03/08(金) 22:33:04.42ID:kP9nO1yc0 再帰とラムダ計算のやり過ぎで頭が沸騰してるんだよ
615デフォルトの名無しさん (スプッッ Sd52-P8NU)
2019/03/08(金) 22:40:30.22ID:FVpVmqiRd Cでなくていいならnode-redなんかはいい感じにグラフィカルだと思うわ。
616デフォルトの名無しさん (ワッチョイ b72c-W+VP)
2019/03/08(金) 22:55:58.20ID:+MPT5vgD0 AI 「めんどくせー、報酬出して人間に考えさせたろ」
617デフォルトの名無しさん (アウアウウー Sac3-h293)
2019/03/09(土) 06:17:25.50ID:sGXnYTxga マイクロソフトのビジ男ってフローチャートからコード吐いてくれる機能あったよね、まだ生きてるのかしら
618デフォルトの名無しさん (ワッチョイ 92da-uGU8)
2019/03/09(土) 06:39:25.40ID:eo7E8WXr0 フローチャートではなくてUMLのクラス図からC++のコードを自動生成する機能だったと思う
その類の機能は廃止されたよ
その類の機能は廃止されたよ
619デフォルトの名無しさん (アウアウウー Sac3-h293)
2019/03/09(土) 06:50:13.86ID:sGXnYTxga >>618
そうか、亡くなってたのか。一回触って無言で閉じた事しか覚えてないけど、根は優しい奴だった。
そうか、亡くなってたのか。一回触って無言で閉じた事しか覚えてないけど、根は優しい奴だった。
620デフォルトの名無しさん (ワッチョイ dff2-uGU8)
2019/03/09(土) 08:31:39.80ID:4ewQpv+T0 Executable UMLは見事に死んだな。あれはさすがに無茶だろうと思った。
621デフォルトの名無しさん (ワッチョイ 9278-PSks)
2019/03/09(土) 08:32:04.32ID:zqjN2Zcb0622デフォルトの名無しさん (ワッチョイ 16d2-ouaW)
2019/03/09(土) 09:40:32.42ID:woQHdZ/f0 >608
ゲーム作れるようになりたいって言ってコンシューマ版PRGツクール買わされた気分。
ゲーム作れるようになりたいって言ってコンシューマ版PRGツクール買わされた気分。
623デフォルトの名無しさん (ワッチョイ 1f02-O5uf)
2019/03/09(土) 10:05:30.78ID:UpidnITW0 返り値がポインタの関数って
int *func() {...}
↑みたいに関数名にアスタリスクが付いてるのが違和感あるんだけど何か理由あるの?
意味を考えればint* func()もしくはint * func()にするべきなんじゃないのかな
int *func() {...}
↑みたいに関数名にアスタリスクが付いてるのが違和感あるんだけど何か理由あるの?
意味を考えればint* func()もしくはint * func()にするべきなんじゃないのかな
624デフォルトの名無しさん (ワッチョイ 168f-P8NU)
2019/03/09(土) 10:44:22.53ID:1jBEzlrN0 複数のポインタ変数を宣言するとき
int *a, *b →OK
int* a, b →NG
ということがあるので前者の記述にする。
関数についてもそれに揃えてるだけ。
だと思ってるんだが違うかもしれん。
int *a, *b →OK
int* a, b →NG
ということがあるので前者の記述にする。
関数についてもそれに揃えてるだけ。
だと思ってるんだが違うかもしれん。
625デフォルトの名無しさん (ワッチョイ 168f-P8NU)
2019/03/09(土) 10:48:12.35ID:1jBEzlrN0 そんな書き方する人はいないだろうけど(というかできたっけ?)、極端な話、
int* func1(), func2();
という宣言だとダメだしね。
int* func1(), func2();
という宣言だとダメだしね。
626デフォルトの名無しさん (ワッチョイ df01-BB1s)
2019/03/09(土) 10:57:28.35ID:MFivwnzo0 昔、*をどこに付けるべきか議論あったね。
「int *」も型なのでスペース空けるのはおかしい、「int*」と書くべきだと主張してる人も結構いて、今もまれによく見かける。
統一してれば良いんじゃね?
「int *」も型なのでスペース空けるのはおかしい、「int*」と書くべきだと主張してる人も結構いて、今もまれによく見かける。
統一してれば良いんじゃね?
627デフォルトの名無しさん (ワッチョイ de8c-OG2p)
2019/03/09(土) 11:42:25.92ID:TwFYMaY40 >>624
int *a, *b は *aと書くと整数。
int *a, *b は *aと書くと整数。
628デフォルトの名無しさん (ワッチョイ 5259-sJVA)
2019/03/09(土) 11:54:24.82ID:DgSeYL2x0 int*ならtypedefやらtypeofやらつかえと思うわ
629デフォルトの名無しさん (アウアウクー MM07-LDqw)
2019/03/09(土) 12:13:21.98ID:MaTZH59sM >>623
それC言語の初期はそっちの方が普通だったんたよ。
それC言語の初期はそっちの方が普通だったんたよ。
630デフォルトの名無しさん (スッップ Sd32-P8NU)
2019/03/09(土) 12:25:03.89ID:OCj0KbiTd >>627
ん?そりゃそうだろ……
ん?そりゃそうだろ……
631デフォルトの名無しさん (スッップ Sd32-P8NU)
2019/03/09(土) 12:26:42.27ID:OCj0KbiTd ああ、わかった。*aで正数になるから宣言するときに int *aって宣言すると自然だよってことか。なるほど。
632デフォルトの名無しさん (スッップ Sd32-P8NU)
2019/03/09(土) 12:30:40.70ID:OCj0KbiTd でもそれなら
int *a; で*aがintになるから自然だけど
int* a; でaがint*になるから自然さはこっちでも同じだな。なんか俺勘違いしてる?
連投スンマソン
int *a; で*aがintになるから自然だけど
int* a; でaがint*になるから自然さはこっちでも同じだな。なんか俺勘違いしてる?
連投スンマソン
633デフォルトの名無しさん (ワッチョイ 5259-sJVA)
2019/03/09(土) 12:33:07.29ID:DgSeYL2x0 >>632
int* a, b
int* a, b
634デフォルトの名無しさん (ワッチョイ 12f9-ouaW)
2019/03/09(土) 12:55:35.26ID:U1CZFrYl0 そう書いてbがint*にならないのが悪い
cの最初の設計が悪い
cの最初の設計が悪い
635デフォルトの名無しさん (ワッチョイ 92a5-tU8h)
2019/03/09(土) 13:12:23.27ID:capoU8RA0 50年前のクルマに「性能が悪い」と怒っても意味が無い
636デフォルトの名無しさん (ワッチョイ 5259-sJVA)
2019/03/09(土) 13:22:50.25ID:DgSeYL2x0 だから、それしたいならtypedef使えって。
typedef int *(*f)(int *, void ** );
f a, b;
Cの型の表現方法はそこそこ合理的だと思うよ。
typedef int *(*f)(int *, void ** );
f a, b;
Cの型の表現方法はそこそこ合理的だと思うよ。
637デフォルトの名無しさん (ワッチョイ ffda-h293)
2019/03/09(土) 13:30:38.68ID:0bE0zR0l0 int* なんて型はCにはないけど。
ついでに、int*もトークン分割時点で int * ってスペース入るんだけどな。
int *pも int * pってなる。
ついでに、int*もトークン分割時点で int * ってスペース入るんだけどな。
int *pも int * pってなる。
638デフォルトの名無しさん (アウアウカー Sa6f-sJVA)
2019/03/09(土) 14:00:08.50ID:KYpgksP4a 規格的には別にスペース入れろなんて書いてない様な気はするが…
int*xは良いんだっけ?
int*xは良いんだっけ?
639デフォルトの名無しさん (アウアウウー Sac3-1CkI)
2019/03/09(土) 14:03:23.83ID:LaC4lObOa640デフォルトの名無しさん (ワッチョイ ffda-h293)
2019/03/09(土) 14:24:11.60ID:0bE0zR0l0641デフォルトの名無しさん (ワッチョイ dff2-uGU8)
2019/03/09(土) 14:26:56.54ID:4ewQpv+T0 一見似てるけど演算子とは別。
642デフォルトの名無しさん (ワッチョイ ffda-h293)
2019/03/09(土) 14:33:59.98ID:0bE0zR0l0 >>641
単項演算子って言えばいいの?
単項演算子って言えばいいの?
変数宣言のときと式の評価のときとでは、働きが間逆になる、ときいていますが、私も馬鹿になったので、そういわれていることをそう理解できなくなりました…
644デフォルトの名無しさん (ワッチョイ 975f-YS+u)
2019/03/09(土) 14:39:16.30ID:Q2jRdDZx0 宣言は演算子とは別じゃなかったっけ?
typedefもできるし規格はpointer typeって書いてるからポインタ型って認識も間違いじゃないと思ってたけど違うんかな
確かに一行での複数宣言だと確かにおかしなことにはなるけども
typedefもできるし規格はpointer typeって書いてるからポインタ型って認識も間違いじゃないと思ってたけど違うんかな
確かに一行での複数宣言だと確かにおかしなことにはなるけども
645デフォルトの名無しさん (ワッチョイ dff2-uGU8)
2019/03/09(土) 14:42:21.52ID:4ewQpv+T0 ポインタ宣言子というやつでデリファレンス演算子とは別。
646デフォルトの名無しさん (アウアウウー Sac3-sJVA)
2019/03/09(土) 15:09:30.52ID:YyCiAm6Za 演算子でしょ?評価順があるじゃん。
関数の()とか配列の[]も同じで、もちろんCだと宣言にも使うことになるけど。
関数の()とか配列の[]も同じで、もちろんCだと宣言にも使うことになるけど。
647はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 1e3e-/kwh)
2019/03/09(土) 15:12:58.76ID:2TgeLAXH0 >>640
意味的には int* は型。
でも文法的には * は変数名と優先的に結合するので、
変なことになってんだよ……。
C++ だと設計者 (stroustrup) が * を型名に寄せる書き方をしてるので、
近頃はそれが C にも流入してる感じ。
意味的には int* は型。
でも文法的には * は変数名と優先的に結合するので、
変なことになってんだよ……。
C++ だと設計者 (stroustrup) が * を型名に寄せる書き方をしてるので、
近頃はそれが C にも流入してる感じ。
648デフォルトの名無しさん (ワッチョイ 975f-YS+u)
2019/03/09(土) 15:14:01.24ID:Q2jRdDZx0 C11の6.7.6.1にpointer declaratorって書いてあるから、宣言時の*はポインタ宣言子で間違いなさそう
649デフォルトの名無しさん (アウアウウー Sac3-sJVA)
2019/03/09(土) 15:20:45.65ID:YyCiAm6Za650デフォルトの名無しさん (ワッチョイ ffda-h293)
2019/03/09(土) 15:34:37.72ID:0bE0zR0l0 *から始まってる宣言子をポインタ宣言子って言うんじゃなかった?
宣言での*自体の名前もポインタ宣言子って言うのかな。修飾子?
宣言での*自体の名前もポインタ宣言子って言うのかな。修飾子?
651デフォルトの名無しさん (ワッチョイ dff2-uGU8)
2019/03/09(土) 15:47:50.55ID:4ewQpv+T0 あれ、そうかも。シンボルまで含んで宣言子かな、すまん。
652はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 1e3e-/kwh)
2019/03/09(土) 15:49:52.10ID:2TgeLAXH0 >>649
カンマより優先度を高くする必要はないだろう。
カンマより優先度を高くする必要はないだろう。
653デフォルトの名無しさん (ワッチョイ b252-1CkI)
2019/03/09(土) 17:11:57.46ID:ems+thyE0654デフォルトの名無しさん (ワッチョイ ffda-h293)
2019/03/09(土) 18:24:28.10ID:0bE0zR0l0 int* 型はない。型と見なしたら混乱する、俺は。
int *p;は、記号表現としての*pという表現がintという意味。*pで1つのint変数。
だから当然sizeof(int)のメモリも確保される。
int*が型ならアドレス変数のサイズだけ確保され、intオブジェクト分のメモリは確保されないはず。
int a b c *d;などと、まとめて書けるように作ってある
ここで、
*のない変数はアドレスを参照するために&が必要
*がある変数は*を外すだけでいい
&がメモリ上のオブジェクト(変数とか関数)のアドレスを参照するのに対して、アドレスからオブジェクトにアクセスするから*は逆参照演算子と呼ばれる。単項演算子。
int *p;は、記号表現としての*pという表現がintという意味。*pで1つのint変数。
だから当然sizeof(int)のメモリも確保される。
int*が型ならアドレス変数のサイズだけ確保され、intオブジェクト分のメモリは確保されないはず。
int a b c *d;などと、まとめて書けるように作ってある
ここで、
*のない変数はアドレスを参照するために&が必要
*がある変数は*を外すだけでいい
&がメモリ上のオブジェクト(変数とか関数)のアドレスを参照するのに対して、アドレスからオブジェクトにアクセスするから*は逆参照演算子と呼ばれる。単項演算子。
655デフォルトの名無しさん (ワッチョイ df01-BB1s)
2019/03/09(土) 18:41:30.67ID:MFivwnzo0 >>654
いやいや、何を勘違いしてるのか知らないけどint *p;はポインタサイズのみ確保されるんだけど。
結果intとアドレスサイズが一致するとしてもsizeof(int)と同一視すべきではないんでは?
いやいや、何を勘違いしてるのか知らないけどint *p;はポインタサイズのみ確保されるんだけど。
結果intとアドレスサイズが一致するとしてもsizeof(int)と同一視すべきではないんでは?
656デフォルトの名無しさん (ワッチョイ 975f-YS+u)
2019/03/09(土) 18:44:54.99ID:Q2jRdDZx0 >>654
int *p;の宣言じゃsizeof(int)は確保されないでしょ
環境によってはint *p;したあと*p = 0;したらセグフォか何かなると思うが
今一応clangで確認したらTrapしたし
int *p;の宣言じゃsizeof(int)は確保されないでしょ
環境によってはint *p;したあと*p = 0;したらセグフォか何かなると思うが
今一応clangで確認したらTrapしたし
657デフォルトの名無しさん (ワッチョイ 1663-/kwh)
2019/03/09(土) 18:47:05.30ID:9vZTtl180 教えるスレでデタラメ言ってはいかんな
釣りのつもりか?
釣りのつもりか?
658デフォルトの名無しさん (ワッチョイ b252-1CkI)
2019/03/09(土) 19:01:45.35ID:ems+thyE0 >>654
お前が混乱しようがint*は型だ。
キャストもtypedefもsizeofもできる。
お前のオレオレ定義はどうでもいいから、標準的な用語で会話できないならいちいち書き込まないでくれ。初心者の理解を妨げる害悪でしかない。
お前が混乱しようがint*は型だ。
キャストもtypedefもsizeofもできる。
お前のオレオレ定義はどうでもいいから、標準的な用語で会話できないならいちいち書き込まないでくれ。初心者の理解を妨げる害悪でしかない。
659デフォルトの名無しさん (ワッチョイ ff01-Ly0m)
2019/03/09(土) 19:06:49.21ID:kA4EgVm+0 2重にひどいなコレ
660デフォルトの名無しさん (アウアウウー Sac3-sJVA)
2019/03/09(土) 19:36:12.32ID:YyCiAm6Za 結合順って左右どっちからかという話だろ?
うまいこと、左に型で右に変数という形では宣言できないという点には関わってくるね。
Cではtypedefでそれがカバーできるので使えばいい。
単にstructの省略のためとかだと微妙だけど。
うまいこと、左に型で右に変数という形では宣言できないという点には関わってくるね。
Cではtypedefでそれがカバーできるので使えばいい。
単にstructの省略のためとかだと微妙だけど。
661デフォルトの名無しさん (ブーイモ MM63-W+VP)
2019/03/09(土) 21:20:20.21ID:VKKMhaL/M 自分以下のように「*」をくっつけて書いてた。
int* p;
「int変数のアドレスを格納する型」
と理解してたので。
int* p;
「int変数のアドレスを格納する型」
と理解してたので。
662デフォルトの名無しさん (ワッチョイ a701-uGU8)
2019/03/10(日) 00:15:36.14ID:NjJBb6dx0 intのポインタだから int* と書くのが直感的だよね
int* a, b, c; と書いた時に全部ポインタで宣言できれば良かった
俺は宣言でカンマは使わないことにしてる
int* a, b, c; と書いた時に全部ポインタで宣言できれば良かった
俺は宣言でカンマは使わないことにしてる
663デフォルトの名無しさん (ワッチョイ 975f-YS+u)
2019/03/10(日) 00:16:25.33ID:Yjkm2NzZ0 規約とかで決まってなきゃ思想の問題だし良いんじゃない?
Cでは意味論的には(ポインタ型って書いてあるし)int* pが近くて統語論的には(複数宣言で違和感がないから)int *pが近いっていうイメージ
規格内の例はint *p記法で統一されてるからこっちがCではスタンダードっぽいけど
Cでは意味論的には(ポインタ型って書いてあるし)int* pが近くて統語論的には(複数宣言で違和感がないから)int *pが近いっていうイメージ
規格内の例はint *p記法で統一されてるからこっちがCではスタンダードっぽいけど
664デフォルトの名無しさん (ワッチョイ 335f-LDqw)
2019/03/10(日) 00:24:31.01ID:nrbpjhIZ0 >>662
ポインタでポインタが指している先頭アドレスから始まる領域をint型として扱うだから、*intにすべきだった。
ポインタでポインタが指している先頭アドレスから始まる領域をint型として扱うだから、*intにすべきだった。
665はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 1e3e-/kwh)
2019/03/10(日) 00:53:02.56ID:PkJpScAa0 C++ なら std::add_pointer を使うなどという方法もとれるんだが、
C でどうにかする上手いトリックってないもんかね?
C でどうにかする上手いトリックってないもんかね?
666デフォルトの名無しさん (ワッチョイ 6301-V4pZ)
2019/03/10(日) 01:38:42.67ID:/HGKNCBK0 副業解禁で激変する若者世代とマネージャー世代のキャリア観
http://www.businessinsider.jp/post-107782
フリーランスの職種20個の仕事内容と平均年収をわかりやすく解説
http://www.proof0309.com/entry/shokushu
時給1万円のバイトも。会社員向きのプチ副業を、“バイト芸人”が教える
http://headlines.yahoo.co.jp/article?a=20190226-00127948-bizspa-bus_all
副業が「会社にバレる人」と「バレない人」の大差
http://headlines.yahoo.co.jp/article?a=20190303-00268007-toyo-bus_all
正社員の10%以上が副業 中には過重労働で体調崩す人も
http://headlines.yahoo.co.jp/hl?a=20190227-00010000-wordleaf-bus_all
「副業で年2000万円稼ぐ男」に学ぶキャリア戦略
http://headlines.yahoo.co.jp/article?a=20190221-00266856-toyo-bus_all
加速する「副業社会」正社員の4割が「副業したい」 気になる収入はどれくらい?
http://headlines.yahoo.co.jp/hl?a=20190218-00010001-danro-life
おすすめ副業22選を現役フリーランスが解説【在宅も可能】
http://www.proof0309.com/entry/zaitaku-hukugyou
会社を辞めてフリーランスで働きたいあなたが知っておくべき10のこと
http://www.businessinsider.jp/post-165731
フリーランスと会社員、働き方の根本的な差 広がる「雇用されない働き方」の課題とは何か
http://toyokeizai.net/articles/-/263055
フリーランス人口は増える!今後は仕事もプロジェクト単位になる!?
http://freelance.mts-career.com/population/
どのくらい稼げるの?フリーランスエンジニアの単価・報酬・年収の話
http://findy-code.io/engineer-lab/engineer-unitprice-income
http://www.businessinsider.jp/post-107782
フリーランスの職種20個の仕事内容と平均年収をわかりやすく解説
http://www.proof0309.com/entry/shokushu
時給1万円のバイトも。会社員向きのプチ副業を、“バイト芸人”が教える
http://headlines.yahoo.co.jp/article?a=20190226-00127948-bizspa-bus_all
副業が「会社にバレる人」と「バレない人」の大差
http://headlines.yahoo.co.jp/article?a=20190303-00268007-toyo-bus_all
正社員の10%以上が副業 中には過重労働で体調崩す人も
http://headlines.yahoo.co.jp/hl?a=20190227-00010000-wordleaf-bus_all
「副業で年2000万円稼ぐ男」に学ぶキャリア戦略
http://headlines.yahoo.co.jp/article?a=20190221-00266856-toyo-bus_all
加速する「副業社会」正社員の4割が「副業したい」 気になる収入はどれくらい?
http://headlines.yahoo.co.jp/hl?a=20190218-00010001-danro-life
おすすめ副業22選を現役フリーランスが解説【在宅も可能】
http://www.proof0309.com/entry/zaitaku-hukugyou
会社を辞めてフリーランスで働きたいあなたが知っておくべき10のこと
http://www.businessinsider.jp/post-165731
フリーランスと会社員、働き方の根本的な差 広がる「雇用されない働き方」の課題とは何か
http://toyokeizai.net/articles/-/263055
フリーランス人口は増える!今後は仕事もプロジェクト単位になる!?
http://freelance.mts-career.com/population/
どのくらい稼げるの?フリーランスエンジニアの単価・報酬・年収の話
http://findy-code.io/engineer-lab/engineer-unitprice-income
667デフォルトの名無しさん (アウアウウー Sac3-sJVA)
2019/03/10(日) 01:47:39.67ID:yFrseuKKa668デフォルトの名無しさん (ワッチョイ a701-uGU8)
2019/03/10(日) 02:58:07.82ID:NjJBb6dx0 typedef 使う
669デフォルトの名無しさん (ワッチョイ 92da-uGU8)
2019/03/10(日) 04:16:30.73ID:8P6Oam7S0 int* p[10]; // intのポインタの配列
int (*p)[10]; // intの配列のポインタ
int (*p)[10]; // intの配列のポインタ
670デフォルトの名無しさん (スプッッ Sd52-P8NU)
2019/03/10(日) 09:16:48.35ID:WROi3Fy5d >>640
自らの名誉のために書いておくがint*を型だと思ってるわけではないぞ。ただint*で意味をなしてはいるだろ。
自らの名誉のために書いておくがint*を型だと思ってるわけではないぞ。ただint*で意味をなしてはいるだろ。
671デフォルトの名無しさん (ワッチョイ 9274-uGU8)
2019/03/10(日) 10:30:04.20ID:uE8BPcgQ0 int*は型だぞ
printf("%d", sizeof(int*)); //pass
printf("%d", sizeof(int*)); //pass
672はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 1e3e-/kwh)
2019/03/10(日) 10:40:10.44ID:PkJpScAa0 int* は型名。 C99 なら 6.7.6 で定義がある。
変数の宣言の文脈ではそれが型指定子と宣言子に分断されるのが、
なんか変な感じがするよなぁという話。
変数の宣言の文脈ではそれが型指定子と宣言子に分断されるのが、
なんか変な感じがするよなぁという話。
673デフォルトの名無しさん (ワッチョイ de02-dgqw)
2019/03/10(日) 10:42:33.14ID:IMQ2P2X20 >>662
そういうのは typedef で型名作ってしまうしかないな。
そういうのは typedef で型名作ってしまうしかないな。
674デフォルトの名無しさん (スプッッ Sd52-P8NU)
2019/03/10(日) 11:08:02.97ID:kCIB6uhNd675デフォルトの名無しさん (ワッチョイ b252-1CkI)
2019/03/10(日) 12:02:32.88ID:42uiz7Ja0 >>674
お前の名誉のために言っておくが、お前の名誉なぞ誰も気にしてないから安心していいぞ
お前の名誉のために言っておくが、お前の名誉なぞ誰も気にしてないから安心していいぞ
676デフォルトの名無しさん (スプッッ Sd52-P8NU)
2019/03/10(日) 12:45:51.83ID:kCIB6uhNd すまねぇ…
677デフォルトの名無しさん (アウアウウー Sac3-h293)
2019/03/10(日) 15:42:39.03ID:cKTKsaa/a int* が型って言うのはどこに書いてありますか?
K&C2版とc99の仕様書見てきたけど、どうしても見つけられないのです。
どこで調べるとint*型や例えばchar*型等の記述を見る事が出来るのでしょうか。
K&C2版とc99の仕様書見てきたけど、どうしても見つけられないのです。
どこで調べるとint*型や例えばchar*型等の記述を見る事が出来るのでしょうか。
679デフォルトの名無しさん (ワッチョイ 1663-/kwh)
2019/03/10(日) 15:45:33.27ID:vxGXLnY80 ポインタ型ってだけかも知れない
680デフォルトの名無しさん (スフッ Sd32-YS+u)
2019/03/10(日) 16:05:52.27ID:+JKmV4RCd 特定の型のポインタは書いてないけど
pointer typeって形で載ってるはず
C11の6.2.5.20とか
pointer typeって形で載ってるはず
C11の6.2.5.20とか
681デフォルトの名無しさん (ワッチョイ 92a5-tU8h)
2019/03/10(日) 16:10:47.95ID:YmhkZ0UL0 全ての型に付けることが出来て
あたかもメソッド++があるかのように振る舞うオブジェクトの様なものだから混乱する
&や*もやはり何かのメソッドの演算子での表現と見做すと理解が捗る
つまりポインタまわりだけ大勢の予想に反してオブジェクト指向になってるから混乱する
あたかもメソッド++があるかのように振る舞うオブジェクトの様なものだから混乱する
&や*もやはり何かのメソッドの演算子での表現と見做すと理解が捗る
つまりポインタまわりだけ大勢の予想に反してオブジェクト指向になってるから混乱する
682はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 1e3e-/kwh)
2019/03/10(日) 16:20:50.08ID:PkJpScAa0683デフォルトの名無しさん (ワッチョイ ffda-h293)
2019/03/10(日) 16:36:29.29ID:TrIHnbmn0 >>678
c99 6.7.2
void char short int long float double signed unsigned _Bool _Complex _Imaginary
構造体共用体指定子 列挙型指定子 型定義名
>>679 >>680の言うように、ポインタ型はあります。仕様書を見ても、int* でもfloat*でもいいんですけど、それぞれint型へのポインタ型とかfloatへのポインタ型といった説明しか読み取れませんでした。読解力不足でしょうか。
私はint型を指すポインタ、floatを指すポインタなどと言うように、例えば
int* pであれば、ポインタ型pがあり、それはint型を指す
、と言うように独立した物だと理解していました。
どうしてもint*型と言うのがわかりません。
c99 6.7.2
void char short int long float double signed unsigned _Bool _Complex _Imaginary
構造体共用体指定子 列挙型指定子 型定義名
>>679 >>680の言うように、ポインタ型はあります。仕様書を見ても、int* でもfloat*でもいいんですけど、それぞれint型へのポインタ型とかfloatへのポインタ型といった説明しか読み取れませんでした。読解力不足でしょうか。
私はint型を指すポインタ、floatを指すポインタなどと言うように、例えば
int* pであれば、ポインタ型pがあり、それはint型を指す
、と言うように独立した物だと理解していました。
どうしてもint*型と言うのがわかりません。
684KAC (ブーイモ MM63-NE3V)
2019/03/10(日) 16:44:33.03ID:gHkTxZDuM685デフォルトの名無しさん (ワッチョイ af14-uGU8)
2019/03/10(日) 16:49:42.81ID:8+bEWcYF0 >>677
ここだ
ISO/IEC 9899:2011
6.7.7 Type names
3 EXAMPLE The constructions
(a) int
(b) int *
(c) int *[3]
(d) int (*)[3]
(e) int (*)[*]
(f) int *()
(g) int (*)(void)
(h) int (*const [])(unsigned int, ...)
ここだ
ISO/IEC 9899:2011
6.7.7 Type names
3 EXAMPLE The constructions
(a) int
(b) int *
(c) int *[3]
(d) int (*)[3]
(e) int (*)[*]
(f) int *()
(g) int (*)(void)
(h) int (*const [])(unsigned int, ...)
686デフォルトの名無しさん (アウアウクー MM07-LDqw)
2019/03/10(日) 16:55:14.74ID:FM+9nmuqM C言語を作ったときにあとから型指定のポインタ変数を付け加えたんだろうな。
687デフォルトの名無しさん (ワッチョイ af14-uGU8)
2019/03/10(日) 17:07:06.47ID:8+bEWcYF0688デフォルトの名無しさん (アウアウウー Sac3-sJVA)
2019/03/10(日) 17:12:13.59ID:eT96hTY3a voidはなかったんだよな。
どうでもいいけどcdeclはちょっとした型の勉強にはいいよ。
どうでもいいけどcdeclはちょっとした型の勉強にはいいよ。
689デフォルトの名無しさん (アウアウウー Sac3-sJVA)
2019/03/10(日) 17:14:55.50ID:eT96hTY3a 685を見ると、「型名を左に書くのが自然」みたいな主張がまったく間違ってることがわかるね。
690デフォルトの名無しさん (スフッ Sd32-YS+u)
2019/03/10(日) 18:16:33.04ID:+JKmV4RCd ポインタ型は派生型(deprived types)の一種で、派生型は他に配列型とか構造体型とかがある(6.2.5.20)
例えば、struct MyStructure {int num;};とかやったとして、struct MyStructureは規格に書いてないから型じゃないって言ってる状況に近いように見えるんだけども
例えば、struct MyStructure {int num;};とかやったとして、struct MyStructureは規格に書いてないから型じゃないって言ってる状況に近いように見えるんだけども
691デフォルトの名無しさん (アウアウカー Sa6f-sJVA)
2019/03/10(日) 18:29:23.41ID:49pn/i3ra *は演算子じゃないという意見は間違っとるよ
692KAC (ブーイモ MM63-NE3V)
2019/03/10(日) 18:38:03.60ID:gHkTxZDuM693デフォルトの名無しさん (アウアウウー Sac3-sJVA)
2019/03/10(日) 18:54:33.90ID:nutarBhha 演算子ですよ。いや、文字列の中はどうなんだとか言われると困るけど。
xor的な思考しかできないタイプ?
xor的な思考しかできないタイプ?
694さまよえる蟻人間 ◆T6xkBnTXz7B0 (スフッ Sd32-xAHY)
2019/03/10(日) 18:58:19.43ID:LvYeDuRnd 宣言の中の*は、演算子ではないかも知れない。
695デフォルトの名無しさん (ワッチョイ ff01-Ly0m)
2019/03/10(日) 19:00:09.92ID:cQhx3jWr0 685 の文中に出てくる * を演算子とみなすのは嫌な感じ
696デフォルトの名無しさん (ワッチョイ af14-uGU8)
2019/03/10(日) 19:26:26.65ID:8+bEWcYF0 宣言の中の*は演算子ではない
宣言子の構成要素の中のポインタに含まれる記号だ
演算子の*はポインタを実体にする作用を持つが
宣言の中の*は客体をポインタにする作用を持つ
おおむね逆の作用となっている
宣言子の構成要素の中のポインタに含まれる記号だ
演算子の*はポインタを実体にする作用を持つが
宣言の中の*は客体をポインタにする作用を持つ
おおむね逆の作用となっている
697デフォルトの名無しさん (ワッチョイ 335f-LDqw)
2019/03/10(日) 19:31:42.70ID:nrbpjhIZ0 >>687
ポインタが指しているところの型を明示しようとしたのは明らかにあとだよね。
ポインタが指しているところの型を明示しようとしたのは明らかにあとだよね。
698デフォルトの名無しさん (スフッ Sd32-YS+u)
2019/03/10(日) 19:31:58.93ID:+JKmV4RCd そういえば*のオペランドがオブジェクト指してなかったら未定義動作なんだよな
宣言の*が演算子だったらint *p;だけで未定義動作踏んでそう
宣言の*が演算子だったらint *p;だけで未定義動作踏んでそう
699KAC (ブーイモ MM63-NE3V)
2019/03/10(日) 19:58:10.73ID:gHkTxZDuM700sage (ワッチョイ d602-2aZh)
2019/03/10(日) 21:54:15.58ID:KIApJaj50 C++か
701デフォルトの名無しさん (ワッチョイ 335f-LDqw)
2019/03/10(日) 23:04:24.35ID:nrbpjhIZ0702KAC (ブーイモ MMdb-NE3V)
2019/03/10(日) 23:11:14.57ID:PFEN9MJxM703デフォルトの名無しさん (ワッチョイ 168f-P8NU)
2019/03/10(日) 23:41:34.29ID:EfIdjxKz0 「俺はこう思う」と「規格にこう書いてある」はきっちり分けて欲しいね。
704デフォルトの名無しさん (ワッチョイ 335f-LDqw)
2019/03/11(月) 00:23:08.11ID:QsQqulf80 英語はsubstituteで意味が広いのに、日本語だとすべて「代入」に翻訳してしまったのか。
705デフォルトの名無しさん (アウアウウー Sac3-h293)
2019/03/11(月) 07:09:33.28ID:7fkCOxJ/a706デフォルトの名無しさん (ワッチョイ af14-uGU8)
2019/03/11(月) 07:19:12.62ID:rOT48PNA0 >>705
X 3010:2003 (ISO/IEC 9899:1999)
6.2.5 型
型char,符号付き整数型,符号無し整数型及び浮動小数点型を総称して基本型(basic type)と呼ぶ。
派生型(derived type)は,オブジェクト型,関数型及び不完全型から幾つでも構成することができる。
派生型の種類は,次のとおりとする。
− 配列型
− 構造体型
− 共用体型
− 関数型
− ポインタ型
派生型を構成するこれらの方法は,再帰的に適用できる。
X 3010:2003 (ISO/IEC 9899:1999)
6.2.5 型
型char,符号付き整数型,符号無し整数型及び浮動小数点型を総称して基本型(basic type)と呼ぶ。
派生型(derived type)は,オブジェクト型,関数型及び不完全型から幾つでも構成することができる。
派生型の種類は,次のとおりとする。
− 配列型
− 構造体型
− 共用体型
− 関数型
− ポインタ型
派生型を構成するこれらの方法は,再帰的に適用できる。
707デフォルトの名無しさん (アウアウウー Sac3-h293)
2019/03/11(月) 07:32:55.06ID:7fkCOxJ/a >>706
派生型を構成できる、と言うことは、int*はコード書く人が自分でint*と言う派生型を構成したんですよね?
構成できることを以ってC言語にint*型がある、定義されていると言うのは変だと思いませんか?
派生型を構成できる、と言うことは、int*はコード書く人が自分でint*と言う派生型を構成したんですよね?
構成できることを以ってC言語にint*型がある、定義されていると言うのは変だと思いませんか?
708デフォルトの名無しさん (ワッチョイ 1f7b-1R1m)
2019/03/11(月) 07:43:53.40ID:+tgFX8Zg0709デフォルトの名無しさん (アークセー Sxc7-BB1s)
2019/03/11(月) 07:54:01.38ID:QaoEDFOQx 変かどうかの主観的な問題ではなく「派生型を定義できる」と決まってるなら、客観的に派生型もやっぱり型だろ。
それを変だと思うならここではなく然るべきワーキンググループに意見すべき。
それを変だと思うならここではなく然るべきワーキンググループに意見すべき。
710デフォルトの名無しさん (スフッ Sd32-YS+u)
2019/03/11(月) 07:54:59.22ID:yg4bOGVFd■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【地震速報】青森県で震度6強 沿岸部に津波警報 ★6 [ぐれ★]
- 「日の丸にバツ印」掲げた大学生 あいまいな国旗損壊罪に「怖い」 The Mainichi [少考さん★]
- 【テレビ】25年ぶり復活「炎のチャレンジャー」南原清隆&菊池風磨がMC 懐かし「電流イライラ棒」も [湛然★]
- 【音楽】BARBEE BOYS・KONTAが事故で四肢麻痺を公表、新体制で活動は継続 [少考さん★]
- 中国「捜索レーダー起動は各国の通常の手法」 火器管制用か回答せず [蚤の市★]
- 【訃報】声優・西村知道さん死去 「SLAM DUNK」安西先生役 9月に体調不良のため一時休業 [少考さん★]
- 南海トラフ直しといた
- 女って金とイケメンしか見てないよな
- ぺこーら、地震で同僚が次々配信を止めるなか強行し続けるので悪目立ちするwww [268244553]
- 高市総理、睡眠時間30分😢
- フェリーの魅力を語ろう。
- 【速報】高市早苗、起床 [779938112]
