C言語なら俺に聞け 143

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ b375-rVGZ)
垢版 |
2017/10/27(金) 21:28:08.20ID:pAogLeJi0
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言語なら俺に聞け 142
http://mevius.2ch.net/test/read.cgi/tech/1502364083/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
2017/11/25(土) 06:35:32.53ID:H7G0IpRv0
int* ptの意味は意味int *ptだよ。
ptをデリファレンス演算子で評価したらint型になるよという宣言だよ。
2017/11/25(土) 08:28:27.42ID:InRb1JFJ0
変数名が型ごとに独立した名前空間に属する、という言語があるのかな。
原理的には可能だと思うけど、えらく組みにくそうな気がする。
「型だけが異なる同名の変数を使わない」みたいなコーディング規約を強制されそう。
2017/11/25(土) 08:44:13.26ID:H7G0IpRv0
構造体のネームスペースみたいに
全部の変数に型名をつけるようになるだろうな。
2017/11/25(土) 08:47:32.78ID:t3NLc0dP0
かえって使いづらい言語になるね
2017/11/25(土) 09:32:16.56ID:87Khqx810
変数の寿命はできるだけ短くしましょう
2017/11/25(土) 13:36:36.33ID:O9uPrWP7d
リーダブルコーディングとeffective以外に本を探してるのだけど他にあるかな?
2017/11/25(土) 14:31:12.80ID:99QBz+fh0
組込み開発者におくるMISRA‐C:2004―C言語利用の高信頼化ガイド、2006
2017/11/25(土) 16:19:42.50ID:87Khqx810
C実践プログラミング
2017/11/25(土) 16:51:39.14ID:o/Q+Vng/d
っコードコンプリート
496デフォルトの名無しさん (ワッチョイ 879f-UVmO)
垢版 |
2017/11/25(土) 17:02:06.40ID:DmTU06Rg0
>>488
perlは$aと@aと%aが違うけどな。型と言うよりはスカラか配列かハッシュかの違いだな。
2017/11/25(土) 17:03:44.75ID:ROI3Hzdd0
>>493
ネットで MISRA の詳しい解説はありませんか?
2017/11/25(土) 17:08:09.65ID:N5s7ffCaM
>>497
https://srad.jp/comment/2295472
499デフォルトの名無しさん (ワッチョイ bfe7-enc/)
垢版 |
2017/11/25(土) 17:24:25.43ID:6ctJHfBp0
処理重視なら毎回毎回変数宣言って処理が鈍くなるよな?
2017/11/25(土) 17:58:52.01ID:AcXq78AE0
インタプリタじゃないです
2017/11/25(土) 17:59:36.62ID:t3NLc0dP0
C++でもないのでコンストラクタ走るわけでもないです
2017/11/25(土) 18:34:32.19ID:ve9pYFQ+p
スタック操作なんか関数呼び出し時にまとめてやってるから、どこで宣言しようが処理速度は変わらないけどな。
2017/11/25(土) 18:34:37.15ID:ROI3Hzdd0
>>499
その程度ならコンパイラが良きに計らってくれますよ
2017/11/25(土) 19:25:41.27ID:Hc9rYyD70
for文の中の変数宣言って外で行うよりオーバーヘッド大きいの?
2017/11/25(土) 19:29:40.95ID:o/Q+Vng/d
>>504
言語上ブロック内で有効なだけで、
他の自動変数同様スタックに余分にとられるだけだからまず変わらない。
506デフォルトの名無しさん (ワッチョイ 879f-UVmO)
垢版 |
2017/11/25(土) 20:41:30.63ID:DmTU06Rg0
>>499
宣言だけ?メモリ確保とかは自分でやらずに?
だったら最初に確保する一回分だけの時間しか掛からないと思うぞ。
507デフォルトの名無しさん (ワッチョイ 879f-lrN+)
垢版 |
2017/11/25(土) 20:51:32.38ID:L+SRk42p0
あ、C++みたいな言語でクラスの中でメモリ確保してデストラクタで解放やってるような場合は
ループするブロックの中で宣言したら最低でもメモリ確保と解放でループの回数分時間
掛かっちゃうだろうけど、C言語にはそういうのはないので掛からない。
508デフォルトの名無しさん (スッップ Sd7f-Xp/k)
垢版 |
2017/11/25(土) 20:59:06.21ID:XP2bT693d
動的に確保というのはあるだろうが、
俺を意識した使い方するだろうし
509デフォルトの名無しさん (ワッチョイ bf8a-S11E)
垢版 |
2017/11/25(土) 21:27:39.55ID:FWelsGSm0
VLAはスコープの出入りで伸縮だと思うが
510デフォルトの名無しさん (ワッチョイ 879f-UVmO)
垢版 |
2017/11/25(土) 22:01:34.55ID:DmTU06Rg0
ああ。そうか。これか。
https://qiita.com/raccy/items/bfcb62086c5f027d57b6
C11のこと忘れてた。
511デフォルトの名無しさん (ワッチョイ bfe7-enc/)
垢版 |
2017/11/26(日) 16:09:01.86ID:EJqMiwXm0
>>506
for文とかの中で宣言してやったりすると毎回確保するから処理の速度が遅くなるってどっかで書いてあった
なるべく何回も宣言しないで中身を変える処理をする方が処理がはやくなるとか言ってた
2017/11/26(日) 16:12:10.13ID:xKw15WCKH
そのレベルの理解なら気にする必要はない
そもそもCを使う必要もない
2017/11/26(日) 16:15:46.29ID:pGcZHtwF0
>>511
> for文とかの中で宣言してやったりすると毎回確保するから処理の速度が遅くなるってどっかで書いてあった
よほどショボいコンパイラでない限り気にする必要はない

> なるべく何回も宣言しないで中身を変える処理をする方が処理がはやくなるとか言ってた
そう言うアホな本は窓から捨てるべき
514デフォルトの名無しさん (ワッチョイ bfe7-enc/)
垢版 |
2017/11/26(日) 16:46:48.52ID:EJqMiwXm0
>>513
それは中の処理が大量になっても大丈夫なのか?
20行、30行ぐらい長い処理でも?
2017/11/26(日) 16:52:44.80ID:14BIGute0
宣言と長い処理って何処に関連が?

初期化の右辺がすんげー長いというのは
変数宣言がループの中にあろうが変数宣言をループの外に追い出しても
同じで必須コストだしそこは論点じゃないよね
516デフォルトの名無しさん (ワッチョイ bfe7-enc/)
垢版 |
2017/11/26(日) 17:10:19.17ID:EJqMiwXm0
>>515
https://qiita.com/EqualL2/items/472035c3f0d3e34734a8
これのループ内での変数宣言ってやつのことを知ってそうしたんだけど
2017/11/26(日) 17:15:43.31ID:14BIGute0
>>516
全部ヒントに「コンパイラが最適化でやる」って書いてあるし
逆にそのコストが重いようならもっと根本的な手入れ(アルゴリズムの見直しとか)が必要だし
518デフォルトの名無しさん (ワッチョイ bfe7-enc/)
垢版 |
2017/11/26(日) 17:20:34.69ID:EJqMiwXm0
なるほどなるほど、アルゴリズムの問題か納得した
2017/11/26(日) 17:23:40.85ID:woDc+4Yf0
C言語じゃなくてC++でのクラス変数じゃないの?
2017/11/26(日) 17:29:05.50ID:pGcZHtwF0
>>514
測定して本当にそれが問題になってるとわかった時に考えればいい
521デフォルトの名無しさん (ワッチョイ 879f-lrN+)
垢版 |
2017/11/26(日) 17:57:37.44ID:YtJM5Nau0
>>516
「実際のところ」と書いてある所をよく読むべき。
2017/11/27(月) 04:22:16.28ID:vYl0vGfCd
コードとは直接関係はないけどメモリリークのテストってlinuxだとどうやるのだろう?
523デフォルトの名無しさん (ブーイモ MMeb-V9cG)
垢版 |
2017/11/27(月) 07:40:08.21ID:fAclYYwOM
>>522
valgrind か LeakSanitizer
2017/11/27(月) 07:57:21.48ID:ENOa9M21M
>>522
valgrind (http://valgrind.org/)
2017/11/27(月) 13:20:55.85ID:HfjV3qo40
脳内ループ最適化かー。結構良く目にするのは
int i;
for(i = rows; 0 < i; i―)
Hoge;

だったりするけど
組み込みでも、このくらい最適化かかるのにねぇ
2017/11/27(月) 19:33:17.36ID:vYl0vGfCd
>>523
>>524
ありがとう調べてみる
別件なのだけど、systemの子プロセス戻り値をみるときって

ret=system(コマンド)
if(wifexisted(ret))
{
wexitstatus(ret)
}

これだけで良い?エラー処理ってほかにいるかね?
wifsignaledとかwtermsigとかいるのかね?ってなってるんだ
その他のマクロについても....
527デフォルトの名無しさん (アウアウカー Sadb-i88m)
垢版 |
2017/11/27(月) 20:30:19.45ID:clAY2uWxa
>>526
systemって-1返す事なかったっけ?
528デフォルトの名無しさん (アウアウカー Sadb-i88m)
垢版 |
2017/11/27(月) 20:31:48.14ID:clAY2uWxa
>>526
てか、>>443見てみな。
2017/11/27(月) 22:36:43.33ID:AvUHS7bA0
>>522
オレは単純にpsコマンドで、vszとszの推移を見てるだけだなー
確保の仕方にもよるだろうけど。。。
530デフォルトの名無しさん (ブーイモ MM7f-V9cG)
垢版 |
2017/11/27(月) 22:55:20.44ID:epITd0LcM
>>529
メモリマップとかは見てると分かった気になれるし、仕事してる感も出るからおすすめ
2017/11/27(月) 23:00:48.16ID:jJU6vIIdd
>>528
うおおおおお
たしかにあった

>>527
-1は素で忘れてた
>>443見てみたけど最後if elseで終わってるからその後がどうなんの?って気になる
if elseってことは他もあるじゃん?ってなるのだがいかんせんman理解できない...
532デフォルトの名無しさん (ワッチョイ 879f-lrN+)
垢版 |
2017/11/28(火) 01:05:27.23ID:uD/TV9F60
>>531
https://linuxjm.osdn.jp/html/LDP_man-pages/man2/wait.2.html
Linux の場合大きく分けて WIFEXITED と WIFSIGNALED 以外があるのかというと今のところない。
しかし将来的に増えないとも限らないので念のため if で分岐させておいた方が良いと思う。
533デフォルトの名無しさん (ワッチョイ 07b3-zoBB)
垢版 |
2017/11/28(火) 01:45:58.95ID://UzmZat0
https://i.imgur.com/NECNUPM.jpg
この問題なんだけど、下の書き方以外に賢い方法ある?
このやり方はごり押し過ぎてさすがに違うと思うんだけど
http://codepad.org/pUUVFFJA
2017/11/28(火) 03:16:49.45ID:Ol4PUSI5M
>>533
3点ほど

配列使う必要ある?保持したいのは最大値だけなんだよね?入力ループ内で最大値判定までやったら?

ローカル変数名は input_num とか分かる名前つけようか

main の戻り値
2017/11/28(火) 07:53:02.37ID:tl7kMs1v0
C99以降だっけ?
省略された int main() の返り値として自動的に return 0; が補われる、
という仕様があるはずだけど、それに積極的に依存するよりも
return 0; と1行書く方が良い習慣だわね。
2017/11/28(火) 08:09:45.26ID:VZsT4wzqd
>>532
さんくす
これ読みにくいよなぁ....

子プロセスの配送が停止したとき
具体的に言うとwifstoppedの時は別なのかな?
2017/11/28(火) 18:38:43.18ID:v3J3k8MEM
stdlib.hのSUCCESSなんちゃらをほんにゃら
538デフォルトの名無しさん (ワッチョイ 879f-lrN+)
垢版 |
2017/11/29(水) 02:06:01.37ID:1lf2VR3q0
>>536
試してみればわかると思うけど system() で動かされた子プロセスは SIGSTOP 受け取っても
停止するだけで親プロセスには帰らないよ。system() 内でやってる waitpid() は WUNTRACED
や WCONTINUED オプション使ってないってことだと思う。なので STOP や CONT に関係する
WIF... はやる必要がない。
2017/11/29(水) 15:46:29.13ID:awoPtY5k0
char str1[10]="AAAAAA";
char str2[10]="BBBBBB";
char str3[10]="CCCCCC";
があって、これをそれぞれ
char strh[0][10]〜char strh[2][10]に代入する方法を教えてください。
2017/11/29(水) 15:58:48.18ID:mhTWLdh/0
strcpy(strh[0],str1);
strcpy(strh[1],str2);
strcpy(strh[2],str3);
と適当に書いてみる。
2017/11/29(水) 16:16:35.31ID:4OxukQ3ip
ポインターのコピーじゃダメなんですか?
なんで中身をわざわざ複製して、処理時間を無駄に消費するんですか?
2017/11/29(水) 16:25:56.35ID:llo+D0tpd
>>538
ありがとうありがとう
そうすることにする


stat関数でのファイル存在確認って破損していたファイルだとエラー返ってくる?
仕様を調べていたけどそのような記載がなかった
2017/11/29(水) 17:24:28.37ID:FWpFj9nP0
>>541
ポインタのコピーだとコピー元の配列(str1[],str2[],str3[])の中身を変更するとコピー先(*strh[0]〜*strh[2])の内容まで変わる
値のコピー(strcpy()など)だとコピー元の配列の中身が変わってもコピー先の配列(strh[0][]〜strh[2][])の内容は変化しない
配列とポインタでは挙動が違う
2017/11/29(水) 17:38:36.67ID:7w8PUMIS0
初期化でやってしまう話じゃないんだろうな。 多分

char strh[3][10] = { "AAAAAA", "BBBBBB", "CCCCCC" };
545デフォルトの名無しさん (ガックシ 068f-forR)
垢版 |
2017/11/29(水) 17:49:08.23ID:Ypog5BGe6
配列変数はただのポインタ変数じゃないってマジ?
arr==&arrになるんやが。
arrがポインタなら&arrはポインタのポインタだからこれはおかしい。
2017/11/29(水) 18:28:37.84ID:azEm6Mj/M
配列名が先頭要素へのポインタになるのは構文糖
2017/11/29(水) 18:44:21.59ID:+PcO5Rrn0
int a[10];
int *p;

p++; 問題なし
a++; エラー

配列は配列 ポインタはポインタ
2017/11/29(水) 18:50:37.55ID:Xa+98JY60
arrと&arrじゃ型違うし、比較結果が一致する保証もないけど?
549デフォルトの名無しさん (アウアウカー Sadb-i88m)
垢版 |
2017/11/29(水) 18:51:10.65ID:DGImDAX5a
また一人C言語の罠に掛かったようだ・・・
550デフォルトの名無しさん (アウアウカー Sadb-i88m)
垢版 |
2017/11/29(水) 18:57:26.48ID:DGImDAX5a
>>545
ポインタの変数はポインタを入れとくための変数だ。
配列変数はポインタを入れとく変数ではなく、単に配列の先頭を表すラベルでしかない。
2017/11/29(水) 19:03:01.69ID:azEm6Mj/M
よし、sizef演算子の出番だな。
2017/11/29(水) 19:11:32.94ID:vgi7NPsq0
>>545
int arr[10]; みたいに配列を定義して
if (arr == &arr) {...} てな具合に比較する話かな。

配列名 arr は &arr[0] (先頭の要素へのポインタ)
配列名に&演算子を作用させた &arr は配列全体(10要素の配列)へのポインタ
…と解釈される、とANSIで決まった、と望洋さんの本に載ってる。
『秘伝C言語問答 ポインタ編』p.25 Column1-2 「配列名に&をつけると……」


>>548
型が違うのは間違いないけど、値が一致しない場合ってあるのかな?
それとも型の異なるポインタ同士での値の比較って未定義動作なんだっけ?
553デフォルトの名無しさん (ワッチョイ 0775-forR)
垢版 |
2017/11/29(水) 19:31:59.94ID:bodUKsOx0
>配列名 arr は &arr[0] (先頭の要素へのポインタ)
>配列名に&演算子を作用させた &arr は配列全体(10要素の配列)へのポインタ
>…と解釈される、とANSIで決まった、と望洋さんの本に載ってる。

なるほどな
2017/11/29(水) 19:54:00.64ID:Xa+98JY60
>>552
>6.5.9 等価演算子
>(中略)
>制約??次のいずれかの条件を満たさなければならない。
>(中略)
>-両オペランドとも適合する型の修飾版又は非修飾版へのポインタである。

「〜型」と「〜型の配列型」は適合しないから、ポインタの比較は未定義
2017/11/29(水) 20:09:41.35ID:/RfTzpPk0
>>552
型が異なったら、比較できない

例えば、アドレス100番地から10バイトと、
アドレス100番地から20バイトでは、全然違う

仮に、同じバイト数だとしても、中身・内容が異なるし、比較する事に意味がない
2017/11/29(水) 22:15:27.21ID:QTG/JUE+0
>>542
ファイルの破損というのがファイルの中身の論理レベルの話なら正常なファイルとみなされるはずだし、ファイルシステムレベルの破損やメディアの物理的破損なら実装依存じゃないかな。
2017/11/29(水) 22:18:50.37ID:QTG/JUE+0
>>555
いま話題にしているのはarrと&arr[0]の比較であって、これらはどちらも比較演算子のオペランドとしてはint*型として評価されて型も値も一致すると思ってたけど、どうだろう。
2017/11/29(水) 22:20:43.77ID:QTG/JUE+0
>>557
間違えた。arrと&arrね。&arrもint*型のはず、だと思う。
2017/11/29(水) 22:42:55.53ID:Xa+98JY60
実際にコンパイルすれば型不一致のwarning出るのに、なんでそういう発想になるんだろう
不思議だわ
2017/11/30(木) 06:56:06.98ID:VGvsvH1F0
>>557-558
int arr[10]; と定義されてる場合、
arr の型は int*
&arr の型は int (*)[10]
つまり arr と &arr は型が違う
というのが >>552 の「&arr は配列全体へのポインタ」の意味。

「引数として『10個のintを要素とする配列』のみを受け入れる関数」
(要素数が違うとコンパイルエラー)みたいのを書ける。
もちろん、それが目的で存在する書式じゃないだろうけど。

それにしても &arr の型の書き方は分かりにくいな。
理屈は多次元配列を仮引数にとる関数プロトタイプと同じ、
だと思うんだが。
2017/11/30(木) 07:49:26.15ID:T6nL/USz0
>>560
色々と記憶違いをしてたよ。サンクス。
562デフォルトの名無しさん (ワッチョイ a66e-hJGX)
垢版 |
2017/11/30(木) 10:29:35.42ID:/QNJXUpA0
>>560
arrの型はint[10]だボケ
&arr[0]がint*だ

おまえさんの、その理解では&arrがint**になっちまうだろうが
2017/11/30(木) 10:41:32.87ID:5xc99BMT0
arrは&arr[0]の糖衣構文なので型は同じint*だろ
2017/11/30(木) 10:46:30.46ID:Rc2VGt53a
糖衣構文なのになんでわかりづらくなってるんすかね
2017/11/30(木) 10:48:13.06ID:I+JVe+Ukp
まあ、sizeofしたら分かるよ。
2017/11/30(木) 10:53:47.57ID:5xc99BMT0
arr=&arr[0]≠&arr
2017/11/30(木) 10:56:17.41ID:CwUb7XwN0
代入左辺の int* に渡す右辺
関数引数の int* に渡す引数
ここに渡す際に先頭要素へのポインタを与えてるだけで

変数そのものはポインタにはなっていなくて配列のまま
2017/11/30(木) 11:01:32.20ID:I+JVe+Ukp
arrは要素10持つ配列の先頭アドレスを返す、サイズはint 10個分
&arr[0]は、配列要素0番目のアドレスを返す、サイズはint 1個分
先頭アドレスが欲しいだけなら型キャストして使えばいい。
代入に使うならサイズが違うから上手く行かない。
2017/11/30(木) 11:10:18.71ID:5xc99BMT0
arr = &arr[0] ≠ &arr
sizeof(&arr) = sizeof(&arr[0]) ≠ sizeof(arr)
570デフォルトの名無しさん (ワッチョイ a66e-hJGX)
垢版 |
2017/11/30(木) 12:23:05.77ID:/QNJXUpA0
>>563
いーや違う
§6.3.2 Other operands
Except when it is the operand of the sizeof operator, or the unary & operator, or is a string literal used to initialize an array, an expression that has type ‘‘array of type'' is
converted to an expression with type ‘‘pointer to type ' that points to the initial element of the array object and is not an lvalue.
あくまで配列からポインタへconvertedつまり元の型int[10]とは違う型int*への変換だ
2017/11/30(木) 12:39:07.57ID:wmrrhfKqM
C言語は覚えることが少ないので初心者にお勧めです👈
572デフォルトの名無しさん (アウアウカー Sa55-iHXH)
垢版 |
2017/11/30(木) 12:58:49.70ID:7wMQk3WFa
そ、そうかあ?
2017/11/30(木) 13:08:48.69ID:CNBdn6EpM
まあ他の言語よりはね
2017/11/30(木) 15:43:07.77ID:AraxvjGC0
氏名、生年月日を入力させて、年齢を出力する。(ここまではいい)
再度起動時に、同一氏名入力時は生年月日と年齢を出力する(これがわからん)

方向性がさっぱり見えない、どうすりゃいいの?
http://codepad.org/BVM0iMi4
2017/11/30(木) 15:49:01.37ID:CwUb7XwN0
入力された氏名のファイルを探す
 無い→ファイル作って 入力した生年月日を書き出すとともに変数に覚えておく
 有る→ファイルから生年月日を変数に読み込む
↑の処理で変数で覚えている生年月日から年齢を求め表示する
2017/11/30(木) 15:50:35.20ID:CwUb7XwN0
異なる氏名の分だけファイルを作っちまうけどお手軽
2017/11/30(木) 15:58:14.77ID:AraxvjGC0
if文&fread,fwriteでなんとかなります?
あと出来ればリンク先のソースコードにダメだし貰えると嬉しい
2017/11/30(木) 17:12:52.14ID:hDUXhrlWM
ファイルが一個しか使えないんなら、
その中に何の情報をどんなフォーマットで入れるか先に設計しろ。
2017/11/30(木) 17:54:17.29ID:VGvsvH1F0
>>562 言葉は悪いけど言う通りだね。
俺が書いたのは arr て名前が演算の対象として単独に現れたときに
自動的にポインタの値に変換される場合の値と型のことだった。

arr 自体はあくまで配列だから int[10]
この名前が関数の引数とかで使われた場合 &arr[0] と同じになる。
配列名は隙あらば「先頭要素へのポインタ」になりたがる。
こんな感じでよろしいか? (我ながらぎごちないけど)
580デフォルトの名無しさん (アウアウカー Sa55-iHXH)
垢版 |
2017/11/30(木) 18:07:14.42ID:rYNpG8Zla
>>577
fprintf()で一行にカンマ区切りで名前と生年月日出した方が扱いやすいのでは?

で、処理の順序としてはこうだ。

1. 名前入力。

2. 入力された名前がファイルの中にあったら一緒に入っている生年月日を出して終了。

3. 生年月日入力。

4. 名前と生年月日をファイルに追加。

5. 終了。

ファイルアクセスは2では読み出ししかせず開きっぱなしにしないでクローズする。
4では追加書き込みだけしてクローズだ。
2017/11/30(木) 18:07:34.67ID:kZZqjgS10
OLE複合ファイルで保存すればよろし
2017/11/30(木) 18:30:11.56ID:RwvI386YM
構造体配列をバイナリでrw
583デフォルトの名無しさん (ワッチョイ a66e-hJGX)
垢版 |
2017/11/30(木) 21:02:57.60ID:/QNJXUpA0
>>579
演算の対象ではなく、特定の演算子の対象な
どの演算子で&arr[0]に変換されるのか、
列挙できる知識が必要ということだ
584デフォルトの名無しさん (アウアウカー Sa55-iHXH)
垢版 |
2017/11/30(木) 21:56:39.93ID:xcZwpJOTa
XMLで

なんていうと余計にややこしくなって大変な事になるなw
2017/11/30(木) 22:05:39.04ID:ewUYSdOO0
>>583
左辺値が変換されるのであって、特定の演算子のオペランドのとき変換されるなんて仕様はないよ?
特定の演算子のオペランドのときに変換されないって仕様はあるけどさ
586デフォルトの名無しさん (ワッチョイ a66e-hJGX)
垢版 |
2017/12/01(金) 06:29:54.45ID:jGNBP26P0
>>585
Cの演算子は「特定の演算子」の集合で、
そこから、ある特定の演算子を除いた残りもまた
特定の演算子だろうがよ
2017/12/01(金) 06:50:45.43ID:NXDNhmZv0
宣言とか、演算子出てこないことぐらいあるだろ
初期化子つきの宣言に出てくる=が代入演算子だとでも思ってんのか?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況