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言語なら俺に聞け 152
https://mevius.5ch.net/test/read.cgi/tech/1560763630/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
C言語なら俺に聞け 153
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 5fba-LL4R)
2019/08/17(土) 23:02:42.00ID:tN5mSQYg0263デフォルトの名無しさん (ワッチョイ 2101-PSUN)
2019/11/17(日) 18:53:56.89ID:q2lewe9O0 そのメモリ、いやもっと言えばバスの初期化はいつ誰がやるのかと。
264デフォルトの名無しさん (スップ Sda2-iD2J)
2019/11/18(月) 00:18:37.90ID:FmL1TMPdd265デフォルトの名無しさん (スップ Sda2-iD2J)
2019/11/18(月) 00:21:29.64ID:FmL1TMPdd266デフォルトの名無しさん (ワッチョイ cdda-JEG5)
2019/11/18(月) 03:24:34.33ID:7xBgQ7dd0267デフォルトの名無しさん (ワッチョイ 8201-0xny)
2019/11/18(月) 05:02:13.80ID:lwVIqPwD0268デフォルトの名無しさん (スッップ Sda2-lusp)
2019/11/18(月) 07:58:00.65ID:skAn5Z6md Cだけで起動できるCPUって、まさかとは思うがPICじゃねえだろうなwww
269デフォルトの名無しさん (アークセー Sx11-PSUN)
2019/11/18(月) 08:51:34.79ID:G/ZMLQZPx270デフォルトの名無しさん (スッップ Sda2-lusp)
2019/11/18(月) 08:57:47.13ID:skAn5Z6md メモリの接続方法なんか全然関係ない
おまえアホか
おまえアホか
271デフォルトの名無しさん (スッップ Sda2-lusp)
2019/11/18(月) 09:02:39.86ID:skAn5Z6md PICと言った意味も通じてねえな、こりゃw
まさかの更に下をくぐりやがった
まさかの更に下をくぐりやがった
272デフォルトの名無しさん (ワッチョイ 7188-L4DL)
2019/11/18(月) 09:05:45.96ID:tFTaAL8Z0 OSの無い組み込み環境なんて山ほど存在してて、その環境の中で全部Cのもで書いてるとこも存在してる
そもそもOS入れられるような環境とは言えないけど、こういうとこでCで書いてるものにOS的な動作をさせればそれはCのみで作ったOSと言えるのか?
おそらくどこからどこまでがOSの領域か?がずれてるから延々と罵り合いになるのでは?
そもそもOS入れられるような環境とは言えないけど、こういうとこでCで書いてるものにOS的な動作をさせればそれはCのみで作ったOSと言えるのか?
おそらくどこからどこまでがOSの領域か?がずれてるから延々と罵り合いになるのでは?
273デフォルトの名無しさん (スッップ Sda2-lusp)
2019/11/18(月) 09:24:05.89ID:skAn5Z6md ほらな、やっぱりPICと言った意味が通じてないw
274デフォルトの名無しさん (ワッチョイ e9aa-coos)
2019/11/18(月) 09:59:14.55ID:FeTeb+YA0 私のために争わないで!
275デフォルトの名無しさん (スッップ Sda2-iD2J)
2019/11/18(月) 10:07:53.61ID:sZ0WVu3/d 最近PICを覚えたの?
276デフォルトの名無しさん (スッップ Sda2-iD2J)
2019/11/18(月) 10:13:12.39ID:sZ0WVu3/d ARMとかRXとかSHとか...
スタートアップ含めCだけで書ける
(全ての環境でとは言わないけど)
スタートアップ含めCだけで書ける
(全ての環境でとは言わないけど)
277デフォルトの名無しさん (ワッチョイ cdda-JEG5)
2019/11/18(月) 10:27:02.98ID:7xBgQ7dd0 組み込み用の処理系についてはメーカ独自拡張の独壇場
コンパイラ本体は
__section
__bank
__interrupt
など独自拡張多し
プリプロセッサも
#pragma
で設定弄らないといけないので注意
コンパイラ本体は
__section
__bank
__interrupt
など独自拡張多し
プリプロセッサも
#pragma
で設定弄らないといけないので注意
278デフォルトの名無しさん (ワッチョイ cdda-JEG5)
2019/11/18(月) 10:37:04.01ID:7xBgQ7dd0 スタートアップファイルはC言語のような殆ど何か別言語に近い感覚
279デフォルトの名無しさん (スッップ Sda2-lusp)
2019/11/18(月) 11:31:43.74ID:skAn5Z6md >>276
そのスタートアップはどうやって起動するんだよ
そのスタートアップはどうやって起動するんだよ
280デフォルトの名無しさん (アウアウウー Sa45-nhir)
2019/11/18(月) 12:06:28.17ID:vV3s+CrDa ピクピク
281デフォルトの名無しさん (ドコグロ MM4a-0xny)
2019/11/18(月) 12:28:42.25ID:S9/8fJfLM >>273
PIC8からPIC32まであるのにPICだけで話が通じると思ってるのはちょっと世間知らずすぎる
PIC8からPIC32まであるのにPICだけで話が通じると思ってるのはちょっと世間知らずすぎる
282デフォルトの名無しさん (ドコグロ MM4a-0xny)
2019/11/18(月) 12:29:47.29ID:S9/8fJfLM283デフォルトの名無しさん (ブーイモ MM76-th7b)
2019/11/18(月) 12:31:32.89ID:fft3f69BM いまなら、C言語だけで書いたOSをUEFI でロードして起動するとかできるだろ?
C言語で書けない操作は UEFI 側で設定したものをそのまま使う
C言語で書けない操作は UEFI 側で設定したものをそのまま使う
284デフォルトの名無しさん (ワッチョイ 0d73-iGNt)
2019/11/18(月) 12:39:27.00ID:1LpBylKv0 PC-88/98のFDブートはFDの最初のセクタから256バイト読み込んで実行するんだっけ?
そのプログラム書くのに適したCコンパイラってあるの?
そのプログラム書くのに適したCコンパイラってあるの?
285デフォルトの名無しさん (アウウィフ FF45-/Df3)
2019/11/18(月) 12:59:12.61ID:ahZzeXy3F CP/MにはBDSCが定番だった
286デフォルトの名無しさん (スプッッ Sda2-iD2J)
2019/11/18(月) 13:14:35.59ID:IDpLc7eed >>279
人に聞かないで自分で調べて
人に聞かないで自分で調べて
287デフォルトの名無しさん (スッップ Sda2-lusp)
2019/11/18(月) 13:15:54.90ID:skAn5Z6md >>282
俺もそんなことだろうと見ているw
俺もそんなことだろうと見ているw
288デフォルトの名無しさん (スプッッ Sda2-iD2J)
2019/11/18(月) 13:23:20.40ID:IDpLc7eed 本気で知りたいならそれ相応の態度で
289デフォルトの名無しさん (ワッチョイ d11d-7HT4)
2019/11/18(月) 14:18:07.35ID:+ljooU2/0 ビジネスで優秀な人材育成する上司は何を教えているのか?
https://www.youtube.com/watch?v=apxtSqxjw08&t=13s
マクドナルド伝説の店長が教える、最強店長になるために必要なこと
https://www.youtube.com/watch?v=0wMbR7JIeeQ&t=3154s
「最強の働き方」長時間労働やノウハウよりも大切なこと
https://www.youtube.com/watch?v=JnMHbI1-e3E&t=3606s
美容師の楽しさ再発見!やる気スイッチが入る働き方セミナー
https://www.youtube.com/watch?v=DGzXQT799oY
視覚障がいを乗り越えた活法家
https://www.youtube.com/watch?v=6IuY_K3uFdo&t=805s
https://www.youtube.com/watch?v=apxtSqxjw08&t=13s
マクドナルド伝説の店長が教える、最強店長になるために必要なこと
https://www.youtube.com/watch?v=0wMbR7JIeeQ&t=3154s
「最強の働き方」長時間労働やノウハウよりも大切なこと
https://www.youtube.com/watch?v=JnMHbI1-e3E&t=3606s
美容師の楽しさ再発見!やる気スイッチが入る働き方セミナー
https://www.youtube.com/watch?v=DGzXQT799oY
視覚障がいを乗り越えた活法家
https://www.youtube.com/watch?v=6IuY_K3uFdo&t=805s
290デフォルトの名無しさん (ワッチョイ 65e5-6HYk)
2019/11/18(月) 20:40:54.63ID:oSLwFt1+0 ヒヨッ子が物を知らねえのは別にいいんだよ、当たり前
シッタカこくのと指摘されてからの逆ギレが攻撃対象になるんだ
シッタカこくのと指摘されてからの逆ギレが攻撃対象になるんだ
291デフォルトの名無しさん (ブーイモ MM0d-7Hrx)
2019/11/18(月) 20:50:41.53ID:Zo9NWI12M >>283
gccの場合は自動的にcrt0-efi-x86_64.Sをリンクするようだが
gccの場合は自動的にcrt0-efi-x86_64.Sをリンクするようだが
292デフォルトの名無しさん (アウアウウー Sa45-coos)
2019/11/18(月) 20:54:33.04ID:Ufz4tuHsa ものづくりC言語熟ってサイトいいじゃん!
293デフォルトの名無しさん (ワッチョイ 02a5-pb9v)
2019/11/18(月) 21:03:14.01ID:UWPzTs1l0 ものづくりC言語熟おいしい!一番好きなバーガーです!! って言ってほしいのか?
294デフォルトの名無しさん (アウアウウー Sa45-coos)
2019/11/18(月) 21:06:39.12ID:Ufz4tuHsa >>293
もしかしてキ○ガイ?
もしかしてキ○ガイ?
295デフォルトの名無しさん (ワッチョイ 1102-coos)
2019/11/18(月) 21:29:13.55ID:9xSA7Xxe0 ものづくりC言語塾のポインタの説明わけわからん
296デフォルトの名無しさん (ワッチョイ 2905-n3bN)
2019/11/18(月) 22:06:08.02ID:WvhlQmiy0 C言語のポインタはCPU機械語における間接アドレシングの抽象化だろ?
それ以上でも以下でも無い
それ以上でも以下でも無い
297デフォルトの名無しさん (ワッチョイ 0261-bNU/)
2019/11/18(月) 22:11:27.28ID:Vzii0sJA0298デフォルトの名無しさん (ワッチョイ 8173-iD2J)
2019/11/19(火) 00:13:05.05ID:SDEP65Ha0 それ以上もそれ以下もそれを含む
299デフォルトの名無しさん (ワイーワ2 FFca-/nAh)
2019/11/19(火) 12:48:33.17ID:8naC8O/UF >>296
インクリメントは良く出来てるな
あとポインタのポインタと配列へのポインタの文法を混乱して覚えてる人が居て
そいつらのせいで劣化コピーが出回ってるのがさらなる混乱の原因
正しく理解して正しく使えばCのポインタは何も難しくない
インクリメントは良く出来てるな
あとポインタのポインタと配列へのポインタの文法を混乱して覚えてる人が居て
そいつらのせいで劣化コピーが出回ってるのがさらなる混乱の原因
正しく理解して正しく使えばCのポインタは何も難しくない
300デフォルトの名無しさん (スップ Sda2-iD2J)
2019/11/19(火) 13:21:56.35ID:lt+0x6jod301デフォルトの名無しさん (スッップ Sda2-lusp)
2019/11/19(火) 13:26:52.18ID:O502C4IMd 二次元配列は二重ポインタで扱うという自分の勘違いを正当化したくて
mallocでポインタの配列を作るやり方を唯一正統と強弁するアホが
fjで暴れてたな、そういえば
mallocでポインタの配列を作るやり方を唯一正統と強弁するアホが
fjで暴れてたな、そういえば
302デフォルトの名無しさん (ラクッペ MM81-G967)
2019/11/19(火) 13:59:41.39ID:9idMfLVKM ポインタのポインタ **p
配列へのポインタ (*p)[]
ポインタの配列 *p[]
配列へのポインタ (*p)[]
ポインタの配列 *p[]
303デフォルトの名無しさん (ワイーワ2 FFca-/nAh)
2019/11/19(火) 14:08:13.34ID:8naC8O/UF >>300 みたいなのを炙り出せたのであれば
レスに意味があったと言えよう
レスに意味があったと言えよう
304デフォルトの名無しさん (オイコラミネオ MM96-G967)
2019/11/19(火) 19:58:13.32ID:r9zE5eVQM305デフォルトの名無しさん (スッップ Sda2-lusp)
2019/11/19(火) 20:13:13.80ID:O502C4IMd306デフォルトの名無しさん (オイコラミネオ MM96-G967)
2019/11/19(火) 20:14:48.63ID:r9zE5eVQM307デフォルトの名無しさん (アウアウウー Sa45-nhir)
2019/11/19(火) 20:16:56.03ID:c65LTQ+sa >>299
アセンブラやったことのない人は中々正しく理解できないようで、それでポインタの事だけ書いてある本が沢山出ちゃうんだろうな。
アセンブラやったことのない人は中々正しく理解できないようで、それでポインタの事だけ書いてある本が沢山出ちゃうんだろうな。
308デフォルトの名無しさん (アークセー Sx11-9KXC)
2019/11/19(火) 21:33:52.66ID:pHwegslWx 何年も書かないと忘れるな〜
ポインタのポインタは、ポインタの値を参照渡しするときくらいしか思いつかん
char *p;
foo(&p);
void foo(char **p) {…}
みたいな、
305のような書き方はピンとこないわ
ポインタのポインタは、ポインタの値を参照渡しするときくらいしか思いつかん
char *p;
foo(&p);
void foo(char **p) {…}
みたいな、
305のような書き方はピンとこないわ
309デフォルトの名無しさん (ドコグロ MM4a-0xny)
2019/11/19(火) 21:36:01.90ID:+Tz70BZqM310デフォルトの名無しさん (ワッチョイ a277-6HYk)
2019/11/19(火) 21:49:57.72ID:3qWxJKAv0 int a=0;
int *pa=&a;
int **ppa =&pa;
int ***pppa = &ppa;
int *pa=&a;
int **ppa =&pa;
int ***pppa = &ppa;
311デフォルトの名無しさん (ワッチョイ 02a5-pb9v)
2019/11/19(火) 22:00:51.47ID:JHNr41O80 でもこういう関数だとポインタだけでやりたくなる
mul(double** x, double** y, int n, int m){
mul(double x[][20], double y[][20], int n, int m){
mul(double** x, double** y, int n, int m){
mul(double x[][20], double y[][20], int n, int m){
312デフォルトの名無しさん (ワッチョイ 8173-iD2J)
2019/11/19(火) 22:37:16.16ID:SDEP65Ha0 const 付けない系?
313デフォルトの名無しさん (ワッチョイ 65e5-6HYk)
2019/11/19(火) 22:47:26.54ID:8ta2T3rG0 また関係ないことを・・・
314デフォルトの名無しさん (ラクッペ MM81-G967)
2019/11/20(水) 05:59:16.05ID:6t1gUx2GM 関数の引数に限って言えば
func(**p)
func(*p[])
func(p[][])
func(p[][10])
どれでも同じ
引数として配列を引き渡す方法はない
どれも先頭要素へのポインタが値渡しされる
関数側で引数がポインタへのポインタ(いわゆる二重ポインタ)なのか、ポインタの配列なのか、配列の配列(いわゆる二次元配列) なのか区別する手段はない
引数に配列として要素数を渡してもエラーにはならないだけで無視される
func(**p)
func(*p[])
func(p[][])
func(p[][10])
どれでも同じ
引数として配列を引き渡す方法はない
どれも先頭要素へのポインタが値渡しされる
関数側で引数がポインタへのポインタ(いわゆる二重ポインタ)なのか、ポインタの配列なのか、配列の配列(いわゆる二次元配列) なのか区別する手段はない
引数に配列として要素数を渡してもエラーにはならないだけで無視される
315デフォルトの名無しさん (スッップ Sda2-lusp)
2019/11/20(水) 06:42:28.35ID:06vL+ArYd どこから突っ込んでいいやら・・・
出鱈目にも程があるぜ
出鱈目にも程があるぜ
316デフォルトの名無しさん (ワッチョイ cdda-JEG5)
2019/11/20(水) 07:18:49.43ID:CxWhIUNe0 関数の宣言文で説明だけなので変数型を省略してるだけだろ
配列の変数名がpならば呼び出しは
func(p)
でもいける
結局は先頭アドレスさえ渡せれば何でもいい
配列の変数名がpならば呼び出しは
func(p)
でもいける
結局は先頭アドレスさえ渡せれば何でもいい
317デフォルトの名無しさん (エムゾネ FFa2-lusp)
2019/11/20(水) 07:45:40.36ID:uVU8YbeSF [][]なんて構文あるかヴォケ
318デフォルトの名無しさん (アウアウウー Sa45-nhir)
2019/11/20(水) 09:49:56.67ID:gQNT2Wxfa >>314
プロトタイプ宣言しておけばC言語としては違う状態になるよ。
プロトタイプ宣言しておけばC言語としては違う状態になるよ。
319デフォルトの名無しさん (ワッチョイ cdda-JEG5)
2019/11/20(水) 10:34:34.94ID:CxWhIUNe0 プロトタイプ宣言では状態を区別はしない
プロトタイプ宣言
void func(char *p[]);
関数定義
void func(char **p) {}
https://i.imgur.com/mMQGNga.png
プロトタイプ宣言
void func(char *p[]);
関数定義
void func(char **p) {}
https://i.imgur.com/mMQGNga.png
320デフォルトの名無しさん (ワイーワ2 FFca-/nAh)
2019/11/20(水) 12:01:08.83ID:grCkJCm3F321デフォルトの名無しさん (ワイーワ2 FFca-/nAh)
2019/11/20(水) 12:06:59.82ID:grCkJCm3F >>311
何を目的に書いてるのか知らんが
A: mul(double** x, double** y, int n, int m){
B: mul(double x[][20], double y[][20], int n, int m){
C: mul(double (*x)[20], double (*y)[20], int n, int m){
AとBは等価じゃないぞ
何を目的に書いてるのか知らんが
A: mul(double** x, double** y, int n, int m){
B: mul(double x[][20], double y[][20], int n, int m){
C: mul(double (*x)[20], double (*y)[20], int n, int m){
AとBは等価じゃないぞ
322デフォルトの名無しさん (ワッチョイ cdda-JEG5)
2019/11/20(水) 13:41:25.47ID:CxWhIUNe0 変数としてのxは
A:double型のポインタを指すポインタ
B:double型の配列を要素とする配列の先頭要素を指すポインタ
C:double型の配列を指すポインタ
関数の引数としてのxは
A,B,Cすべてdouble型の参照オブジェクト(何でもいい)を指すポインタ
A:double型のポインタを指すポインタ
B:double型の配列を要素とする配列の先頭要素を指すポインタ
C:double型の配列を指すポインタ
関数の引数としてのxは
A,B,Cすべてdouble型の参照オブジェクト(何でもいい)を指すポインタ
323デフォルトの名無しさん (アウアウウー Sa45-ikGc)
2019/11/20(水) 15:18:17.42ID:7Jz+3SpEa324デフォルトの名無しさん (ワッチョイ cdda-tLD+)
2019/11/20(水) 15:27:36.91ID:CxWhIUNe0 まあ実際C:のような例は見たことはないけど、少なくともA:とB:は関数の引数としては同じと解釈される
中身は受け取った関数側でプログラマが処理する事案であってdouble型の何かを指すポインタという以上の意味はない
中身は受け取った関数側でプログラマが処理する事案であってdouble型の何かを指すポインタという以上の意味はない
325デフォルトの名無しさん (ワッチョイ 0269-wiCk)
2019/11/20(水) 15:59:50.97ID:jGIPXiJ00 分かりきった固定要素数の配列を渡すのはいっかい struct で包んじゃうわ
struct foo {
double array[20];
};
mul(struct foo* x, struct foo* y, ...)
struct foo {
double array[20];
};
mul(struct foo* x, struct foo* y, ...)
327デフォルトの名無しさん (ラクッペ MM81-G967)
2019/11/20(水) 16:40:06.35ID:6t1gUx2GM >>323,326
ただの罵倒ではなくてもう少し有益なレスしろよ
ただの罵倒ではなくてもう少し有益なレスしろよ
328デフォルトの名無しさん (アウアウウー Sa45-ikGc)
2019/11/20(水) 16:50:21.31ID:VaHfdLQca >>324
A,Bそれぞれのsizeof(x)やx+1について、値や型を比較してみろよ。意味が違うことがわかるから。
A,Bそれぞれのsizeof(x)やx+1について、値や型を比較してみろよ。意味が違うことがわかるから。
329デフォルトの名無しさん (アウウィフ FF45-/Df3)
2019/11/20(水) 16:54:14.17ID:ACUpjjQJF330デフォルトの名無しさん (ワッチョイ cdda-tLD+)
2019/11/20(水) 17:02:30.65ID:CxWhIUNe0331デフォルトの名無しさん (ワッチョイ cdda-tLD+)
2019/11/20(水) 17:03:37.18ID:CxWhIUNe0 訂正
**p ← *pp
**p ← *pp
332デフォルトの名無しさん (アウアウウー Sa45-nhir)
2019/11/20(水) 17:18:03.94ID:gQNT2Wxfa >>324
いや。AとBは違う。
いや。AとBは違う。
333デフォルトの名無しさん (アウウィフ FF45-/Df3)
2019/11/20(水) 17:19:03.29ID:ACUpjjQJF334デフォルトの名無しさん (アウアウウー Sa45-nhir)
2019/11/20(水) 17:36:55.77ID:gQNT2Wxfa その通り
335デフォルトの名無しさん (ワッチョイ cdda-tLD+)
2019/11/20(水) 17:38:35.24ID:CxWhIUNe0 納得
そりゃそーだ
すまんかった
そりゃそーだ
すまんかった
336デフォルトの名無しさん (アウアウクー MMd1-+hLn)
2019/11/20(水) 18:37:56.75ID:lnMf/X4/M 初めて書き込む初心者ですが
配列存在そのものがポインタと違う
という話と
ポインタとして渡して同じように扱える
という話の食い違いをしてるのですか?
配列存在そのものがポインタと違う
という話と
ポインタとして渡して同じように扱える
という話の食い違いをしてるのですか?
337デフォルトの名無しさん (アウウィフ FF45-/Df3)
2019/11/20(水) 19:19:34.26ID:ACUpjjQJF ポインタの配列はポインタのポインタとして扱えるが
配列へのポインタはポインタのポインタとして扱ってはいけないって話
そりゃ無理に使おうとすれば使えない訳じゃないが止めた方が良い
配列へのポインタはポインタのポインタとして扱ってはいけないって話
そりゃ無理に使おうとすれば使えない訳じゃないが止めた方が良い
338デフォルトの名無しさん (スプッッ Sd81-iD2J)
2019/11/20(水) 19:45:26.72ID:/a5mIgHWd char a[2][2];
これは a[0][0], a[0][1], a[1][0], a[1][1] の順にcharが4個ならんだデータ
char *b[2] = {a[0], a[1]};
という配列をaとは別に作ってはじめて
char **として扱える
これは a[0][0], a[0][1], a[1][0], a[1][1] の順にcharが4個ならんだデータ
char *b[2] = {a[0], a[1]};
という配列をaとは別に作ってはじめて
char **として扱える
339デフォルトの名無しさん (スプッッ Sd81-iD2J)
2019/11/20(水) 19:47:17.62ID:/a5mIgHWd aは(中身は)4このデータの先頭アドレスで
bはアドレスの配列の先頭アドレス
データが異なるので無理やりキャストしてもダメ
bはアドレスの配列の先頭アドレス
データが異なるので無理やりキャストしてもダメ
340デフォルトの名無しさん (アウアウウー Sa45-nhir)
2019/11/20(水) 20:34:14.51ID:gQNT2Wxfa そしてまたポインタ解説本が一冊増えるのであった
341デフォルトの名無しさん (アークセー Sx11-9KXC)
2019/11/20(水) 21:23:45.88ID:QqNmmDM2x >>320
何だそうか、親切にありがとう!
何だそうか、親切にありがとう!
342デフォルトの名無しさん (ワッチョイ 93c5-QS5Z)
2019/11/25(月) 13:03:01.01ID:pSQ/T/wR0 私はC言語の神だ
何か私に聞きたいことはあるか?
何か私に聞きたいことはあるか?
343デフォルトの名無しさん (ワイーワ2 FF63-KqLj)
2019/11/25(月) 13:13:12.61ID:pjJuONFZF 余命何年かな
344デフォルトの名無しさん (ワッチョイ 93c5-QS5Z)
2019/11/25(月) 13:18:38.97ID:pSQ/T/wR0 余命は3152578641だ
345デフォルトの名無しさん (スッップ Sd33-/WwJ)
2019/11/25(月) 13:20:19.58ID:FcoOoav6d なんで & より == の方が強い?
なんで func と &func 両方とも関数へのポインタ
なんで char の符号有無を規定しなかった?
なんで func と &func 両方とも関数へのポインタ
なんで char の符号有無を規定しなかった?
346デフォルトの名無しさん (ワッチョイ 93c5-QS5Z)
2019/11/25(月) 13:22:22.93ID:pSQ/T/wR0 プログラマーは万能である
で、あれば、それらは些細なことだ
で、あれば、それらは些細なことだ
347デフォルトの名無しさん (ワッチョイ 2b7c-QS5Z)
2019/11/25(月) 14:10:49.09ID:ZBE9lLbs0 >>345
===は比較演算子で、&はビット演算子(扱いは算術演算子と大差ない)だから。
funcと&funcが同じなのは単なるシンタックスシュガー。 配列のそれと変わらん。
charは符号もへったくれも無かったため。 最上位がパリティなことも多かったし。
===は比較演算子で、&はビット演算子(扱いは算術演算子と大差ない)だから。
funcと&funcが同じなのは単なるシンタックスシュガー。 配列のそれと変わらん。
charは符号もへったくれも無かったため。 最上位がパリティなことも多かったし。
348デフォルトの名無しさん (ワイーワ2 FF63-KqLj)
2019/11/25(月) 14:13:37.69ID:pjJuONFZF char hoge[10][10];
があったとして
hoge と &hoge[0][0] が一緒なのは判るが
&hoge とか hoge[0][0] は一緒じゃない
があったとして
hoge と &hoge[0][0] が一緒なのは判るが
&hoge とか hoge[0][0] は一緒じゃない
349デフォルトの名無しさん (ワッチョイ 3988-+jxl)
2019/11/25(月) 14:40:15.02ID:xlCLCIdV0 算術演算子と大差無いと言うならなおさら優先順位が逆転するのは不思議
つうか神様への質問なんだからなんでそういう仕様になったかを答えてほしんでしょ
つうか神様への質問なんだからなんでそういう仕様になったかを答えてほしんでしょ
350デフォルトの名無しさん (スッップ Sd33-xphW)
2019/11/25(月) 15:00:15.21ID:Nb9YSlRod351デフォルトの名無しさん (ワッチョイ 1369-BEIG)
2019/11/25(月) 15:08:44.39ID:PWp9fS7h0 比較演算子が最下位ならすっきりする
a + 1 == 2 → (a + 1) == 2 の順と同じく
a & 1 == 2 → (a & 1) == 2 や
a % 2 == 1 → (a % 2) == 1 であってほしい
a + 1 == 2 → (a + 1) == 2 の順と同じく
a & 1 == 2 → (a & 1) == 2 や
a % 2 == 1 → (a % 2) == 1 であってほしい
352デフォルトの名無しさん (ワッチョイ 997b-H1eq)
2019/11/25(月) 16:42:52.23ID:Z7hJDN/t0 わたしゃ神様じゃないけど、カーニハンとパイクの『プログラミング作法』には
「カッコを使って演算子の優先順位の曖昧さを避けよう」みたいな項があるね。
もちろん規格では厳格に決まってるけど、使用者の記憶があやふやって話。
あの辺を読むと「ビット演算子より比較演算子を優先したのは誤りだったかも」と
ご当人が思ってたんじゃないかと感じるわ。
「カッコを使って演算子の優先順位の曖昧さを避けよう」みたいな項があるね。
もちろん規格では厳格に決まってるけど、使用者の記憶があやふやって話。
あの辺を読むと「ビット演算子より比較演算子を優先したのは誤りだったかも」と
ご当人が思ってたんじゃないかと感じるわ。
353デフォルトの名無しさん (ワッチョイ f963-/L9V)
2019/11/25(月) 16:46:33.35ID:72Xydbv80 今更いじれないだろうな
354デフォルトの名無しさん (スッップ Sd33-/WwJ)
2019/11/25(月) 18:07:03.06ID:FcoOoav6d 神様の回答が1個も無い
>>342
K&R1 から K&2 への相違で強烈に疑問を持っているのが
引数に配列をとったときは、配列の先頭のポインタが渡るのに、引数に構造体をおいたときは、構造体の実体がコピーされて渡されるのはなぜ?
馬鹿が
struct A {
int a[1234567890];
};
とかやったときには、これが関数の引数に乗ったときには、正気でコピーする気なのですか?
K&R1 から K&2 への相違で強烈に疑問を持っているのが
引数に配列をとったときは、配列の先頭のポインタが渡るのに、引数に構造体をおいたときは、構造体の実体がコピーされて渡されるのはなぜ?
馬鹿が
struct A {
int a[1234567890];
};
とかやったときには、これが関数の引数に乗ったときには、正気でコピーする気なのですか?
356デフォルトの名無しさん (スッップ Sd33-xphW)
2019/11/25(月) 19:22:13.99ID:Nb9YSlRod ん? 構造体が左辺値変形されるなんてことあったか?
357352 (ワッチョイ 997b-H1eq)
2019/11/25(月) 19:27:41.70ID:Z7hJDN/t0 2点ほど訂正させてくれ。
カーニハン先生はC言語に大きな貢献をしてるけど、C言語の設計は
リッチーさんの仕事でカーニハンさんは手を出してないんだね。
だからこの場合「ご当人」と呼ぶのは正しくなかった。
「ビット演算子より比較演算子を優先するとは、デニスの野郎め
下手コキやがって」と思ってるんじゃないかと感じるわ。
…という具合に訂正。
もうひとつ。カーニハン先生は今の時点で健在らしい。
実は先の投稿の時点で亡くなってると勘違いしていた。
これもリッチーさんと混同したのが原因。
カーニハン先生はC言語に大きな貢献をしてるけど、C言語の設計は
リッチーさんの仕事でカーニハンさんは手を出してないんだね。
だからこの場合「ご当人」と呼ぶのは正しくなかった。
「ビット演算子より比較演算子を優先するとは、デニスの野郎め
下手コキやがって」と思ってるんじゃないかと感じるわ。
…という具合に訂正。
もうひとつ。カーニハン先生は今の時点で健在らしい。
実は先の投稿の時点で亡くなってると勘違いしていた。
これもリッチーさんと混同したのが原因。
>>342
extern はいらない子!じゃないのですか?extern の必要性はなんですか?
extern はいらない子!じゃないのですか?extern の必要性はなんですか?
360デフォルトの名無しさん (JP 0H95-o4xC)
2019/11/25(月) 20:03:51.13ID:EmSI22f6H >>355
構造体のポインタを渡すとして、仮引数はどう宣言するよ
構造体のポインタを渡すとして、仮引数はどう宣言するよ
361デフォルトの名無しさん (スッップ Sd33-xphW)
2019/11/25(月) 20:05:24.40ID:Nb9YSlRod■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【地震速報】青森県で震度6強 沿岸部に津波警報 ★6 [ぐれ★]
- 「日の丸にバツ印」掲げた大学生 あいまいな国旗損壊罪に「怖い」 The Mainichi [少考さん★]
- 【音楽】BARBEE BOYS・KONTAが事故で四肢麻痺を公表、新体制で活動は継続 [少考さん★]
- 【テレビ】25年ぶり復活「炎のチャレンジャー」南原清隆&菊池風磨がMC 懐かし「電流イライラ棒」も [湛然★]
- 中国「捜索レーダー起動は各国の通常の手法」 火器管制用か回答せず [蚤の市★]
- 【訃報】声優・西村知道さん死去 「SLAM DUNK」安西先生役 9月に体調不良のため一時休業 [少考さん★]
- 女って金とイケメンしか見てないよな
- 【閲覧注意】ちずちんな
- ぺこーら、地震で同僚が次々配信を止めるなか強行し続けるので悪目立ちするwww [268244553]
- 高市総理、睡眠時間30分😢
- フェリーの魅力を語ろう。
- 【仁藤悲報】Colaboさん、東京都の公金を月7万円の「整体治療費」に使っていたことが判明してしまう!!!! [535458756]
