C言語なら俺に聞け 159

レス数が1000を超えています。これ以上書き込みはできません。
!extend:checked:vvvvv:1000:512
(新スレ立ての際上記コマンドを2行書き込んでください)
C言語の話題のみ取り扱います C++の話題はC++スレへ
質問には最低限の情報(ソース/コンパイラ/OS)を付ける
数行で収まらないソースは以下を適当に使ってURLを晒す
https://paiza.io/
https://ideone.com/
http://codepad.org/

C17
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/n4713.pdf

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

C2x ドラフト
http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2731.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言語なら俺に聞け 158
https://mevius.5ch.net/test/read.cgi/tech/1640401906/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured

0952デフォルトの名無しさん (ワッチョイ 9769-jXNG)2022/12/26(月) 17:34:43.38ID:0DsOmzGV0
https://ideone.com/DiokCM
strust ひっぺがして 戻り値が配列となる宣言だとおこられた
FUNC_PTR_T getFuncs(void)[3];

0953デフォルトの名無しさん (ワッチョイ 1301-iijX)2022/12/26(月) 18:26:36.88ID:+xP92Jxa0
>>949
てか struct で包めば配列も返せるよね

関数へのポインタの配列の構造体?

0955デフォルトの名無しさん (ワッチョイ 612d-s0Sd)2022/12/27(火) 00:19:48.06ID:8jh3A4jF0
>>944
近藤嘉雪 パーサ担当
森 公一郎 コードジェネレーター担当

近藤さんの本は20年くらい前本屋でよく見かけたな

配列も値型だったら一貫性が有っただろうな
でも、配列を丸ごとコピーするなんて普通しないから、利便性を優先したんだろう
それによって、ポインタと配列は似てるけど違いもあるみたいな、初学者泣かせな仕様が生まれてしまった

0957デフォルトの名無しさん (ワッチョイ 1f02-Ugbw)2022/12/27(火) 03:19:13.84ID:lusjSahA0
ベースアドレスが配列の初めの要素を指すCスタイルの配列には一貫性があるだろ、だから0-based indexを採用する蓋然性があるわけで

何らかのbookkeeping、サイズ、ストライドやランク情報等のメタデータをスカラで一緒に渡す明示的なもの、あるいはstructで包む、メンバに.flagを設けるのはdope arrayの再発明

一方、dope arrayをネイティブ採用する為には
ベースアドレス+0は配列要素ではなく、メタデータを指さねばならない
だから初めの配列要素はベースアドレス+1(いわゆる1-based index)であるべき、という蓋然性がある

最も邪悪な配列の設計はメタデータを持つにも関わらずC慣習にすり寄って来て0ベース採用のやつな、設計に何の一貫性も無い

アドレス計算はCスタイルの方がスッキリして好き、個人的にはだけど

0958デフォルトの名無しさん (ワッチョイ 1f02-Ugbw)2022/12/27(火) 03:42:16.62ID:lusjSahA0
array[0]がarrayの始めの要素を指す、という伝統を尊重しつつ整合的にメタデータを持たせる拡張をしたいなら、arrptr-1に持たせるって手もあるね

0959デフォルトの名無しさん (ワッチョイ 07cf-4Ar3)2022/12/27(火) 05:21:18.30ID:nX/ozHbV0
文字列はchar型の配列だし
文字列のコピーなんか、あらゆる言語で基本中の基本だ

0960デフォルトの名無しさん (ワッチョイ 9d10-dxp0)2022/12/27(火) 08:19:53.31ID:yfz0bOFn0
処理コスト軽減の為に配列自体ではなく配列の先頭ポインタでやり取りしましょう。

0961デフォルトの名無しさん (ワッチョイ b363-dxp0)2022/12/27(火) 11:14:55.49ID:FjfQte1M0
配列が固定長なのは仕方がないと言うか、当然かなと思うが
文字列は、編集がもっと自在に出来た方がありがたかったな

0962デフォルトの名無しさん (ワッチョイ 612d-s0Sd)2022/12/27(火) 11:19:00.19ID:8jh3A4jF0
>>960
同じことだぞ
式の中では配列はポインタそのものだ

0963デフォルトの名無しさん (ワッチョイ 0b01-jXNG)2022/12/27(火) 11:32:56.50ID:pT1qhH4d0
sizeof演算子「いや俺区別してるし」

0964デフォルトの名無しさん (スプッッ Sdaf-tLuz)2022/12/27(火) 11:34:00.98ID:2fUOYjFgd
&演算子: いい加減なこと言ってもらっちゃ困るな

0965デフォルトの名無しさん (スプッッ Sdaf-tLuz)2022/12/27(火) 11:36:45.19ID:2fUOYjFgd
昔、こんなバカいたよ
printf("%d", sizeof "abc");
見ろ、文字列はポインタだ(キリッ

0966デフォルトの名無しさん (ワッチョイ 612d-s0Sd)2022/12/27(火) 11:49:59.77ID:8jh3A4jF0
式の中の配列と書いたのが読めないバカが多すぎる

0967デフォルトの名無しさん (アウアウウー Sa2f-aXTt)2022/12/27(火) 12:20:51.00ID:3AXDXHupa
式がどういう意味かわかった上で他人をバカ扱いしてる?

0968デフォルトの名無しさん (ワッチョイ 9769-jXNG)2022/12/27(火) 12:21:02.33ID:o7XCQITF0
965なんかもあくまで式だよ

int a[100];
int *b;
(sizeof a) + (sizeof b); ←これも式であり、式の中に配列もポインタも居る

a++ 非合法
b++ 合法
これも式

0969デフォルトの名無しさん (US 0Hd7-ij7E)2022/12/27(火) 17:43:59.96ID:x3eVxeWPH
あの~
誰か excel マクロで動く cc を作ってくれませんか?
うちの会社、cygwin 禁止なんです、cygwin インストーラですら実行できないんです、すごく弱っています
コンパイラが手元にないと私は無力……

0970デフォルトの名無しさん (アウアウウー Sa2f-aXTt)2022/12/27(火) 18:03:44.42ID:/tVTIbQ7a
VBA使えよ
安心しろお前は自分で思ってるほどCが得意じゃないから

0971デフォルトの名無しさん (スプッッ Sdaf-tLuz)2022/12/27(火) 18:19:46.78ID:uvaA1liZd
visual studioの稟議を上げられない社畜?

0972デフォルトの名無しさん (ワッチョイ b363-dxp0)2022/12/27(火) 18:22:29.22ID:FjfQte1M0
C#のコンパイラなら、何もせずともWinのどっかにはいっているような気がした

0973デフォルトの名無しさん (ワッチョイ 9347-ij7E)2022/12/27(火) 19:41:50.61ID:tBCD9SD30
>>971
仕事に関係のない VS なんて認可されませんよ、べつにソフトウェアの人じゃないんだから

>>970
コンパイラが手元にないと、どうもやる気がでなくって…

0974デフォルトの名無しさん (ワッチョイ 9347-ij7E)2022/12/27(火) 19:42:45.86ID:tBCD9SD30
>>972
cs.exe なんて大っ嫌い

0975デフォルトの名無しさん (ワッチョイ 0b01-jXNG)2022/12/27(火) 20:26:44.18ID:pT1qhH4d0
>仕事に関係のない VS なんて認可されませんよ

>誰か excel マクロで動く cc を作ってくれませんか?
仮に誰か作ってもインストール認可されないんじゃないの?
そういう環境だと読み取ったけど

0976デフォルトの名無しさん (スプッッ Sddb-tLuz)2022/12/27(火) 20:30:03.68ID:NnGcg72Bd
>>973
勤務中にくだらねえことやってんじゃねえって上司に怒られるの?

0977デフォルトの名無しさん (ワッチョイ 4d07-aXTt)2022/12/27(火) 20:31:33.55ID:usWDFVvc0
まあ仕事に関係ないって自分で言っちゃってるからなぁ

0978デフォルトの名無しさん (ワッチョイ b363-dxp0)2022/12/27(火) 20:39:00.00ID:FjfQte1M0
じゃあ、無敵のシェルスクリプトだだだ・・・

0979デフォルトの名無しさん (ワッチョイ 9347-ij7E)2022/12/27(火) 22:26:37.16ID:tBCD9SD30
>>975
>仮に誰か作ってもインストール認可されないんじゃないの?
>そういう環境だと読み取ったけど
マクロはインストールするものじゃないから自由に使えるんですよ、インストール権限の必要なソフトはインストールできないってだけでして

>>976
そうはいっても、単一ディレクトリの全ファイルに対して、ファイル名の冒頭に連番を振るプログラムを 3 時間ほどでチョロっと書いて、業務に生かしているんですけどね
いちいち手作業でファイル名を変えるとかやってらんないでしょ?自分のために自分で書く分くらいは許容してほしいよね

0980デフォルトの名無しさん (ワッチョイ 9347-ij7E)2022/12/27(火) 22:29:39.01ID:tBCD9SD30
あと、巨大な csv ファイルを結合するプログラムも便利に使っていたんですけどね、大概の機械はデータを csv で吐いてくれますますからねえ

0981デフォルトの名無しさん (ワッチョイ 4d07-aXTt)2022/12/27(火) 22:31:04.10ID:usWDFVvc0
>>979
屁理屈なら上司に言って怒られてこい
なぜまともなソフトがインストール不可なのにお前の作ったソフトなら大丈夫と思うんだ

0982デフォルトの名無しさん (ワッチョイ 4d07-aXTt)2022/12/27(火) 22:35:10.73ID:usWDFVvc0
ファイル名の頭に連番打つとかPowerShellでもバッチでもVBAでもできるしそもそも打つ必要があるかどうかさえ怪しい

お前のやってることが本当にみんなにとっていいことなら業務効率化のためにコンパイラの申請を通すのは何も難しくない
拒否られてるところで気づけよマジで
職場に不和の種をまくんじゃねえ

0983デフォルトの名無しさん (ワッチョイ b363-dxp0)2022/12/27(火) 22:35:56.95ID:FjfQte1M0
こう言うわがままは却下されて当然ではないか

0984デフォルトの名無しさん (ワッチョイ 9347-ij7E)2022/12/27(火) 22:43:18.14ID:tBCD9SD30
>>976
操作記録をいちいち記録されて、裏でこっそり査定に響く仕組みですよ、たぶん
ああ、こんなところでここまで書いちまったらもう私の給料は来年は半額になっちまいますねえ、当の昔に諦めてるけど

0985デフォルトの名無しさん (ワッチョイ 9fea-ij7E)2022/12/27(火) 22:58:37.89ID:VvvSD8wK0
>>982
power-shell はたぶん入っていないと思いますよ、あったら使うに決まってますもん
VBA はいちいち excel を起動してマクロを走らせて、ああ、もうめんどくさくって死にそう
実行ファイルワンクリックで、ピシッと全ファイルを改名したいだけですよ、そうすればさくさく錯綜するメールスレッドを管理できますからね
バッチファイルで改名?できるというのなら見せてくださいな?

>>981
業務効率改善のため自分のために自分で作り自分が使うだけのソフトと、多数の人が使う商用の売り物のソフトとを一緒にしないでくれる?

0986デフォルトの名無しさん (ワッチョイ 9fea-ij7E)2022/12/27(火) 23:03:13.50ID:VvvSD8wK0
>>983
そりゃ、業務そっちのけで得体の知れないプログラムを書いてばかり(星新一の短編にそんなのがありましたね…)だったら叱られますけど、ぱっぱと3時間で書いて後はノーメンテ、それで半年実用になっているんだから遊んでいるわけじゃないんですけど

0987デフォルトの名無しさん (ワッチョイ 9fea-ij7E)2022/12/27(火) 23:06:57.48ID:VvvSD8wK0
>>982
>業務効率化のためにコンパイラの申請を通すのは何も難しくない

難しいんですよ…
あらかじめ効用をきちんと提示しなければならないなんてめんどくさくってやってらんない、
作りたいソフトが具体的に念頭にあるわけではなく、将来的に使いたい可能性が発生する可能性があります、で稟議を通るわけがないでしょう?

0988デフォルトの名無しさん (ワッチョイ b363-dxp0)2022/12/27(火) 23:25:57.12ID:FjfQte1M0
マ板で相談してみたら?
ここは大分場違いになってきてる

0989デフォルトの名無しさん (ワッチョイ 07cf-4Ar3)2022/12/27(火) 23:34:33.01ID:nX/ozHbV0
ブログにでも書けばいいのでは

0990デフォルトの名無しさん (ワッチョイ 9fea-ij7E)2022/12/28(水) 00:05:29.63ID:JeA8YDJe0
>>988
(職業)マじゃないただの一般人なので、マ板はたぶん板違い

>>989
ブログみたいな上等な場所に書くことではなく、便所のチラ裏で愚痴るに相応しい話題だと私は思いますけどね

まあ、もうやめます

0991デフォルトの名無しさん (ワッチョイ b363-dxp0)2022/12/28(水) 01:06:31.58ID:PyoNDBFu0
別に職業プログラマでなくても良いんだよ

プログラム(ロジック)についての悩みならここで良いが
プルグラムを書こうとする人の悩みは、マ板の方が相応しい

> バッチファイルで改名?
これが出来なきゃ何のためにバッチファイルが存在してんだよw
バッチやシェルスクリプトは、ファイルのコピーやリネームとか、ファイル関連の処理が簡単に出来る事が最大のメリットだ
兎に角グクれば山ほど出てくる

0993デフォルトの名無しさん (ワッチョイ 9db3-tC+1)2022/12/28(水) 05:55:41.03ID:VGHawTJO0
C

0994デフォルトの名無しさん (ワッチョイ 9db3-tC+1)2022/12/28(水) 05:56:03.28ID:VGHawTJO0

0995デフォルトの名無しさん (ワッチョイ 9db3-tC+1)2022/12/28(水) 05:56:54.31ID:VGHawTJO0

0996デフォルトの名無しさん (ブーイモ MM5b-tRVC)2022/12/28(水) 05:57:50.13ID:DPVYYyHtM
C

0997デフォルトの名無しさん (ブーイモ MM5b-tRVC)2022/12/28(水) 05:58:53.46ID:DPVYYyHtM

0998デフォルトの名無しさん (ブーイモ MM5b-tRVC)2022/12/28(水) 05:59:41.77ID:DPVYYyHtM

0999デフォルトの名無しさん (ブーイモ MM5b-tRVC)2022/12/28(水) 06:00:17.27ID:DPVYYyHtM

1000デフォルトの名無しさん (ブーイモ MM5b-tRVC)2022/12/28(水) 06:00:51.24ID:DPVYYyHtM

10011001Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 145日 6時間 28分 24秒

10021002Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php

レス数が1000を超えています。これ以上書き込みはできません。