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
探検
C言語なら俺に聞け 143
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ b375-rVGZ)
2017/10/27(金) 21:28:08.20ID:pAogLeJi0468デフォルトの名無しさん (スプッッ Sdbb-T4vC)
2017/11/24(金) 14:08:06.79ID:/RqU0h4Pd コーディングの仕方的な教材になる本あるかな?
コーディングとはこうやって沿っていくと良いよ的な本
それを読んでからテクニックの本を読もうとしてる(effective)
コーディングとはこうやって沿っていくと良いよ的な本
それを読んでからテクニックの本を読もうとしてる(effective)
469デフォルトの名無しさん (スッップ Sd7f-STtB)
2017/11/24(金) 15:12:46.00ID:bYdw4irrd >>468
まず「リーダブルコード」読んどけ。
まず「リーダブルコード」読んどけ。
470デフォルトの名無しさん (ワッチョイ a77f-8Ex9)
2017/11/24(金) 15:20:30.73ID:W0y6TqiA0471デフォルトの名無しさん (ワッチョイ c761-DWFp)
2017/11/24(金) 16:33:20.57ID:/I02is1j0 割り当てられてないメモリーにアクセスするとページフォルトが起きてから
OSが割り当てる遅延ファイルマッピングの事をいいたいんじゃないのかな。
OSが割り当てる遅延ファイルマッピングの事をいいたいんじゃないのかな。
472デフォルトの名無しさん (ワンミングク MM3f-I1Jk)
2017/11/24(金) 17:19:21.14ID:oz95vMBJM DMA涙目だな
473デフォルトの名無しさん (JP 0H4b-9mpY)
2017/11/24(金) 17:56:03.88ID:37SoWLJsH ポインタのことなんだけど、*pt と pt みたいに同じ名前で宣言したら、別々の変数になる?
474デフォルトの名無しさん (ワッチョイ 5fb3-CDhT)
2017/11/24(金) 18:18:10.79ID:OpHoTsuS0 >>473
まずはやってみろ
まずはやってみろ
475デフォルトの名無しさん (アウアウアー Sa4f-9mpY)
2017/11/24(金) 18:23:00.58ID:LzLaFdMta476デフォルトの名無しさん (ササクッテロル Spfb-t8ZL)
2017/11/24(金) 19:41:11.01ID:5gRYCg9up つか、どうしつて区別すると思うんだ?
477デフォルトの名無しさん (ワッチョイ c780-ygtF)
2017/11/24(金) 19:44:50.18ID:4DoLJt5P0 *も含めて変数名と思ったんじゃね?
478デフォルトの名無しさん (ブーイモ MMcf-V9cG)
2017/11/24(金) 20:43:22.73ID:yshQtEuUM >>466
まあここでいいと思うぞ
madviseはあまり関係ない
落とされる前提でポリシー決めてるだけ
MAP_SHAREなら解放される可能性がある
MAP_LOCKEDで解放されない
他のフラグは知らん、試せ
まあここでいいと思うぞ
madviseはあまり関係ない
落とされる前提でポリシー決めてるだけ
MAP_SHAREなら解放される可能性がある
MAP_LOCKEDで解放されない
他のフラグは知らん、試せ
479デフォルトの名無しさん (ワッチョイ 078a-9mpY)
2017/11/24(金) 21:30:01.83ID:Mh0dfdoe0 これまた初歩的な質問なんだけど、intとdoubleとかで変数名が衝突したらどうなる?
480デフォルトの名無しさん (ワッチョイ 07b3-3T+V)
2017/11/24(金) 21:34:30.17ID:oQOGHeAz0 衝突してるぞエラーになる
481デフォルトの名無しさん (ワッチョイ 5fb3-CDhT)
2017/11/24(金) 22:01:24.27ID:OpHoTsuS0482デフォルトの名無しさん (ワッチョイ 078a-9mpY)
2017/11/24(金) 22:54:20.18ID:Mh0dfdoe0 確かにエラー出るんだけど、できないってことでいいの?
483デフォルトの名無しさん (ワッチョイ 5fe1-VLot)
2017/11/24(金) 23:29:26.60ID:LzKIf/Vy0 外のスコープで定義されたものと名前が衝突した場合は内側の方が有効になり
同じスコープで衝突した場合はエラーになる
同じスコープで衝突した場合はエラーになる
484デフォルトの名無しさん (ワンミングク MM3f-I1Jk)
2017/11/24(金) 23:30:01.94ID:oz95vMBJM cでは出来ない。という仕様
485デフォルトの名無しさん (ワッチョイ 078a-9mpY)
2017/11/25(土) 00:53:38.80ID:JCp8dCym0 サンガツ
486デフォルトの名無しさん (ワッチョイ bfe7-3a+g)
2017/11/25(土) 06:12:18.91ID:KGlQ3mpn0 同じ変数名でもスコープが違えば出来るよ。
487デフォルトの名無しさん (ワッチョイ c761-DWFp)
2017/11/25(土) 06:35:32.53ID:H7G0IpRv0 int* ptの意味は意味int *ptだよ。
ptをデリファレンス演算子で評価したらint型になるよという宣言だよ。
ptをデリファレンス演算子で評価したらint型になるよという宣言だよ。
488デフォルトの名無しさん (ワッチョイ 0793-C/lT)
2017/11/25(土) 08:28:27.42ID:InRb1JFJ0 変数名が型ごとに独立した名前空間に属する、という言語があるのかな。
原理的には可能だと思うけど、えらく組みにくそうな気がする。
「型だけが異なる同名の変数を使わない」みたいなコーディング規約を強制されそう。
原理的には可能だと思うけど、えらく組みにくそうな気がする。
「型だけが異なる同名の変数を使わない」みたいなコーディング規約を強制されそう。
489デフォルトの名無しさん (ワッチョイ c761-DWFp)
2017/11/25(土) 08:44:13.26ID:H7G0IpRv0 構造体のネームスペースみたいに
全部の変数に型名をつけるようになるだろうな。
全部の変数に型名をつけるようになるだろうな。
490デフォルトの名無しさん (ワッチョイ 07b3-3T+V)
2017/11/25(土) 08:47:32.78ID:t3NLc0dP0 かえって使いづらい言語になるね
491デフォルトの名無しさん (ワッチョイ 0771-pnlc)
2017/11/25(土) 09:32:16.56ID:87Khqx810 変数の寿命はできるだけ短くしましょう
492デフォルトの名無しさん (スプッッ Sdff-T4vC)
2017/11/25(土) 13:36:36.33ID:O9uPrWP7d リーダブルコーディングとeffective以外に本を探してるのだけど他にあるかな?
493デフォルトの名無しさん (ワッチョイ 7f80-xsLR)
2017/11/25(土) 14:31:12.80ID:99QBz+fh0 組込み開発者におくるMISRA‐C:2004―C言語利用の高信頼化ガイド、2006
494デフォルトの名無しさん (ワッチョイ 0771-pnlc)
2017/11/25(土) 16:19:42.50ID:87Khqx810 C実践プログラミング
495デフォルトの名無しさん (スッップ Sd7f-STtB)
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が違うけどな。型と言うよりはスカラか配列かハッシュかの違いだな。
perlは$aと@aと%aが違うけどな。型と言うよりはスカラか配列かハッシュかの違いだな。
497デフォルトの名無しさん (ワッチョイ 5f60-2JzH)
2017/11/25(土) 17:03:44.75ID:ROI3Hzdd0 >>493
ネットで MISRA の詳しい解説はありませんか?
ネットで MISRA の詳しい解説はありませんか?
498デフォルトの名無しさん (ワンミングク MM3f-I1Jk)
2017/11/25(土) 17:08:09.65ID:N5s7ffCaM499デフォルトの名無しさん (ワッチョイ bfe7-enc/)
2017/11/25(土) 17:24:25.43ID:6ctJHfBp0 処理重視なら毎回毎回変数宣言って処理が鈍くなるよな?
500デフォルトの名無しさん (ワッチョイ 7f81-nM14)
2017/11/25(土) 17:58:52.01ID:AcXq78AE0 インタプリタじゃないです
501デフォルトの名無しさん (ワッチョイ 07b3-3T+V)
2017/11/25(土) 17:59:36.62ID:t3NLc0dP0 C++でもないのでコンストラクタ走るわけでもないです
502デフォルトの名無しさん (ササクッテロル Spfb-t8ZL)
2017/11/25(土) 18:34:32.19ID:ve9pYFQ+p スタック操作なんか関数呼び出し時にまとめてやってるから、どこで宣言しようが処理速度は変わらないけどな。
503デフォルトの名無しさん (ワッチョイ 5f60-2JzH)
2017/11/25(土) 18:34:37.15ID:ROI3Hzdd0 >>499
その程度ならコンパイラが良きに計らってくれますよ
その程度ならコンパイラが良きに計らってくれますよ
504デフォルトの名無しさん (ワッチョイ 6755-P8Uf)
2017/11/25(土) 19:25:41.27ID:Hc9rYyD70 for文の中の変数宣言って外で行うよりオーバーヘッド大きいの?
505デフォルトの名無しさん (スッップ Sd7f-STtB)
2017/11/25(土) 19:29:40.95ID:o/Q+Vng/d506デフォルトの名無しさん (ワッチョイ 879f-UVmO)
2017/11/25(土) 20:41:30.63ID:DmTU06Rg0507デフォルトの名無しさん (ワッチョイ 879f-lrN+)
2017/11/25(土) 20:51:32.38ID:L+SRk42p0 あ、C++みたいな言語でクラスの中でメモリ確保してデストラクタで解放やってるような場合は
ループするブロックの中で宣言したら最低でもメモリ確保と解放でループの回数分時間
掛かっちゃうだろうけど、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:DmTU06Rg0511デフォルトの名無しさん (ワッチョイ bfe7-enc/)
2017/11/26(日) 16:09:01.86ID:EJqMiwXm0512デフォルトの名無しさん (JP 0Heb-DWFp)
2017/11/26(日) 16:12:10.13ID:xKw15WCKH そのレベルの理解なら気にする必要はない
そもそもCを使う必要もない
そもそもCを使う必要もない
513デフォルトの名無しさん (ワッチョイ 5fb3-CDhT)
2017/11/26(日) 16:15:46.29ID:pGcZHtwF0 >>511
> for文とかの中で宣言してやったりすると毎回確保するから処理の速度が遅くなるってどっかで書いてあった
よほどショボいコンパイラでない限り気にする必要はない
> なるべく何回も宣言しないで中身を変える処理をする方が処理がはやくなるとか言ってた
そう言うアホな本は窓から捨てるべき
> for文とかの中で宣言してやったりすると毎回確保するから処理の速度が遅くなるってどっかで書いてあった
よほどショボいコンパイラでない限り気にする必要はない
> なるべく何回も宣言しないで中身を変える処理をする方が処理がはやくなるとか言ってた
そう言うアホな本は窓から捨てるべき
514デフォルトの名無しさん (ワッチョイ bfe7-enc/)
2017/11/26(日) 16:46:48.52ID:EJqMiwXm0515デフォルトの名無しさん (ワッチョイ 07b3-3T+V)
2017/11/26(日) 16:52:44.80ID:14BIGute0 宣言と長い処理って何処に関連が?
初期化の右辺がすんげー長いというのは
変数宣言がループの中にあろうが変数宣言をループの外に追い出しても
同じで必須コストだしそこは論点じゃないよね
初期化の右辺がすんげー長いというのは
変数宣言がループの中にあろうが変数宣言をループの外に追い出しても
同じで必須コストだしそこは論点じゃないよね
516デフォルトの名無しさん (ワッチョイ bfe7-enc/)
2017/11/26(日) 17:10:19.17ID:EJqMiwXm0517デフォルトの名無しさん (ワッチョイ 07b3-3T+V)
2017/11/26(日) 17:15:43.31ID:14BIGute0518デフォルトの名無しさん (ワッチョイ bfe7-enc/)
2017/11/26(日) 17:20:34.69ID:EJqMiwXm0 なるほどなるほど、アルゴリズムの問題か納得した
519デフォルトの名無しさん (ワッチョイ 7f81-nM14)
2017/11/26(日) 17:23:40.85ID:woDc+4Yf0 C言語じゃなくてC++でのクラス変数じゃないの?
520デフォルトの名無しさん (ワッチョイ 5fb3-CDhT)
2017/11/26(日) 17:29:05.50ID:pGcZHtwF0 >>514
測定して本当にそれが問題になってるとわかった時に考えればいい
測定して本当にそれが問題になってるとわかった時に考えればいい
521デフォルトの名無しさん (ワッチョイ 879f-lrN+)
2017/11/26(日) 17:57:37.44ID:YtJM5Nau0 >>516
「実際のところ」と書いてある所をよく読むべき。
「実際のところ」と書いてある所をよく読むべき。
522デフォルトの名無しさん (スップ Sd7f-T4vC)
2017/11/27(月) 04:22:16.28ID:vYl0vGfCd コードとは直接関係はないけどメモリリークのテストってlinuxだとどうやるのだろう?
523デフォルトの名無しさん (ブーイモ MMeb-V9cG)
2017/11/27(月) 07:40:08.21ID:fAclYYwOM >>522
valgrind か LeakSanitizer
valgrind か LeakSanitizer
524デフォルトの名無しさん (ドコグロ MMbb-CDhT)
2017/11/27(月) 07:57:21.48ID:ENOa9M21M525デフォルトの名無しさん (ワッチョイ 079f-V5k9)
2017/11/27(月) 13:20:55.85ID:HfjV3qo40 脳内ループ最適化かー。結構良く目にするのは
int i;
for(i = rows; 0 < i; i―)
Hoge;
だったりするけど
組み込みでも、このくらい最適化かかるのにねぇ
int i;
for(i = rows; 0 < i; i―)
Hoge;
だったりするけど
組み込みでも、このくらい最適化かかるのにねぇ
526デフォルトの名無しさん (スップ Sd7f-T4vC)
2017/11/27(月) 19:33:17.36ID:vYl0vGfCd527デフォルトの名無しさん (アウアウカー Sadb-i88m)
2017/11/27(月) 20:30:19.45ID:clAY2uWxa >>526
systemって-1返す事なかったっけ?
systemって-1返す事なかったっけ?
529デフォルトの名無しさん (ワッチョイ ff7f-lAwh)
2017/11/27(月) 22:36:43.33ID:AvUHS7bA0530デフォルトの名無しさん (ブーイモ MM7f-V9cG)
2017/11/27(月) 22:55:20.44ID:epITd0LcM >>529
メモリマップとかは見てると分かった気になれるし、仕事してる感も出るからおすすめ
メモリマップとかは見てると分かった気になれるし、仕事してる感も出るからおすすめ
531デフォルトの名無しさん (スプッッ Sdff-T4vC)
2017/11/27(月) 23:00:48.16ID:jJU6vIIdd532デフォルトの名無しさん (ワッチョイ 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 で分岐させておいた方が良いと思う。
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
この問題なんだけど、下の書き方以外に賢い方法ある?
このやり方はごり押し過ぎてさすがに違うと思うんだけど
http://codepad.org/pUUVFFJA
534デフォルトの名無しさん (ブーイモ MM7f-V9cG)
2017/11/28(火) 03:16:49.45ID:Ol4PUSI5M535デフォルトの名無しさん (ワッチョイ 0793-C/lT)
2017/11/28(火) 07:53:02.37ID:tl7kMs1v0 C99以降だっけ?
省略された int main() の返り値として自動的に return 0; が補われる、
という仕様があるはずだけど、それに積極的に依存するよりも
return 0; と1行書く方が良い習慣だわね。
省略された int main() の返り値として自動的に return 0; が補われる、
という仕様があるはずだけど、それに積極的に依存するよりも
return 0; と1行書く方が良い習慣だわね。
536デフォルトの名無しさん (スプッッ Sdff-T4vC)
2017/11/28(火) 08:09:45.26ID:VZsT4wzqd537デフォルトの名無しさん (ブーイモ MMcf-T7/p)
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... はやる必要がない。
試してみればわかると思うけど system() で動かされた子プロセスは SIGSTOP 受け取っても
停止するだけで親プロセスには帰らないよ。system() 内でやってる waitpid() は WUNTRACED
や WCONTINUED オプション使ってないってことだと思う。なので STOP や CONT に関係する
WIF... はやる必要がない。
539デフォルトの名無しさん (ワッチョイ 67a0-5mWG)
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]に代入する方法を教えてください。
char str2[10]="BBBBBB";
char str3[10]="CCCCCC";
があって、これをそれぞれ
char strh[0][10]〜char strh[2][10]に代入する方法を教えてください。
540デフォルトの名無しさん (ワッチョイ 2761-+V5r)
2017/11/29(水) 15:58:48.18ID:mhTWLdh/0 strcpy(strh[0],str1);
strcpy(strh[1],str2);
strcpy(strh[2],str3);
と適当に書いてみる。
strcpy(strh[1],str2);
strcpy(strh[2],str3);
と適当に書いてみる。
541デフォルトの名無しさん (ササクッテロル Spfb-t8ZL)
2017/11/29(水) 16:16:35.31ID:4OxukQ3ip ポインターのコピーじゃダメなんですか?
なんで中身をわざわざ複製して、処理時間を無駄に消費するんですか?
なんで中身をわざわざ複製して、処理時間を無駄に消費するんですか?
542デフォルトの名無しさん (スプッッ Sdff-T4vC)
2017/11/29(水) 16:25:56.35ID:llo+D0tpd543デフォルトの名無しさん (ワッチョイ bf8a-LwI/)
2017/11/29(水) 17:24:28.37ID:FWpFj9nP0 >>541
ポインタのコピーだとコピー元の配列(str1[],str2[],str3[])の中身を変更するとコピー先(*strh[0]〜*strh[2])の内容まで変わる
値のコピー(strcpy()など)だとコピー元の配列の中身が変わってもコピー先の配列(strh[0][]〜strh[2][])の内容は変化しない
配列とポインタでは挙動が違う
ポインタのコピーだとコピー元の配列(str1[],str2[],str3[])の中身を変更するとコピー先(*strh[0]〜*strh[2])の内容まで変わる
値のコピー(strcpy()など)だとコピー元の配列の中身が変わってもコピー先の配列(strh[0][]〜strh[2][])の内容は変化しない
配列とポインタでは挙動が違う
544デフォルトの名無しさん (ワッチョイ c7ea-3T+V)
2017/11/29(水) 17:38:36.67ID:7w8PUMIS0 初期化でやってしまう話じゃないんだろうな。 多分
char strh[3][10] = { "AAAAAA", "BBBBBB", "CCCCCC" };
char strh[3][10] = { "AAAAAA", "BBBBBB", "CCCCCC" };
545デフォルトの名無しさん (ガックシ 068f-forR)
2017/11/29(水) 17:49:08.23ID:Ypog5BGe6 配列変数はただのポインタ変数じゃないってマジ?
arr==&arrになるんやが。
arrがポインタなら&arrはポインタのポインタだからこれはおかしい。
arr==&arrになるんやが。
arrがポインタなら&arrはポインタのポインタだからこれはおかしい。
546デフォルトの名無しさん (ブーイモ MMeb-T7/p)
2017/11/29(水) 18:28:37.84ID:azEm6Mj/M 配列名が先頭要素へのポインタになるのは構文糖
547デフォルトの名無しさん (ワッチョイ 07b3-3T+V)
2017/11/29(水) 18:44:21.59ID:+PcO5Rrn0 int a[10];
int *p;
p++; 問題なし
a++; エラー
配列は配列 ポインタはポインタ
int *p;
p++; 問題なし
a++; エラー
配列は配列 ポインタはポインタ
548デフォルトの名無しさん (ワッチョイ a77f-8Ex9)
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:DGImDAX5a551デフォルトの名無しさん (ブーイモ MMeb-T7/p)
2017/11/29(水) 19:03:01.69ID:azEm6Mj/M よし、sizef演算子の出番だな。
552デフォルトの名無しさん (ワッチョイ 0793-C/lT)
2017/11/29(水) 19:11:32.94ID:vgi7NPsq0553デフォルトの名無しさん (ワッチョイ 0775-forR)
2017/11/29(水) 19:31:59.94ID:bodUKsOx0 >配列名 arr は &arr[0] (先頭の要素へのポインタ)
>配列名に&演算子を作用させた &arr は配列全体(10要素の配列)へのポインタ
>…と解釈される、とANSIで決まった、と望洋さんの本に載ってる。
なるほどな
>配列名に&演算子を作用させた &arr は配列全体(10要素の配列)へのポインタ
>…と解釈される、とANSIで決まった、と望洋さんの本に載ってる。
なるほどな
554デフォルトの名無しさん (ワッチョイ a77f-8Ex9)
2017/11/29(水) 19:54:00.64ID:Xa+98JY60 >>552
>6.5.9 等価演算子
>(中略)
>制約??次のいずれかの条件を満たさなければならない。
>(中略)
>-両オペランドとも適合する型の修飾版又は非修飾版へのポインタである。
「〜型」と「〜型の配列型」は適合しないから、ポインタの比較は未定義
>6.5.9 等価演算子
>(中略)
>制約??次のいずれかの条件を満たさなければならない。
>(中略)
>-両オペランドとも適合する型の修飾版又は非修飾版へのポインタである。
「〜型」と「〜型の配列型」は適合しないから、ポインタの比較は未定義
555デフォルトの名無しさん (ワッチョイ 7f80-xsLR)
2017/11/29(水) 20:09:41.35ID:/RfTzpPk0 >>552
型が異なったら、比較できない
例えば、アドレス100番地から10バイトと、
アドレス100番地から20バイトでは、全然違う
仮に、同じバイト数だとしても、中身・内容が異なるし、比較する事に意味がない
型が異なったら、比較できない
例えば、アドレス100番地から10バイトと、
アドレス100番地から20バイトでは、全然違う
仮に、同じバイト数だとしても、中身・内容が異なるし、比較する事に意味がない
556デフォルトの名無しさん (ワッチョイ 5ff9-uRPb)
2017/11/29(水) 22:15:27.21ID:QTG/JUE+0 >>542
ファイルの破損というのがファイルの中身の論理レベルの話なら正常なファイルとみなされるはずだし、ファイルシステムレベルの破損やメディアの物理的破損なら実装依存じゃないかな。
ファイルの破損というのがファイルの中身の論理レベルの話なら正常なファイルとみなされるはずだし、ファイルシステムレベルの破損やメディアの物理的破損なら実装依存じゃないかな。
557デフォルトの名無しさん (ワッチョイ 5ff9-uRPb)
2017/11/29(水) 22:18:50.37ID:QTG/JUE+0 >>555
いま話題にしているのはarrと&arr[0]の比較であって、これらはどちらも比較演算子のオペランドとしてはint*型として評価されて型も値も一致すると思ってたけど、どうだろう。
いま話題にしているのはarrと&arr[0]の比較であって、これらはどちらも比較演算子のオペランドとしてはint*型として評価されて型も値も一致すると思ってたけど、どうだろう。
558デフォルトの名無しさん (ワッチョイ 5ff9-uRPb)
2017/11/29(水) 22:20:43.77ID:QTG/JUE+0 >>557
間違えた。arrと&arrね。&arrもint*型のはず、だと思う。
間違えた。arrと&arrね。&arrもint*型のはず、だと思う。
559デフォルトの名無しさん (ワッチョイ a77f-8Ex9)
2017/11/29(水) 22:42:55.53ID:Xa+98JY60 実際にコンパイルすれば型不一致のwarning出るのに、なんでそういう発想になるんだろう
不思議だわ
不思議だわ
560デフォルトの名無しさん (ワッチョイ 3d93-kA4S)
2017/11/30(木) 06:56:06.98ID:VGvsvH1F0561デフォルトの名無しさん (ワッチョイ 4af9-4cvy)
2017/11/30(木) 07:49:26.15ID:T6nL/USz0 >>560
色々と記憶違いをしてたよ。サンクス。
色々と記憶違いをしてたよ。サンクス。
562デフォルトの名無しさん (ワッチョイ a66e-hJGX)
2017/11/30(木) 10:29:35.42ID:/QNJXUpA0563デフォルトの名無しさん (ワッチョイ 1e8a-YNua)
2017/11/30(木) 10:41:32.87ID:5xc99BMT0 arrは&arr[0]の糖衣構文なので型は同じint*だろ
564デフォルトの名無しさん (アウアウカー Sa55-kbEZ)
2017/11/30(木) 10:46:30.46ID:Rc2VGt53a 糖衣構文なのになんでわかりづらくなってるんすかね
565デフォルトの名無しさん (ササクッテロル Spbd-QD6R)
2017/11/30(木) 10:48:13.06ID:I+JVe+Ukp まあ、sizeofしたら分かるよ。
566デフォルトの名無しさん (ワッチョイ 1e8a-YNua)
2017/11/30(木) 10:53:47.57ID:5xc99BMT0 arr=&arr[0]≠&arr
567デフォルトの名無しさん (ワッチョイ a5ea-7XMe)
2017/11/30(木) 10:56:17.41ID:CwUb7XwN0 代入左辺の int* に渡す右辺
関数引数の int* に渡す引数
ここに渡す際に先頭要素へのポインタを与えてるだけで
変数そのものはポインタにはなっていなくて配列のまま
関数引数の int* に渡す引数
ここに渡す際に先頭要素へのポインタを与えてるだけで
変数そのものはポインタにはなっていなくて配列のまま
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【前橋市】小川晶前市長とラブホテルで打ち合わせをした54歳男性職員を停職処分 今月末で依願退職するという [シャチ★]
- 【おこめ券】鈴木農相 米価維持の意図「一切ない」★2 [ぐれ★]
- 【埼玉】「無免許で高速道路で事故」トラックの追突事故で10代男性死亡 無免許過失運転致死の疑いでトルコ国籍の男(22)逮捕 戸田市 [ぐれ★]
- 【日銀総裁】賃金に上昇圧力 人手不足で労働市場逼迫 [蚤の市★]
- レーダー照射問題で日本のホットライン呼びかけに中国応じず…2023年3月に開設も機能せず [♪♪♪★]
- 広島・廿日市、おこめ券配布せず 全市民に3000円現金給付へ [どどん★]
- おさかなさんあつまれえ
- 俺は人間国宝
- 【速報】1ポンド210円で日英GDP逆転(残り1.5円)...世界6位の経済規模に転落 [237216734]
- 【高市悲報】衰退ポルノ、ガチのマジでヤバすぎる…… [784715804]
- 朝日新聞記者「中国軍のレーダー照射はこめかみに銃を突きつけられたのと同じ。僕なら反撃して撃墜してる」高市 [931948549]
- 【高市悲報】中国軍「公海で空母の発着訓練するって事前通告したのになんで自衛隊機は急接近してきたんだ…?」中国軍困惑★2 [931948549]
