C言語勉強してるんだけどわからないことがある助けて

記事サムネイル
1 : 2024/12/17(火) 02:09:55.002 ID:ThAW36ul4
可変長引数がよくわからかい
2 : 2024/12/17(火) 02:14:54.919 ID:WopL4sIWQ
固定長じゃないってことちゃうか?
3 : 2024/12/17(火) 02:15:39.524 ID:ThAW36ul4
すまん可変長引数じゃなかったわ
4 : 2024/12/17(火) 02:16:01.486 ID:SAM2nz1nU
printfみたいな引数の数が決まってないやつ
5 : 2024/12/17(火) 02:16:31.420 ID:ThAW36ul4
strcmp(some,”moji”);

みたいに渡すときクォーテーションで囲まれてる方のchar配列のサイズってどうなるん?

6 : 2024/12/17(火) 02:17:33.933 ID:SAM2nz1nU
char配列じゃなくて固定文字列へのポインタが渡されたはず
11 : 2024/12/17(火) 02:19:25.330 ID:ThAW36ul4
>>6
各文字へのポインタが渡されるってこと?
13 : 2024/12/17(火) 02:20:05.544 ID:SAM2nz1nU
>>11
先頭文字へのポインタや
21 : 2024/12/17(火) 02:24:44.317 ID:ThAW36ul4
>>13
なんとなくわかった気がする
25 : 2024/12/17(火) 02:25:50.982 ID:SAM2nz1nU
>>21
わかったなら何より
関数内で先頭からnull文字までポインタ進めて走査してるイメージでええよ
7 : 2024/12/17(火) 02:17:35.461 ID:7Xj2GfIOp
それは単なる文字列やん
8 : 2024/12/17(火) 02:18:44.397 ID:JFgH8O1RA
コンパイラによって変わるやろ
アラインメント
9 : 2024/12/17(火) 02:18:51.323 ID:7Xj2GfIOp
C言語 文字列で検索すればええ
10 : 2024/12/17(火) 02:19:23.065 ID:CfAk9VL8N
printfの引数は可変長引数であってるけど文字列型変数とは別の概念や
12 : 2024/12/17(火) 02:19:32.860 ID:pTcd/sFQ8
ボインボインターよ
14 : 2024/12/17(火) 02:20:09.065 ID:Il2fYiouD
知らんけどサイズ4で初期化された配列が渡されるんちゃうん
19 : 2024/12/17(火) 02:21:25.402 ID:ThAW36ul4
スクリプト湧いた?
20 : 2024/12/17(火) 02:21:31.612 ID:pTcd/sFQ8
エアプやけど引数の配列のポインタでなんかやろ!
22 : 2024/12/17(火) 02:25:01.509 ID:Il2fYiouD
C言語なんかいまさら勉強して何するん
需要あるか?
27 : 2024/12/17(火) 02:25:58.025 ID:JFgH8O1RA
>>22
組み込みやるなら…
まあ仕事するときに使うくらい
23 : 2024/12/17(火) 02:25:03.067 ID:9QCWOEg7i
Cは配列だけ渡しても受け取り側では長さはわからん仕組みや
配列て結局ただのポインタだからな
だからsize_t型で配列の長さも一緒に渡してた記憶がある
28 : 2024/12/17(火) 02:26:14.943 ID:ThAW36ul4
極論クソ長い文字列ダブルクォーテーションで送ったら
メモリ確保してないから途中で上書きされて高確率でぶっ壊れるって認識は合ってる?
29 : 2024/12/17(火) 02:28:01.094 ID:Il2fYiouD
>>28
確保できなかったらその時点でエラー出るんじゃないの
32 : 2024/12/17(火) 02:29:03.200 ID:ThAW36ul4
>>29
メモリ確保周り雰囲気しか理解してないからわかんね🙄
30 : 2024/12/17(火) 02:28:25.629 ID:CfAk9VL8N
>>28
あっとるで
ぶっ壊れた時にどうなるかはOSの防御力依存やから結果何が起こるかは分からんけど
31 : 2024/12/17(火) 02:28:40.363 ID:SAM2nz1nU
>>28
基本ダブルクォートで囲った文字はプログラムが作業用に使う領域とは異なる事が多いので大丈夫。
コンパイラによって最大文字列長は異なるけど限界はある。

コメント

タイトルとURLをコピーしました