[過去ログ] C言語なら俺に聞け 160 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
818: デフォルトの名無しさん (ワッチョイ 2e63-3uzD) [sage] 2023/03/31(金) 10:06:11.78 ID:ZGSDW47D0(1) AAS
以前の職場、頭に”-”付いたファイルがよく放置されてたな
819: デフォルトの名無しさん (アウアウウー Saa5-3uzD) [sage] 2023/03/31(金) 12:22:34.54 ID:EpaLX3NUa(1) AAS
getopt()の仕様がわかってないと削除できないやつね
820: デフォルトの名無しさん (スップ Sdc2-BuZC) [] 2023/03/31(金) 16:04:12.84 ID:VmvJgfTvd(1) AAS
-rfという名前のファイル置いときますね
821: デフォルトの名無しさん (スッププ Sdd6-wCIk) [sage] 2023/03/31(金) 16:20:13.87 ID:N/uv7Ri4d(1) AAS
*で全部消える
822: デフォルトの名無しさん (ワッチョイ ff9a-Pd8U) [sage] 2023/04/01(土) 04:36:47.77 ID:TiOY9/eM0(1) AAS
>>813
ttyに「大文字だけの端末」みたいのをサポートするモードがあったはず
今でもsttyにolcucとかオプションがある
823(1): デフォルトの名無しさん (ワッチョイ 5fda-DgoB) [sage] 2023/04/01(土) 08:01:57.89 ID:JdkGmPlI0(1) AAS
>>786
手順が2⁶⁴-1回なだけで2⁶⁴段スタックがたまるわけじゃないぞ?
824: デフォルトの名無しさん [sage] 2023/04/01(土) 08:28:02.36 ID:RFr3BRPJ0(1) AAS
その手順ごとに自身が呼ばれるから64回の再帰ってことじゃないの?
825: デフォルトの名無しさん (ワッチョイ ffda-no2l) [sage] 2023/04/02(日) 05:17:00.30 ID:raeheLh20(1) AAS
>>823
実際にスタックに積まれる段数の最大値は最後の1枚分を除いた直前のすべての移動枚数分
要するに一番下の円盤の移動の直前にそれまでの移動分がすべてスタックに積まれる
826: デフォルトの名無しさん (ワッチョイ 7ffb-Z8D1) [] 2023/04/02(日) 05:25:52.58 ID:t6gv1L3z0(1) AAS
この手のスタックに積まれるのが最大になるタイミングって実装依存になるような気がするが
俺の場合だと1番上に置いてある最初の1枚を動かすタイミングでスタックに64段積まれる
827(1): デフォルトの名無しさん (スッププ Sd8f-Yz/h) [sage] 2023/04/02(日) 09:45:46.28 ID:NRuCP2qfd(1/2) AAS
>>786
2^64回ではなくて64!回じゃないのか?
828: デフォルトの名無しさん (ラクッペペ MM4f-+zBY) [sage] 2023/04/02(日) 10:09:18.45 ID:tfS01X/KM(1) AAS
>>827
正確には、最短で(2^64-1)回
1枚 1回
2枚 3回
3枚 7回
4枚 15回
・・・
n枚 (2^n-1)回
考え方としては、1回前までの円盤を一時的に順に積み上げて最後の1枚を目標に移動し
その後その円盤の上に全く同じ手順で直前までの手順を復元する
要するに、n枚の時の回数をA(n)回とすると、(n+1)枚の時の回数はA(n+1)=A(n)*2+1
この漸化式の一般解を求めると上の回数になる
その結果、繰返し回数の見積りは
O(n)=2^n
となる
829: デフォルトの名無しさん (スッププ Sd8f-Yz/h) [sage] 2023/04/02(日) 10:39:38.37 ID:NRuCP2qfd(2/2) AAS
いや一枚動かすごとに再帰呼び出す必要ない
n枚動かすならパラメータをn-1枚にして自分自身を再帰呼び出し
そうしてn=1になればもう呼び出す必要はない
結果的にスタックはn段で足りる
再帰呼び出しの利点はまさにそれだから
830: デフォルトの名無しさん (ワッチョイ ff63-kVuH) [sage] 2023/04/02(日) 10:39:44.95 ID:vuecyBii0(1) AAS
俺の頭は3枚のスタックで溢れる
831: デフォルトの名無しさん (スッップ Sd9f-V10A) [sage] 2023/04/03(月) 07:29:00.64 ID:LcmFFSdCd(1) AAS
難しいニダ
832: デフォルトの名無しさん (ササクッテロロ Sp33-W4em) [sage] 2023/04/03(月) 10:36:24.87 ID:rxZSmkg/p(1) AAS
リカーシブル禁止な
833: デフォルトの名無しさん (ワッチョイ dfc9-Cn9/) [sage] 2023/04/03(月) 10:54:13.61 ID:amgtJnTb0(1/3) AAS
https://ideone.com/BGn4Ew
ChatGPT が示したコード
最初は n 段積まれるけど 途中で積足しがおきてるね
前の再起と後ろの再起
834: デフォルトの名無しさん (ワッチョイ dfc9-Cn9/) [sage] 2023/04/03(月) 11:17:01.50 ID:amgtJnTb0(2/3) AAS
すまね n == 1 でデクリメントしてないがな
835: デフォルトの名無しさん (ワッチョイ dfc9-Cn9/) [sage] 2023/04/03(月) 11:20:49.83 ID:amgtJnTb0(3/3) AAS
https://ideone.com/FKX7i6
なおしたし
nやし
836: デフォルトの名無しさん (ワッチョイ 7f79-u6c4) [sage] 2023/04/03(月) 19:50:55.17 ID:FTaZkaBO0(1) AAS
(いつまでこの話題続けるんだろう・・・)
837: デフォルトの名無しさん (ワッチョイ ff63-kVuH) [sage] 2023/04/03(月) 20:00:28.42 ID:GTpIFgvQ0(1) AAS
ただいま32個目のスタックに到達
838(2): デフォルトの名無しさん (ワッチョイ a9b3-udcE) [sage] 2023/04/08(土) 20:36:00.74 ID:SFpZqjEH0(1) AAS
なんか、
for(size_t i=0...
と書く人いません?
for(int i=0ではなくsize_tを使う意味はなんでしょうか?
839: デフォルトの名無しさん (ワッチョイ a169-/aea) [sage] 2023/04/08(土) 20:53:31.67 ID:wgIhukY00(1) AAS
strlen()やsizeofはsize_tなんだわこれが
840: 蟻人間◆T6xkBnTXz7B0 (スフッ Sd22-6PIS) [sage] 2023/04/08(土) 20:55:09.41 ID:3OtdrBzyd(1) AAS
size_tはintよりサイズが大きいかも知れないし、符号なし整数なんだよね。
841: デフォルトの名無しさん (ワッチョイ bd02-oFYy) [sage] 2023/04/08(土) 21:16:04.49 ID:rjC7aYJI0(1) AAS
そのiを主にsize_tとして使う用があるから
もし質問がsize_tとして使う用がないのにiをsize_tにするのか?ということなら、そう書いて
842: デフォルトの名無しさん (ワッチョイ 6ecf-Rzwh) [sage] 2023/04/08(土) 21:21:03.16 ID:tM+hyW0O0(1) AAS
>>838
Cにおいて自然数で表されるべきものには全てsize_tを使うべきだと信じてる人達が一定数いる
大きさ、長さ、個数、順番、回数なんかが該当し、そこにはループカウンタも含まれる
意味の問題ではなく教義や主義の問題なんで、自分の考えと違うコードを見かけてもそういうもんだで済ますのがいい
843: デフォルトの名無しさん (ワッチョイ 495f-MO2j) [sage] 2023/04/08(土) 21:22:33.45 ID:9tIz9OW00(1) AAS
ほとんどの場合はどっちでもいいかと
844: デフォルトの名無しさん (アウアウウー Sa05-Ay2p) [sage] 2023/04/08(土) 21:37:43.61 ID:vkc2i7uPa(1) AAS
size_t と off_t ぐらいは使えよ
845(1): デフォルトの名無しさん (ワッチョイ 0279-90pI) [sage] 2023/04/08(土) 21:42:59.63 ID:ymsLMaB30(1) AAS
終端ヌル文字列の長さが符号ビット分まであったらそれは異常ではなかろうか
オンメモリで処理できるデータじゃないから見直すべき
846(1): デフォルトの名無しさん (テテンテンテン MM66-xOzU) [sage] 2023/04/08(土) 22:47:03.50 ID:iv8dl0Z8M(1) AAS
>>845
んなこたーない
巨大なファイルを扱う時にはそういうこともあり得る
847: デフォルトの名無しさん (ワッチョイ 424b-jq58) [sage] 2023/04/09(日) 01:33:51.48 ID:hSdkmotY0(1) AAS
2.2GBのテキストファイル
848(1): デフォルトの名無しさん (スッププ Sd22-QGEt) [sage] 2023/04/09(日) 09:21:07.72 ID:J2NWn1GHd(1) AAS
>>846
そんなもんstrlenで処理するなw
いちいち数えてるのアホらしい
長さを別に持つべき
849(1): デフォルトの名無しさん (テテンテンテン MM66-xOzU) [sage] 2023/04/09(日) 10:02:17.83 ID:mGUCWnYwM(1/2) AAS
>>848
100Bだろうが4GBだろうが、テキストファイルをロードする時にはゼロ終端文字列にするだろ
それをstrlenするかどうかは俺の知ったことではない
4GBのゼロ終端文字列が異常ではないというだけだ
850: デフォルトの名無しさん (アウアウウー Sa05-l3hZ) [sage] 2023/04/09(日) 10:03:11.35 ID:Lsx68Nkda(1) AAS
ファイルから読むこんで文字列処理する場合とかINT_MAXサイズ以上になる可能性もあるけどINT_MAXの範囲までしか処理しちゃいけないの?
851: デフォルトの名無しさん (ワッチョイ 495f-MO2j) [sage] 2023/04/09(日) 10:23:33.31 ID:S22RS/pW0(1/3) AAS
シークしなよ
852(1): デフォルトの名無しさん (アウアウウー Sa05-l3hZ) [sage] 2023/04/09(日) 10:29:43.09 ID:Mq6Pc04Ma(1) AAS
一方向のみに進むだけならシークでいいけど、対応する値を探したりするには場所情報もいるから
853(2): デフォルトの名無しさん (スッププ Sd22-QGEt) [sage] 2023/04/09(日) 10:55:25.78 ID:SXWU02gid(1) AAS
>>849
なんで?
サイズわかってるのに終端つける意味がないわ
>>852
場所を自分で保持してればいいだけだろ
854: デフォルトの名無しさん (アウアウウー Sa05-l3hZ) [sage] 2023/04/09(日) 11:20:12.19 ID:JaCyVsO8a(1) AAS
その場所情報を残すためにintじゃ足りないから大きな型を使ったりするけど
シークじゃ戻って対象の文字列の間の処理を再起やってまた進んでってのが面倒くさい
855: デフォルトの名無しさん (ワッチョイ 6e63-Ay2p) [sage] 2023/04/09(日) 11:36:10.69 ID:aX3VhQL60(1/7) AAS
面倒くさがる人はプログラムに向いていません
856: デフォルトの名無しさん (アウアウウー Sa05-l3hZ) [sage] 2023/04/09(日) 11:49:17.45 ID:K99TBVjYa(1) AAS
やりやすい方法があるのに複雑にして分かりにくくするのがプログラマーならプログラマーじゃなくていいや
857: デフォルトの名無しさん (ワッチョイ 6e63-Ay2p) [sage] 2023/04/09(日) 12:08:18.91 ID:aX3VhQL60(2/7) AAS
あるならそれを使えば良いだろ
相談するまでもない
858(2): デフォルトの名無しさん (テテンテンテン MM66-xOzU) [sage] 2023/04/09(日) 12:24:20.87 ID:mGUCWnYwM(2/2) AAS
>>853
LoadTextFile()っていう関数を作ったら戻り値は何だ?
const char*だろ
ゼロ終端文字列が返ると思うだろ
もちろん追加でサイズも引数経由で返しても良い
悔しいからって屁理屈をこねるな
859(3): デフォルトの名無しさん (ワッチョイ 2d63-r2C4) [sage] 2023/04/09(日) 12:31:45.31 ID:kBYq2/2r0(1) AAS
>>853
mainは第1引数がサイズで、第2引数の指す先はNULL終端されてるね
860(1): デフォルトの名無しさん (スッププ Sd22-QGEt) [sage] 2023/04/09(日) 13:05:09.35 ID:bTpPccPGd(1) AAS
>>858
例えば
終端に移動するとき
サイズと比較して超えていたらエラーか終端に切り詰める
データを追加する場合
終端まで移動
こういった普通の作業するのにいちいちstrlenを呼び出すとかありえないからサイズはどこかに保持する必要がある
よって終端記号はムダだよ
861: デフォルトの名無しさん (スッップ Sd22-VdbI) [sage] 2023/04/09(日) 13:39:50.90 ID:8g05NYDAd(1/2) AAS
>>858
すげー、なんでそんなの決められるの?
サイズ最適なロードしたデバイス名とか途中で割り込まれた回数とかカウントしないんだ、、、
862(1): デフォルトの名無しさん (テテンテンテン MM66-xOzU) [sage] 2023/04/09(日) 14:32:05.77 ID:FxGMQKOnM(1) AAS
>>860
strlenを使うかどうかは関知しないと言ってるだろ
それでもゼロ終端文字列を返すんだよ
それがC言語のプロトコルだ
1byteケチって何がしたいんだよw
だから屁理屈をこねるなと言ってる
863(1): デフォルトの名無しさん (エムゾネ FF22-QGEt) [sage] 2023/04/09(日) 14:42:47.16 ID:LpKuKnylF(1/2) AAS
>>862
そんなプロトコルはないよ
例えばread() は読み込んだバイト数を返す
妄想プログラムは程々にな
864(3): デフォルトの名無しさん (エムゾネ FF22-QGEt) [sage] 2023/04/09(日) 14:44:30.71 ID:LpKuKnylF(2/2) AAS
>>859
mainの第一引数はargvの個数であってサイズじゃないよ
865: デフォルトの名無しさん [sage] 2023/04/09(日) 15:09:35.01 ID:zFNH8tsS0(1/4) AAS
>こういった普通の作業するのにいちいちstrlenを呼び出すとかありえないからサイズはどこかに保持する必要がある
“こういった普通の作業”をしない場合はstrlenで良いってことだろ?
なんでもかんでもstrlenを使うって話じゃないし
なんでもかんでもサイズはどこかに保持する必要があるわけじゃなくて
用途に合わせて使い分けるのがプログラマーじゃないの?
866: デフォルトの名無しさん (ワッチョイ 495f-MO2j) [sage] 2023/04/09(日) 15:13:43.40 ID:S22RS/pW0(2/3) AAS
小生はゴミを分別できるプログラマーになりたい
867: デフォルトの名無しさん [sage] 2023/04/09(日) 15:20:34.92 ID:zFNH8tsS0(2/4) AAS
いちいちstrlenを呼び出す、と言っているけど
ゼロ終端文字列を返す関数はあるしゼロ終端文字列からサイズを得るためstrlenは呼び出すよね?
その後は処理を高速にするためにそのサイズを維持しつつというのはあると思うよ
けどその後呼び出す文字列処理関数があるとして、その関数が削除した文字数や追加した文字数を返してくれるとは限らないわけで
その場合、その都度strlenを呼び出さなきゃいけない場合もあり得るよね?
それぞれが想定する状況がかみ合っていないだけとも思うんだけどね
結局自分が想定する状況なら自分の意見が良い言っているだけで、じゃあ相手の言う状況でも自分の言っているのが正しいかということ自体を否定しているわけではないでしょ?
868: デフォルトの名無しさん [sage] 2023/04/09(日) 15:21:53.57 ID:zFNH8tsS0(3/4) AAS
最後変だわ
×結局自分が想定する状況なら自分の意見が良い言っているだけで、じゃあ相手の言う状況でも自分の言っているのが正しいかということ自体を否定しているわけではないでしょ?
〇結局自分が想定する状況なら自分の意見が良い言っているだけで、じゃあ相手の言う状況でも自分の言っているのが正しいと言いたいわけではないでしょ?
869: デフォルトの名無しさん (ワッチョイ 495f-MO2j) [sage] 2023/04/09(日) 16:50:03.25 ID:S22RS/pW0(3/3) AAS
小生だって燃えないゴミを燃えるゴミと言いたいわけじゃないさ
870: デフォルトの名無しさん (ワッチョイ 0279-90pI) [sage] 2023/04/09(日) 18:08:42.61 ID:I9Qf3W7D0(1/2) AAS
環境商法は嘘でも乗っからないと文句言われるからつれーよな
871: デフォルトの名無しさん (ワッチョイ 6e63-Ay2p) [sage] 2023/04/09(日) 18:17:37.00 ID:aX3VhQL60(3/7) AAS
同じプラスティックを、燃えるゴミ、燃えないゴミ、分別込み、どれで出してもOKらしい
あれはやってますアピールなんだとか
872: デフォルトの名無しさん (ワッチョイ 6e63-Ay2p) [sage] 2023/04/09(日) 18:24:47.66 ID:aX3VhQL60(4/7) AAS
分別よりも、粗大ゴミ、家電ゴミなどの有料ゴミは厳格に扱われる
迂闊に持ち帰ると大目玉食らうらしい
873: デフォルトの名無しさん [sage] 2023/04/09(日) 18:45:27.28 ID:zFNH8tsS0(4/4) AAS
問題があるからそうしているわけじゃなくて限りある資源をリサイクルだからそうしている
「どれで出してもOKらしい」と言うのは論点が間違ってる
あと指定された場所にあるゴミは所有権の放棄じゃなくて自治体への譲渡みたいなモノだから持ち帰りは窃盗になる
874: デフォルトの名無しさん (ラクッペペ MM66-DefY) [sage] 2023/04/09(日) 18:45:49.74 ID:qh8VxmjLM(1) AAS
条例と法令の違い
875: デフォルトの名無しさん (ワッチョイ 6e63-Ay2p) [sage] 2023/04/09(日) 18:49:28.88 ID:aX3VhQL60(5/7) AAS
いや実際そうだぞ
汚れているプラスティックを分別ゴミに混ぜられると迷惑なんだそうだ
洗剤でゴシゴシ洗って綺麗にしてから出せだとさ
876: デフォルトの名無しさん (ワッチョイ 6e63-Ay2p) [sage] 2023/04/09(日) 18:51:41.97 ID:aX3VhQL60(6/7) AAS
実際PETボトルは回収しても資源として再利用するのに手間が掛かる
だから、飲料メーカーもPETからアルミ容器に切り替えている
アルミはリサイクルが簡単なんだそうだ
877: デフォルトの名無しさん (ワッチョイ 6e63-Ay2p) [sage] 2023/04/09(日) 19:02:34.53 ID:aX3VhQL60(7/7) AAS
迂闊に持ち帰ると大目玉、はゴミ収集業者の話な
878: デフォルトの名無しさん (ワッチョイ 0279-90pI) [sage] 2023/04/09(日) 19:07:33.05 ID:I9Qf3W7D0(2/2) AAS
基本リサイクルはコスト的にデメリットしかない
一部ではやってますよアピールをしつつ、大半は分別したのをわざわざまとめて燃やしたり他所に押し付けるのが現実
環境商法は理想アピールとかけ離れた現実が弱みになって反社が入り込みやすいジャンルになってるから関わると危険だよ
879: デフォルトの名無しさん (テテンテンテン MM66-xOzU) [sage] 2023/04/09(日) 19:12:09.18 ID:ONc2duBhM(1/4) AAS
>>863
お前の大好きなstrlenがそれだろw
支離滅裂過ぎてもはや自分が何言ってるか分かってなさそうw
お大事に…
880: デフォルトの名無しさん (テテンテンテン MM66-xOzU) [sage] 2023/04/09(日) 19:15:10.49 ID:ONc2duBhM(2/4) AAS
文字列とストリームの区別が付いてないアホに付き合わないといけないとはな…
そういう奴のコードはバグだらけだろうなw
881: デフォルトの名無しさん (テテンテンテン MM66-xOzU) [sage] 2023/04/09(日) 19:22:58.30 ID:ONc2duBhM(3/4) AAS
ま、Cの文字列はバグり易いのは間違いないがな
特にmmapを使うと悲劇が起こりやすい
なのでテキストファイルの読み込みには、LoadTextFileの様な明確な名前を付けて専用に用意するのが常套手段
もちろんゼロ終端文字列を返す
882(1): デフォルトの名無しさん (スッップ Sd22-VdbI) [sage] 2023/04/09(日) 19:27:24.15 ID:8g05NYDAd(2/2) AAS
strlenとか使う馬鹿がいるのか
ラベル低すぎ
883(1): デフォルトの名無しさん (テテンテンテン MM66-xOzU) [sage] 2023/04/09(日) 20:52:59.04 ID:ONc2duBhM(4/4) AAS
Linux Kernelでも使われてるけど、ラベル低すぎとは知らなかったw
884(1): デフォルトの名無しさん (ワッチョイ b902-VdbI) [sage] 2023/04/09(日) 23:27:25.54 ID:rzCgDpP30(1) AAS
strlen strcpy strcatのストラ三兄弟は使うな
普通はマクロ定義でスピードアップ
885: デフォルトの名無しさん (ワッチョイ 6ecf-Rzwh) [sage] 2023/04/10(月) 00:09:17.40 ID:IbkX37li0(1) AAS
どんなマクロなんだい
886(1): デフォルトの名無しさん (ワッチョイ 2d63-r2C4) [sage] 2023/04/10(月) 05:24:42.66 ID:hibmPNuj0(1) AAS
>>864
データサイズの話じゃなかったのかよ?
なんで配列のサイズかどうかになるんだ
887(2): デフォルトの名無しさん (スッププ Sd22-QGEt) [sage] 2023/04/11(火) 00:17:24.82 ID:KrSp3HQhd(1) AAS
>>883
なんかこの人おかしくないか?ラベル…?
>>884も変だけど…ストラ3兄弟って…ギャグか?w
最終的に関数名をちゃんとすればどうにかなるみたいだし
そんな話誰が信じるんだよw
>>886
859に言ってくれ
明らかな誤りが含まれていたので訂正した
888: デフォルトの名無しさん (テテンテンテン MM66-xOzU) [sage] 2023/04/11(火) 02:28:47.80 ID:MidqBNVpM(1) AAS
>>887
>>882に言えよ
889(1): デフォルトの名無しさん (ワッチョイ 2d63-r2C4) [sage] 2023/04/11(火) 06:49:02.21 ID:dFL5vcfn0(1/3) AAS
>>887
訂正ってどこ? 具体的なレス番plz
890: デフォルトの名無しさん (ワッチョイ a910-Ay2p) [sage] 2023/04/11(火) 07:47:26.88 ID:lpXrKUt40(1) AAS
Cを捨ててCStringを使うC++へ行けってことだろ。
891: デフォルトの名無しさん (ワッチョイ 2d63-r2C4) [sage] 2023/04/11(火) 08:08:42.83 ID:dFL5vcfn0(2/3) AAS
std::stringではなくCStringな変人きたな
892: デフォルトの名無しさん (スッップ Sd22-QGEt) [sage] 2023/04/11(火) 08:55:39.31 ID:ozkx3imqd(1/3) AAS
>>889
訂正は>>864だが>>859を読んですぐおかしいと思わなかったなら理解できないと思う
893(1): デフォルトの名無しさん (ワッチョイ 495f-/aea) [sage] 2023/04/11(火) 09:23:43.71 ID:Q4R/j+cb0(1) AAS
>>859 の言ってるのは argv[argc] == NULL となる規定のことでしょ。
それ自体は正しいので訂正することも無い。
894: デフォルトの名無しさん (ワッチョイ 495f-MO2j) [sage] 2023/04/11(火) 09:41:53.28 ID:7OwUdYTT0(1/2) AAS
MFCに帰ろう
895(1): デフォルトの名無しさん (スッップ Sd22-QGEt) [sage] 2023/04/11(火) 09:52:04.87 ID:ozkx3imqd(2/3) AAS
>>893
文字列サイズの話をしているのに文字列配列の要素数の話で「サイズ」と言うのは不自然
859はargvについて誤解してると思う
896(1): デフォルトの名無しさん (ワッチョイ 2d63-r2C4) [sage] 2023/04/11(火) 15:56:45.30 ID:dFL5vcfn0(3/3) AAS
>>895
残念ながら俺は文字列サイズとかいう造語の話はしてない
853曰く
> サイズわかってるのに終端つける意味がないわ
に対してあえて冗長な設計にする場合があると指摘したまで
>>864もそうだがどうもおまえさんサイズという語の意味を都合良く変動させているようだな
897: デフォルトの名無しさん (ワッチョイ 495f-MO2j) [sage] 2023/04/11(火) 19:04:39.28 ID:7OwUdYTT0(2/2) AAS
小生は文字列の長さを表すとき、strlenに習ってlengthという語を用いますん
898: デフォルトの名無しさん (ワッチョイ 6e63-Ay2p) [sage] 2023/04/11(火) 19:20:48.37 ID:1aMyTP0X0(1/2) AAS
文字列サイズなんて聞くと、配列要素数かと受け取ってしまう
899(2): デフォルトの名無しさん (スッップ Sd22-QGEt) [sage] 2023/04/11(火) 19:50:55.63 ID:ozkx3imqd(3/3) AAS
>>896
くだらない言い訳だ
文字列をロードしたサイズの話をしているのにコマンドラインの引数の個数の話にするのは不自然だと感じた
どうでもいいが文字列の終端までの長さをなんと呼ぶのかね
900: デフォルトの名無しさん [sage] 2023/04/11(火) 20:01:03.76 ID:eL0kPSHK0(1) AAS
文字列長
文字の長さ
文字列の長さ
長さ
901: デフォルトの名無しさん (ワッチョイ 6e63-Ay2p) [sage] 2023/04/11(火) 20:41:17.09 ID:1aMyTP0X0(2/2) AAS
あと、文字数というのも入れてあげて
902: デフォルトの名無しさん (ワッチョイ 02ad-Ay2p) [] 2023/04/12(水) 02:49:44.30 ID:1sJZVfCp0(1/3) AAS
文字の長さ 3m
重さ 5kg
903: デフォルトの名無しさん (ワッチョイ 02ad-Ay2p) [] 2023/04/12(水) 02:52:08.54 ID:1sJZVfCp0(2/3) AAS
https://www.shinjuku-i-land.jp/assets/img/art/img_art-list_3.jpg
904: デフォルトの名無しさん (ワッチョイ 02ad-Ay2p) [] 2023/04/12(水) 02:53:14.30 ID:1sJZVfCp0(3/3) AAS
とても長くて太くて大きくて重そう
905: デフォルトの名無しさん (ワッチョイ 2d63-r2C4) [sage] 2023/04/12(水) 06:48:43.44 ID:NgkNjGWQ0(1/7) AAS
>>899
それってあなたの感想ですよね
906: デフォルトの名無しさん (ワッチョイ bd02-oFYy) [sage] 2023/04/12(水) 08:59:58.23 ID:HQz+hF5G0(1) AAS
もうそれ秋田
907(3): デフォルトの名無しさん (アウアウウー Sa05-9cWA) [] 2023/04/12(水) 11:42:14.25 ID:+8HledSTa(1/2) AAS
0終端の良い所は可変長でどんなに長い文字列でもメモリが許す限り文字列を続けられる
もちろんデメリットは長さがすぐに判らない
逆に長さを持って struct {size_t len; char hoge[0]} Str; みたいな構成にするのもありだが
例えば Str *s = (Str *)malloc(len + sizeof(Str)); で確保して使う
後者のデメリットは size_t len の最大値までしか文字を格納出来ないこと
struct {short len; char hoge[0]} Str; みたいな実装もたまに観るからあなどれない
908(1): デフォルトの名無しさん (アウアウウー Sa05-9cWA) [] 2023/04/12(水) 11:51:49.32 ID:+8HledSTa(2/2) AAS
>>838
C++だと
vector の size() が size_t を還して
for(int i = 0; i < v.size(); ++i)
って描くと警告出るので
for(int i = 0; i < (int)v.size(); ++i)
にするとさらに警告出て鬱陶しいから
for(size_t i = 0; i < v.size(); ++i)
にするアホな例はよく観るってどっかのサイトに描いてあった
909(1): デフォルトの名無しさん (テテンテンテン MM66-xOzU) [sage] 2023/04/12(水) 12:32:16.29 ID:81IdaWl4M(1) AAS
C++ならイテレーター使えよ…
910: デフォルトの名無しさん (ワッチョイ 495f-cPl8) [sage] 2023/04/12(水) 12:42:43.03 ID:Q+QfGKpq0(1) AAS
vectorはランダムアクセスがウリだからイテレータ使わないこともよくあるね
911: デフォルトの名無しさん (スプープ Sd82-VdbI) [sage] 2023/04/12(水) 13:01:34.03 ID:N6w93SJGd(1) AAS
>>899
「文字列の終端までの長さ」ですが何か?
912: デフォルトの名無しさん (ワッチョイ c5c9-hq/O) [sage] 2023/04/12(水) 13:23:26.32 ID:3jp3M04i0(1) AAS
(文字列の)文字数
913: デフォルトの名無しさん (ワッチョイ c69a-gTA8) [sage] 2023/04/12(水) 13:42:24.69 ID:dS1BcMQZ0(1) AAS
>>909
コードによってはインデックスでアクセスしたいこともあるから...
914: デフォルトの名無しさん (アウアウウー Sa05-Ay2p) [sage] 2023/04/12(水) 13:57:15.96 ID:gJHWYvs7a(1/3) AAS
「アホな例」と書く意味が分からん
ちゃん型を使うべきだろ
915: デフォルトの名無しさん (アウアウウー Sa05-Ay2p) [sage] 2023/04/12(水) 13:57:40.50 ID:gJHWYvs7a(2/3) AAS
ちゃんと型を使うべきだろ
916: デフォルトの名無しさん (アウアウウー Sa05-Ay2p) [sage] 2023/04/12(水) 13:59:47.55 ID:gJHWYvs7a(3/3) AAS
そもそも「アホな例」じゃないとLP64でおかしなことになるよね
917(2): デフォルトの名無しさん (ワッチョイ 2d63-r2C4) [sage] 2023/04/12(水) 14:05:32.31 ID:NgkNjGWQ0(2/7) AAS
struct X;
void func(struct X[]); //error
struct Y { int a; };
void func(struct Y[]); //ok
不完全型の場合、仮引数の[]はポインタにならない??
ちな、gccではエラー、clでは通る
上下前次1-新書関写板覧索設栞歴
あと 85 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.031s