!extend:checked:vvvvv:1000:512
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/
-
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
※前スレ
C言語なら俺に聞け 151
https://mevius.5ch.net/test/read.cgi/tech/1554171817/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
探検
C言語なら俺に聞け 152
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (アウアウウー Sa4f-7DQ/)
2019/06/17(月) 18:27:10.41ID:3L1/L9kLa220デフォルトの名無しさん (ワッチョイ 6f02-ttyE)
2019/07/07(日) 18:03:14.45ID:XjejoYnQ0 >>219
それ顔文字っぽいよね。
それ顔文字っぽいよね。
221デフォルトの名無しさん (ワッチョイ 6f02-ttyE)
2019/07/07(日) 18:04:40.15ID:XjejoYnQ0 >>216
うちのポインタは8バイトだ。
うちのポインタは8バイトだ。
222デフォルトの名無しさん (ワッチョイ ff79-rgZK)
2019/07/07(日) 19:09:15.76ID:bN7H9WWH0 配列はポインタのシンタックスシュガーでしかない
ポインタは何でも許されるが配列は操作が簡略化と同時に制限されてる
ポインタは何でも許されるが配列は操作が簡略化と同時に制限されてる
224デフォルトの名無しさん (ワッチョイ ff79-rgZK)
2019/07/07(日) 19:32:54.23ID:bN7H9WWH0 >>223
配列は宣言した瞬間に領域が確保されてるだろ
配列は宣言した瞬間に領域が確保されてるだろ
225デフォルトの名無しさん (ワッチョイ cf63-mE9d)
2019/07/07(日) 19:33:00.70ID:SGQz+b0c0 >>222
x[-1]、これも許されるんだよな
x[-1]、これも許されるんだよな
226デフォルトの名無しさん (アウアウクー MM87-yCcC)
2019/07/07(日) 20:07:07.70ID:OUCQisjNM int a[1];
と
int *a;
a=(int *)malloc(sizeof(int));
の違いって何?
と
int *a;
a=(int *)malloc(sizeof(int));
の違いって何?
227蟻人間 ◆T6xkBnTXz7B0 (スププ Sd1f-dIxF)
2019/07/07(日) 20:12:27.77ID:0lH1eUtNd >>226
前者はスタックか静的領域に確保される。後者はヒープに確保される。前者はスコープを抜けると自動で解放。後者は解放しないとメモリーリークする。
前者はスタックか静的領域に確保される。後者はヒープに確保される。前者はスコープを抜けると自動で解放。後者は解放しないとメモリーリークする。
228デフォルトの名無しさん (アウアウクー MM87-yCcC)
2019/07/07(日) 20:15:53.10ID:OUCQisjNM229デフォルトの名無しさん (ワッチョイ ff79-rgZK)
2019/07/07(日) 20:17:35.62ID:bN7H9WWH0 >>228
寧ろ配列で済むのにポインタを使う意味がないぞ
寧ろ配列で済むのにポインタを使う意味がないぞ
230蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ c301-dIxF)
2019/07/07(日) 20:18:55.18ID:JhpdhjN90 >>228
繰り返し(iteration)の処理で連続データを処理・制御するときに配列がないと困る。
繰り返し(iteration)の処理で連続データを処理・制御するときに配列がないと困る。
231デフォルトの名無しさん (アウアウクー MM87-yCcC)
2019/07/07(日) 20:29:34.92ID:OUCQisjNM >>229-230
int a[3];
for(int i=0;i<3;i++) a[i] = 0;
int *a;
a=(int *)malloc(sizeof(int * 3));
for(int i=0;i<3;i++) *(a+i) = 0;
これとこれだと違うの?
ポインタだとchar型の時とか文字列代入出来るし
上位互換な気がするんだけど。
int a[3];
for(int i=0;i<3;i++) a[i] = 0;
int *a;
a=(int *)malloc(sizeof(int * 3));
for(int i=0;i<3;i++) *(a+i) = 0;
これとこれだと違うの?
ポインタだとchar型の時とか文字列代入出来るし
上位互換な気がするんだけど。
232蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ c301-dIxF)
2019/07/07(日) 20:32:06.26ID:JhpdhjN90233蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ c301-dIxF)
2019/07/07(日) 20:34:52.90ID:JhpdhjN90 配列のサイズが決まるのはコンパイル時だ。
234デフォルトの名無しさん (ワッチョイ ff79-rgZK)
2019/07/07(日) 20:36:22.20ID:bN7H9WWH0235デフォルトの名無しさん (ワッチョイ 6352-nrJI)
2019/07/07(日) 20:36:48.46ID:HZba7DSz0236デフォルトの名無しさん (ワッチョイ 6352-nrJI)
2019/07/07(日) 20:37:18.16ID:HZba7DSz0 かぶった
237デフォルトの名無しさん (アウアウクー MM87-yCcC)
2019/07/07(日) 20:50:54.62ID:OUCQisjNM じゃあ配列は、ポインタの一部機能を制限して使いやすさの向上を図ったものという認識でいいの?
それとも生まれも育ちも全く別の概念?
何か、今やってるcの教材が、まず最初に配列を使ってプログラム書いて、
次の章でポインタ出てきて、今まで配列使って書いた奴をポインタで書き変えろみたいな例題ばっかりだから
だったら最初から配列いらなくない?と思ってしまいました。
それとも生まれも育ちも全く別の概念?
何か、今やってるcの教材が、まず最初に配列を使ってプログラム書いて、
次の章でポインタ出てきて、今まで配列使って書いた奴をポインタで書き変えろみたいな例題ばっかりだから
だったら最初から配列いらなくない?と思ってしまいました。
238蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ c301-dIxF)
2019/07/07(日) 20:52:43.83ID:JhpdhjN90 実用的なプログラム書いてたら、そのうちわかる。心配要らない。
239デフォルトの名無しさん (アウアウクー MM87-yCcC)
2019/07/07(日) 21:00:11.30ID:OUCQisjNM 分かりました。unionもわざわざこんなの使わずstruct使えばよくねって思うけどそういうもんだと今は思っときます。
240デフォルトの名無しさん (アウアウエー Sadf-lEBl)
2019/07/07(日) 22:02:44.50ID:o4vR1s03a >>237
むしろ、何故ポインタが不要だと思わんのか謎だわ
むしろ、何故ポインタが不要だと思わんのか謎だわ
241デフォルトの名無しさん (ワッチョイ 7f77-tOvn)
2019/07/07(日) 22:15:20.04ID:2f8BNWqD0 なぜopenとfopenの二つのファイルアクセス手段が用意されているのか。
243デフォルトの名無しさん (ワッチョイ 6f02-ttyE)
2019/07/07(日) 23:10:44.83ID:XjejoYnQ0 >>242
バッファっリングしてくれるとか、fprintf()もあったりしてテキストをフォーマットして出力するのも楽というのがある。
バッファっリングしてくれるとか、fprintf()もあったりしてテキストをフォーマットして出力するのも楽というのがある。
244デフォルトの名無しさん (アウアウエー Sadf-lEBl)
2019/07/07(日) 23:15:22.66ID:o4vR1s03a Cライブラリとしてはfopenしかないわけだけど、正直あんまり便利じゃないよな。
>>243
バッファリングはね…バッファリングは今は大部分 OS が抱いているものなんじゃないかな…アプリケーションが各々のユーザーランドに抱いていてメリットがあるのかな…
バッファリングはね…バッファリングは今は大部分 OS が抱いているものなんじゃないかな…アプリケーションが各々のユーザーランドに抱いていてメリットがあるのかな…
246デフォルトの名無しさん (ワッチョイ 6f02-ttyE)
2019/07/07(日) 23:34:13.80ID:XjejoYnQ0 >>245
ま、そうだけどね。Cってそういう今時のちゃんとしたOSのないところや完全にOSなし環境用のプログラム作るのにも使われるし、ああいうライブラリはあってもいいと思う。
まあしかしちょっと古くなった感はあるのでリニューアルしても良いんじゃないかとは思うけどね。てか、最低でも標準ライブラリなのにセキュリティーホール作ってしまうようなのは廃止した方が良いよな。
ま、そうだけどね。Cってそういう今時のちゃんとしたOSのないところや完全にOSなし環境用のプログラム作るのにも使われるし、ああいうライブラリはあってもいいと思う。
まあしかしちょっと古くなった感はあるのでリニューアルしても良いんじゃないかとは思うけどね。てか、最低でも標準ライブラリなのにセキュリティーホール作ってしまうようなのは廃止した方が良いよな。
247デフォルトの名無しさん (スププ Sd1f-tewH)
2019/07/07(日) 23:42:46.95ID:sq3gNEgUd システムコール自体相当重いから、OS呼び出す回数減らすためのバッファリングだろ
248デフォルトの名無しさん (ワッチョイ c301-8j+F)
2019/07/07(日) 23:47:08.94ID:YcHC3knN0 入出力バッファリングしてくれるファイルシステムなんてあるか?
ジャーナリングと勘違いしてるんだろ
ジャーナリングと勘違いしてるんだろ
249デフォルトの名無しさん (スププ Sd1f-tewH)
2019/07/07(日) 23:54:40.74ID:sq3gNEgUd しない方が珍しくね?
writeしたらディスク書き込み完了するまで次がブロックするとか?
writeしたらディスク書き込み完了するまで次がブロックするとか?
250デフォルトの名無しさん (ワッチョイ c301-tUur)
2019/07/07(日) 23:59:57.04ID:YcHC3knN0 それジャーナル制御の話だろ
251デフォルトの名無しさん (ワッチョイ 7f77-tOvn)
2019/07/08(月) 00:13:01.27ID:cSAl/tEC0 バッファリングとキャッシュの区別が…。
252デフォルトの名無しさん (ワッチョイ c301-8j+F)
2019/07/08(月) 00:15:59.34ID:+tWapxmU0253デフォルトの名無しさん (アウアウクー MM87-yCcC)
2019/07/08(月) 00:21:05.88ID:G56xs+BGM254デフォルトの名無しさん (アウアウカー Sac7-lEBl)
2019/07/08(月) 00:29:20.86ID:EniIIYRYa255デフォルトの名無しさん (ワッチョイ 6f02-ttyE)
2019/07/08(月) 00:44:01.80ID:YBWHLZTU0 >>253
一応初期化の時だけ char s[] = "..."; って書き方できるけどね。これは初期化だけの特別な書き方だな。
一応初期化の時だけ char s[] = "..."; って書き方できるけどね。これは初期化だけの特別な書き方だな。
256デフォルトの名無しさん (ワッチョイ cf63-mE9d)
2019/07/08(月) 01:20:48.92ID:6nQUGxHg0 OSによっては遅延書き込みってしているだろう
257デフォルトの名無しさん (ワッチョイ 6f02-ttyE)
2019/07/08(月) 02:05:54.23ID:YBWHLZTU0 やってるな。外付けのHDD付けた時なんかはするかしないか設定できたりして。
258デフォルトの名無しさん (ワッチョイ 13d2-mVFY)
2019/07/08(月) 08:34:21.82ID:IKtCR6xL0 DOS時代、ディスクキャッシュはドライバーが必要だったな。
259デフォルトの名無しさん (スフッ Sd1f-AH8H)
2019/07/08(月) 08:57:53.53ID:YymrlAAVd str[9]="おはよう"
str[9]={'お','は','よ','う'}
こうやってまとめて配列に日本語を入れるのは出来るんだけど「お」、「は」、「よ」、「う」と一文字ずつ入れることって出来ますか?
英語ならstr[0]=…、str[1]=…って済むけど
str[9]={'お','は','よ','う'}
こうやってまとめて配列に日本語を入れるのは出来るんだけど「お」、「は」、「よ」、「う」と一文字ずつ入れることって出来ますか?
英語ならstr[0]=…、str[1]=…って済むけど
260デフォルトの名無しさん (アウアウウー Sa67-ze1x)
2019/07/08(月) 09:43:06.34ID:tzeJFuHla >>259
> こうやってまとめて配列に日本語を入れるのは出来るんだけど
え?できる?
>「お」、「は」、「よ」、「う」と一文字ずつ入れることって出来ますか?
wchar_t 型を使ってL付けたらできないか?
> こうやってまとめて配列に日本語を入れるのは出来るんだけど
え?できる?
>「お」、「は」、「よ」、「う」と一文字ずつ入れることって出来ますか?
wchar_t 型を使ってL付けたらできないか?
261デフォルトの名無しさん (ワッチョイ cf69-BEQt)
2019/07/08(月) 09:53:54.58ID:jiAfHW5M0 要素数を明示してるので、文中の代入ではなく、初期化のときの話だろうとは予測できるが
「入れる」というのは、代入を連想させるので、うまい言い回しではないかもね
「入れる」というのは、代入を連想させるので、うまい言い回しではないかもね
262デフォルトの名無しさん (ワッチョイ 63f6-tOvn)
2019/07/08(月) 11:00:59.71ID:sWBK4Oik0263デフォルトの名無しさん (アウアウウー Sa67-ze1x)
2019/07/08(月) 11:23:23.17ID:tzeJFuHla264デフォルトの名無しさん (ワッチョイ 8f7c-rgZK)
2019/07/08(月) 11:25:22.35ID:Y+Xu67y40265デフォルトの名無しさん (ワッチョイ 13d2-mVFY)
2019/07/08(月) 11:45:28.78ID:IKtCR6xL0 >259
>str[9]={'お','は','よ','う'}
マルチバイト文字をこう書く時はエンディアンにも気をつけないとね。
>str[9]={'お','は','よ','う'}
マルチバイト文字をこう書く時はエンディアンにも気をつけないとね。
266デフォルトの名無しさん (アウアウウー Sa67-ze1x)
2019/07/08(月) 12:17:44.27ID:tzeJFuHla >>265
てか、それできる?
てか、それできる?
267デフォルトの名無しさん (ワッチョイ 63f6-tOvn)
2019/07/08(月) 12:23:54.16ID:sWBK4Oik0268デフォルトの名無しさん (ワッチョイ ffa5-3Ys2)
2019/07/08(月) 12:29:40.10ID:SgFxP6hn0 思ってるって……
じゃK&Rにはwhyは書いてないってこと?
なんでお前の脳みその中身を当てこしなきゃいけねーんだ
バカかこいつ?
じゃK&Rにはwhyは書いてないってこと?
なんでお前の脳みその中身を当てこしなきゃいけねーんだ
バカかこいつ?
269デフォルトの名無しさん (ワッチョイ 63f6-tOvn)
2019/07/08(月) 12:30:19.48ID:sWBK4Oik0270デフォルトの名無しさん (ワッチョイ 63f6-tOvn)
2019/07/08(月) 12:31:09.46ID:sWBK4Oik0271デフォルトの名無しさん (ワッチョイ 63f6-tOvn)
2019/07/08(月) 12:31:47.98ID:sWBK4Oik0272デフォルトの名無しさん (アウアウウー Sa67-ze1x)
2019/07/08(月) 13:00:33.95ID:tzeJFuHla >>267
なるほど。
なるほど。
273デフォルトの名無しさん (ワッチョイ 13d2-mVFY)
2019/07/08(月) 13:43:50.72ID:IKtCR6xL0 >266
どのあたりに疑念を持ってるの?
どのあたりに疑念を持ってるの?
274デフォルトの名無しさん (アウアウウー Sa67-ze1x)
2019/07/08(月) 13:58:51.22ID:tzeJFuHla >>273
'あ' みたいなのは char じゃないから少なくとも警告出そうな感じするんだが。
'あ' みたいなのは char じゃないから少なくとも警告出そうな感じするんだが。
275デフォルトの名無しさん (ワッチョイ 13d2-mVFY)
2019/07/08(月) 14:09:16.87ID:IKtCR6xL0 int Code='ABCD';
なんて書き方できるから文字列はOK。(Code=0x41424344; と解釈)
全角文字の解釈はコンパイラ次第。unicodeやutf-8対応なら問題ないと思う。
S-JISはよく"\"が含まれる文字で誤作動起こすけど。
なんて書き方できるから文字列はOK。(Code=0x41424344; と解釈)
全角文字の解釈はコンパイラ次第。unicodeやutf-8対応なら問題ないと思う。
S-JISはよく"\"が含まれる文字で誤作動起こすけど。
276デフォルトの名無しさん (ワッチョイ cf69-BEQt)
2019/07/08(月) 14:54:14.01ID:jiAfHW5M0 C99 6.4.4.4 Character constants で
character-constant:
'c-char-sequence'
L'c-char-sequence'
c-char-sequence:
c-char
c-char-sequence c-char
こうなってて文法的には 'ABCDEF' は許されるんだな ちょっと意外
character-constant:
'c-char-sequence'
L'c-char-sequence'
c-char-sequence:
c-char
c-char-sequence c-char
こうなってて文法的には 'ABCDEF' は許されるんだな ちょっと意外
277デフォルトの名無しさん (ワッチョイ 63f6-tOvn)
2019/07/08(月) 15:31:05.17ID:sWBK4Oik0278デフォルトの名無しさん (ワッチョイ c301-mE9d)
2019/07/08(月) 15:37:58.06ID:u+KjwOdz0 処理系定義の動作だから移植性は落ちるよね
279デフォルトの名無しさん (ワッチョイ 2301-r2oz)
2019/07/08(月) 20:12:45.44ID:84rxMJ1M0 文字定数は
Cではint型
C++ではchar型
Cではint型
C++ではchar型
280デフォルトの名無しさん (ワッチョイ ffc5-rgZK)
2019/07/08(月) 20:54:00.78ID:ibRWBgM50 int *ptr;
↑なんですが、「int型のポインタ変数ptr」、それとも「int *型のポインタ変数ptr」のどちらでしょうか?
↑なんですが、「int型のポインタ変数ptr」、それとも「int *型のポインタ変数ptr」のどちらでしょうか?
281デフォルトの名無しさん (ワッチョイ ff79-rgZK)
2019/07/08(月) 20:55:50.12ID:Fr0SEB8b0 int*型の変数
282デフォルトの名無しさん (ワッチョイ ffc5-rgZK)
2019/07/08(月) 21:09:00.76ID:ibRWBgM50 >>281
読み方としては
int (イント) * (ポインタ) 型の変数
でしょうか
「ポインタ変数」と言った場合は「* (ポインタ)変数」という捉え方でいいのでしょうか?
「ポインタ」と言った場合に「*」を指すのは普通ですか?
読み方としては
int (イント) * (ポインタ) 型の変数
でしょうか
「ポインタ変数」と言った場合は「* (ポインタ)変数」という捉え方でいいのでしょうか?
「ポインタ」と言った場合に「*」を指すのは普通ですか?
>>282
好きなように把握すればよい、しかし int * の使われ方は決まっているのだから、それがすんなりできるかどうかが問題
好きなように把握すればよい、しかし int * の使われ方は決まっているのだから、それがすんなりできるかどうかが問題
284デフォルトの名無しさん (アウアウカー Sac7-lEBl)
2019/07/08(月) 21:24:04.62ID:/2nq94DTa pointer to int
285デフォルトの名無しさん (アウアウウー Sa67-ze1x)
2019/07/08(月) 21:42:19.26ID:prK3AyGza >>280
Cの場合は変数に*がくっついた形で宣言されていると考えた方が良い。というのは int *a, b; と書いた場合に a は int * 型だが b は int 型になるからだ。
Cの場合は変数に*がくっついた形で宣言されていると考えた方が良い。というのは int *a, b; と書いた場合に a は int * 型だが b は int 型になるからだ。
286デフォルトの名無しさん (ワッチョイ ffc5-rgZK)
2019/07/08(月) 22:54:53.21ID:ibRWBgM50 なんとなくわかりました
ありがとうございました
ありがとうございました
287280 (ワッチョイ ffc5-rgZK)
2019/07/09(火) 00:31:35.20ID:L+Vy/ftS0 規格書には
pointer to a character type
pointers to structure types
という文が頻繁に出てきますね
日本語で言ったら「char型へのポインタ」のほうが「charのポインタ型」より正しい気がします
>>284さんのpointer to intは日本語なら「int型へのポインタ」ですね
と思ったんですが規格書には
pointer type
も出てくるので、どっちでもいいということでしょうか
つまり「char型へのポインタ」=「charのポインタ型」ということになりますが
pointer to a character type
pointers to structure types
という文が頻繁に出てきますね
日本語で言ったら「char型へのポインタ」のほうが「charのポインタ型」より正しい気がします
>>284さんのpointer to intは日本語なら「int型へのポインタ」ですね
と思ったんですが規格書には
pointer type
も出てくるので、どっちでもいいということでしょうか
つまり「char型へのポインタ」=「charのポインタ型」ということになりますが
288デフォルトの名無しさん (アウアウエー Sadf-lEBl)
2019/07/09(火) 02:08:12.29ID:Mm2yqLXca 変数の宣言と型の宣言が同じ形というCの事情もありそうだが、そこは曖昧だと思うね。
アップキャストしたら単にポインタだし、ポインタ型と言う場面もあるだろう。
これいいね
https://cdecl.org/
アップキャストしたら単にポインタだし、ポインタ型と言う場面もあるだろう。
これいいね
https://cdecl.org/
289デフォルトの名無しさん (アウアウウー Sa67-ze1x)
2019/07/09(火) 09:14:08.91ID:gdYXIa6pa typedef char *pchar; とすると pchar 型は「charのポインタ型」というとにはなる。
290280 (ワッチョイ ffc5-rgZK)
2019/07/09(火) 11:14:54.62ID:L+Vy/ftS0 ということはどっちでもいいんですね
291デフォルトの名無しさん (ワッチョイ 13d2-mVFY)
2019/07/09(火) 11:27:52.60ID:knKJba5J0 気にしたことが無いくらいどうでもいい話。
292デフォルトの名無しさん (アウアウカー Sac7-lEBl)
2019/07/09(火) 12:21:07.04ID:J4x6YR7aa 引数のvoidが一体なんなのか考える方が有意義
293デフォルトの名無しさん (ワッチョイ c301-mE9d)
2019/07/09(火) 12:41:16.87ID:jbK1WB2u0 引数なしの関数を書くときはvoidと書く
以上
以上
294デフォルトの名無しさん (ワッチョイ cf63-mE9d)
2019/07/09(火) 12:59:36.67ID:PyDbCO5q0 voidって引数じゃないの?
295デフォルトの名無しさん (ワッチョイ c301-mE9d)
2019/07/09(火) 15:08:36.62ID:jbK1WB2u0 引数に予約語使えるの?
296デフォルトの名無しさん (ワッチョイ cf69-BEQt)
2019/07/09(火) 15:44:50.86ID:+qcz+46H0 some_type foo() と戻りがあるのに、その戻りを捨てる意図で
(void)foo(); と呼び出すコードを見たことがあるような気がするが C++ かもしれん
最適化の際にうまいことしてくれるのを期待してるのかしら
(void)foo(); と呼び出すコードを見たことがあるような気がするが C++ かもしれん
最適化の際にうまいことしてくれるのを期待してるのかしら
297デフォルトの名無しさん (ワッチョイ 7f52-KlLC)
2019/07/09(火) 15:55:38.40ID:td6qAd7k0 >>296
コンパイラかコードチェッカーのwarning抑止のためじゃないかな
コンパイラかコードチェッカーのwarning抑止のためじゃないかな
298デフォルトの名無しさん (アウアウエー Sadf-lEBl)
2019/07/09(火) 16:02:30.30ID:+dEKq4+ba Cでも使える。
一度も使ってない引数変数があるとか、関数の戻り値を使っとらんとかで警告が出る場合にくっつけるのが主だと思う。
一度も使ってない引数変数があるとか、関数の戻り値を使っとらんとかで警告が出る場合にくっつけるのが主だと思う。
299デフォルトの名無しさん (ワッチョイ cf02-4kw8)
2019/07/09(火) 16:03:09.93ID:NP6oYl9g0 > 引数なしの関数を書くときはvoidと書く
プロトタイプじゃなかったっけ
プロトタイプじゃなかったっけ
300デフォルトの名無しさん (アウアウウー Sa67-ze1x)
2019/07/09(火) 16:07:01.41ID:gdYXIa6pa >>299
プロトタイプと違ったらエラーになる。
プロトタイプと違ったらエラーになる。
301デフォルトの名無しさん (ワッチョイ cf69-BEQt)
2019/07/09(火) 16:20:41.31ID:+qcz+46H0 >>297-298
なるほど、警告避けかー
引数に対してのは
callback 関数として、引数の型&数は限定されてるけど
実装時には一部の引数を使わずに実装できちゃうときに発生しそうね
void foo(int arg1, int arg2)
{
/* 色々書くけど arg2 は使わない: callback 関数の都合で引数の型と数は変えられん */
(void)arg2;
}
なるほど、警告避けかー
引数に対してのは
callback 関数として、引数の型&数は限定されてるけど
実装時には一部の引数を使わずに実装できちゃうときに発生しそうね
void foo(int arg1, int arg2)
{
/* 色々書くけど arg2 は使わない: callback 関数の都合で引数の型と数は変えられん */
(void)arg2;
}
302デフォルトの名無しさん (ワッチョイ cf02-4kw8)
2019/07/09(火) 17:10:50.55ID:NP6oYl9g0303デフォルトの名無しさん (ワッチョイ cf02-4kw8)
2019/07/09(火) 17:12:50.99ID:NP6oYl9g0 アンカミスった >>300
304デフォルトの名無しさん (ワッチョイ cf69-BEQt)
2019/07/09(火) 17:17:21.63ID:+qcz+46H0305デフォルトの名無しさん (ワッチョイ c301-mE9d)
2019/07/09(火) 17:26:13.08ID:jbK1WB2u0306デフォルトの名無しさん (ワッチョイ cf63-mE9d)
2019/07/09(火) 17:28:26.22ID:PyDbCO5q0 >>302
VCだと
> warning C4255: 'func' : 関数プロトタイプがありません : '()' を '(void)' に変換します。
って警告出て、関数部分の引数を変えてしまってる
VCだと
> warning C4255: 'func' : 関数プロトタイプがありません : '()' を '(void)' に変換します。
って警告出て、関数部分の引数を変えてしまってる
307デフォルトの名無しさん (ワッチョイ 63f6-tOvn)
2019/07/09(火) 17:41:06.68ID:3UBru1uA0 >>302
おまえさん、自分のところで動作確認してるか? でたらめこくな
おまえさん、自分のところで動作確認してるか? でたらめこくな
308デフォルトの名無しさん (アウアウクー MM87-yCcC)
2019/07/09(火) 17:43:09.00ID:8Y9GhXx/M char *p;
p = "str1";
p = "str2";
こんな風に文字列リテラルのポインタを付け替える時に前の文字列リテラルのメモリ領域を解放するにはどうすればいいの?
p = "str1";
p = "str2";
こんな風に文字列リテラルのポインタを付け替える時に前の文字列リテラルのメモリ領域を解放するにはどうすればいいの?
309デフォルトの名無しさん (ワッチョイ cf63-mE9d)
2019/07/09(火) 17:49:15.98ID:PyDbCO5q0 >>308
静的領域に確保しているから解放は無理
静的領域に確保しているから解放は無理
310デフォルトの名無しさん (ワッチョイ 63f6-tOvn)
2019/07/09(火) 17:59:43.14ID:3UBru1uA0 exit関数を呼び出せば解放できるね
311デフォルトの名無しさん (ワッチョイ cf02-4kw8)
2019/07/09(火) 18:21:06.36ID:NP6oYl9g0 X 3010:2003 では
6.7.5.3 関数宣言子(関数原型を含む)
「並びの中の唯一の項目が void 型で名前のない仮引数であるという特別な場合,関数が仮引数をもたないことを指定する。」
6.9.1 関数定義
typedef int F(void);
F f, g;
int f(void) { /*... */ } // 正
int g() { /*... */ } // 正
という訳で
int func(void); /* prototype */
int func() /* definition */
{
return 0;
}
どこかまちがっているか
6.7.5.3 関数宣言子(関数原型を含む)
「並びの中の唯一の項目が void 型で名前のない仮引数であるという特別な場合,関数が仮引数をもたないことを指定する。」
6.9.1 関数定義
typedef int F(void);
F f, g;
int f(void) { /*... */ } // 正
int g() { /*... */ } // 正
という訳で
int func(void); /* prototype */
int func() /* definition */
{
return 0;
}
どこかまちがっているか
312デフォルトの名無しさん (アウアウクー MM87-yCcC)
2019/07/09(火) 18:28:37.94ID:8Y9GhXx/M313デフォルトの名無しさん (ワッチョイ 0361-mVFY)
2019/07/09(火) 18:36:42.49ID:lRtOoeh80 それは同じ"hoge"のアドレスがロードされるだけ
文字列リテラルのポインタ扱うならconst char *使いなされ
文字列リテラルのポインタ扱うならconst char *使いなされ
314デフォルトの名無しさん (アウアウウー Sa67-ze1x)
2019/07/09(火) 18:43:38.45ID:gdYXIa6pa >>312
文字列の定数は静的な領域に作られるだけで実行時に動的に作られたりしないのでそれは問題なし。
文字列の定数は静的な領域に作られるだけで実行時に動的に作られたりしないのでそれは問題なし。
315デフォルトの名無しさん (アウアウウー Sa67-ze1x)
2019/07/09(火) 18:46:20.39ID:gdYXIa6pa あ、でも、定数でなくても同じか。単にポインタ代入してるだけだもんな。
316デフォルトの名無しさん (ワッチョイ c301-mE9d)
2019/07/09(火) 18:47:53.66ID:jbK1WB2u0317デフォルトの名無しさん (ワッチョイ 9327-mE9d)
2019/07/09(火) 19:48:16.54ID:YXbnrG+I0318デフォルトの名無しさん (ワッチョイ 63f6-tOvn)
2019/07/09(火) 20:34:43.07ID:3UBru1uA0 >>311
おまえさんは「関数原型を含む」を、「関数原型についてのみ」と脳内変換しているのか?
> int func() /* definition */
これのどこに、void型で名前のない仮引数があるんだ?
おまえさんは「関数原型を含む」を、「関数原型についてのみ」と脳内変換しているのか?
> int func() /* definition */
これのどこに、void型で名前のない仮引数があるんだ?
>>296
それは lint 対策ですよ
それは lint 対策ですよ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 ★2 [Hitzeschleier★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 【維新】吉村知事「中国人観光客だけに頼るビジネスモデル変えていかないといけない」「高市総理の発言は撤回する必要はない」 [Hitzeschleier★]
- 【STARTO ENTERTAINMENT】timelesz篠塚大輝『大きな古時計』替え歌一発ギャグ「今はもう動かない おじいさんにトドメ~♪」が波紋 [Ailuropoda melanoleuca★]
- 【朗報】外務省局長、中国側の要求を断固拒否。「高市さんの答弁は日本政府の立場を変えるものではないし、撤回しない」 [519511584]
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 外務省局長、よくわからないまま帰国へ [834922174]
- 【実況】博衣こよりのえちえち歌枠🧪
- 中国外務省「日中関係の悪化は高市早苗首相が原因」と名指しで強く非難。キタ━(゚∀゚)━! [153490809]
- たまにaカップの女いるけど何を楽しめばいいの?
