X



C言語なら俺に聞け 142 [無断転載禁止]©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん 転載ダメ©2ch.net (ワッチョイ 8a6f-bDrV)
垢版 |
2017/08/10(木) 20:21:23.44ID:hEocmkh50
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/


http://mevius.2ch.net/test/read.cgi/tech/1500293207/
http://www.geocities.jp/c_cpp_cs/about_c/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
0977デフォルトの名無しさん (ワッチョイ 1387-jmG0)
垢版 |
2017/10/27(金) 08:36:39.71ID:JYNAFOfl0
たくさん値を返したいなら、
戻り値を型宣言した構造体にしたらいい。
0979デフォルトの名無しさん (ワッチョイ 1be7-DRuk)
垢版 |
2017/10/27(金) 09:42:57.69ID:Q7q08ysx0
>>977
autoでもできるのですか?
0980デフォルトの名無しさん (ササクッテロラ Sp9d-jmG0)
垢版 |
2017/10/27(金) 09:57:16.24ID:CUGbjFhkp
ああ、昔はauto変数に取った構造体を戻り値にして割り込み系で散々な目に遭ったよな。
あれは言語仕様に沿って無いコンパイラが悪いんだがな。
0982デフォルトの名無しさん (ササクッテロラ Sp9d-jmG0)
垢版 |
2017/10/27(金) 10:18:09.15ID:CUGbjFhkp
古くなくてもニッチな環境では要注意だ。
コンパイラの吐き出すコードが言語仕様に沿って無い場合がある。
0986デフォルトの名無しさん (ワッチョイ 1be7-DNJs)
垢版 |
2017/10/27(金) 18:41:59.37ID:BvMxy0d+0
C言語のポインタで
int *a;
int b;
a = 10;
これは理解できるんだけど
a = &b;
*a = 10;
これはどうなってるん?aにアドレス入ってるのにどうやって10を送ってるん?
0988片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd33-+nyC)
垢版 |
2017/10/27(金) 18:49:13.82ID:xRxq9X9wd
>>986
> int *a;
> int b;
> a = 10; //エラー。ポインタに整数は代入できない。そもそも全角文字と半角文字を間違っている。
> a = &b;
> *a = 10;
アスタリスク(*)で実体の整数データを手繰り寄せているイメージね。
0989デフォルトの名無しさん (ワッチョイ 1be7-DNJs)
垢版 |
2017/10/27(金) 18:55:00.02ID:BvMxy0d+0
>>988
*aで中にあるアドレスで探って送ってるイメージ?
0991デフォルトの名無しさん (ササクッテロラ Sp9d-jmG0)
垢版 |
2017/10/27(金) 19:14:00.54ID:CUGbjFhkp
宣言とフィールドで意味の違う*が悪い。
0994デフォルトの名無しさん (ササクッテロラ Sp9d-jmG0)
垢版 |
2017/10/27(金) 19:21:42.60ID:CUGbjFhkp
>>993
宣言ではポインタである事を表すが、
フィールドでは、掛け算記号だったり、ポインタの内容だったりするだろ?
0995デフォルトの名無しさん (ワッチョイ 1be7-DNJs)
垢版 |
2017/10/27(金) 19:56:47.39ID:BvMxy0d+0
char *c;
int *a;
この二つはポインタだけど使い方が違うのか?
0997デフォルトの名無しさん (マクド FF6d-mlZ6)
垢版 |
2017/10/27(金) 20:11:43.60ID:HlvRN0vUF
Cの文法特にポインタ宣言周辺は、
頭が悪いと読めないよう定められてる。

ソフトウェア開発は馬鹿でも手伝わせる
必要があるくらい人手不足なのに、
なんでこんな文法にしたのか不思議。
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 78日 1時間 0分 51秒
レス数が1000を超えています。これ以上書き込みはできません。