- 1 名前:デフォルトの名無しさん [2017/08/10(木) 20:21:23.44 ID:hEocmkh50.net]
- C言語の話題のみ取り扱います C++の話題はC++スレへ
質問には最低限の情報(ソース/コンパイラ/OS)を付ける 数行で収まらないソースは以下を適当に使ってURLを晒す https://paiza.io/ https://ideone.com/ codepad.org/ C11 www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf C99 www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf kikakurui.com/x3/X3010-2003-01.html C FAQ 日本語訳 www.kouno.jp/home/c_faq/ JPCERT C コーディングスタンダード https://www.jpcert.or.jp/sc-rules/ 前 mevius.2ch.net/test/read.cgi/tech/1500293207/ www.geocities.jp/c_cpp_cs/about_c/ VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
- 892 名前:デフォルトの名無しさん mailto:sage [2017/10/21(土) 20:20:57.18 ID:fkuXV6f/0.net]
- >>878
register関係は爺の昔話だから無視していい
- 893 名前:デフォルトの名無しさん [2017/10/21(土) 20:38:07.37 ID:LO7dvffl0.net]
- グローバル変数をregister指定できたり楽しかったなあ
- 894 名前:デフォルトの名無しさん [2017/10/21(土) 20:48:45.74 ID:S+Fuo4jD0.net]
- いや、指定しても実際効果あるか無いかってだけだからなぁ
- 895 名前:デフォルトの名無しさん mailto:sage [2017/10/21(土) 21:14:54.66 ID:sahtjmhqM.net]
- >>878
ネットのプログラミング自習動画見てみたら?
- 896 名前:デフォルトの名無しさん [2017/10/21(土) 23:00:30.68 ID:qfiVibk/0.net]
- 10年前にC言語覚えたなC#もないopenGL作る時も基礎が出来てない白紙から打ち込んでたから凄い大変だったのを思い出したわ
- 897 名前:デフォルトの名無しさん mailto:sage [2017/10/22(日) 05:28:16.50 ID:m20yJ7cw0.net]
- register宣言とアドレス演算子の話だけど、
Cではエラー、C++だとアドレスを取れる(register指定は無視される)、みたいね。 望洋さんのファックとWikipediaのC++に出てたわ。 …実は逆に覚えててね。 レジスタに割り当てた変数の変数のアドレスが欲しいってのは矛盾してるから、 C++は厳格にチェックするかと。
- 898 名前:名無しさん@そうだ選挙に行こう! Go to vote! [2017/10/22(日) 07:11:33.28 ID:dj2Vz85u0.net]
- >>884
俺もそう思う registerはprvalueであるべき
- 899 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2017/10/22(日) 11:32:38.17 ID:r2h/pPG10.net]
- レジスタってメモリ番地をもってるのか?
持ってない番外地なんじゃねえの?
- 900 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2017/10/22(日) 11:38:07.26 ID:rLWliBun0.net]
- >>886
そうだよ。そこは誰も疑問に思ってない。
- 901 名前:名無しさん@そうだ選挙に行こう! Go to vote! [2017/10/22(日) 12:31:48.51 ID:NaoIEEjs0.net]
- 世の中には、レジスタがメモリーの先頭と同じ位置にマッピングされてるCPUだってあるけどな。
- 902 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2017/10/22(日) 13:39:13.59 ID:f5TzHp7R0.net]
- 質問です。ポインタ変数を用いてキーボードから入力された5つの整数を配列xに保存し、その要素の列挙と合計値を求めるプログラムを作ったのですが、
#include <stdio.h> #include <stdlib.h> int main (void){ int *p,x[4],sum=0,i,j; p=&x[0]; for(i=0;i<=4;i++){ printf("%dつ目の整数を入力してください ",i+1); scanf("%d",p); sum=sum+*p; } for(j=0;j<=4;j++){ printf("%d ",*(p+j));} /*配列の要素を列挙*/ printf("\n和=%d",sum); /*配列の要素の和*/ return 0;} で、結果が 1つ目の整数を入力してください 1 2つ目の整数を入力してください 2 3つ目の整数を入力してください 3 4つ目の整数を入力してください 4 5つ目の整数を入力してください 5 5 4200864 6422368 4200955 6422288 和=15 となり、要素の列挙がうまくいかないので対策を教えていただきたいです。
- 903 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2017/10/22(日) 13:49:53.88 ID:rI45lLhS0.net]
- そりゃ最初に p に代入した同じ入れ物に入力値を保存してるからね。
++p とかしてみたら?
- 904 名前:名無しさん@そうだ選挙に行こう! Go to vote! [2017/10/22(日) 13:55:57.90 ID:pqhboyRRp.net]
- 素直に配列使え。
- 905 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2017/10/22(日) 14:15:34.40 ID:m20yJ7cw0.net]
- scanf() での値の格納先 (== sumに加える値の参照先) である p を
初期化時の &x[0] のまま進めてないから入力した値が上書きされるんだよ。 もちろん x[1], x[2], ... には値が入らない。 質問の趣旨と関係ない部分を指摘して混乱させるつもりはないんだけど、 配列 x[] の要素数が足りないのがオジさん気になるなぁ。
- 906 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2017/10/22(日) 15:12:18.96 ID:2+N8xzsVa.net]
- >>889
既に>>890-892が指摘済みだけど #include <stdio.h> #include <stdlib.h> int main (void){ int *p,x[5],sum=0,i,j; /* x[5] */ p = x; for(i = 0;i <= 4; i++, p++){ printf("%dつ目の整数を入力してください ",i+1); scanf("%d", p); sum += *p; } p = x; /* ポインタの参照位置を配列先頭へ */ for(j = 0; j <= 4; j++){ printf("x[%d]=%d, ", j, *(p+j) ); }/*配列の要素を列挙*/ printf("\n和=%d\n ",sum); /*配列の要素の和*/ return 0; }
- 907 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2017/10/22(日) 15:20:05.53 ID:f5TzHp7R0.net]
- 大学で勉強し始めたばかりなので全然で…
みなさんありがとうございました。
- 908 名前:名無しさん@そうだ選挙に行こう! Go to vote! [2017/10/22(日) 15:27:37.67 ID:NaoIEEjs0.net]
- まあ、なんでポインタに拘るのかわからんが、
つうか、書きと読みでアクセス方法は合わせた方がいいと思うが、 動きゃいいかw
- 909 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2017/10/22(日) 15:34:28.08 ID:rLWliBun0.net]
- 学習をし始めた頃は敢えてポインタを使っていろんな書き方を試してみるのもいいと思う。
数をこなすうちに自然とよい書き方に気づくと思う。
- 910 名前:名無しさん@そうだ選挙に行こう! Go to vote! [2017/10/22(日) 16:41:26.75 ID:iiKpFSsu0.net]
- 起動の度に外部ファイルで変数の初期値を変えて起動したいんだけどどうすんの?
- 911 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2017/10/22(日) 16:53:41.42 ID:utzmEkdP0.net]
- 外部ファイルを読んで変数に代入する
- 912 名前:名無しさん@そうだ選挙に行こう! Go to vote! [2017/10/22(日) 17:06:30.45 ID:iiKpFSsu0.net]
- 外部ファイルに変数名と初期値を書いておきたい
- 913 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2017/10/22(日) 17:11:49.57 ID:Qdw/5tAf0.net]
- 環境依存だし基本的に無理
バッチなりシェルスクリプトに記述しといてコマンドライン引数で渡す方が建設的
- 914 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2017/10/22(日) 18:05:00.75 ID:m20yJ7cw0.net]
- ソースに書いてない変数を実行時に導入したいってのとは違うんでないか?
あらかじめ外部ファイルで値を設定できる変数は決まっていて、 要するにリソースファイルみたいな使い方をしたいのかも知れん。 fscanf(fp, "%s=%d\n", varname, &varval); if (strcmp(varname, "width") == 0) { width = varval; } else if (strcmp(varname, "height") == 0) { height = varval; } else { fprintf(stderr, "cannot use variable '%s'\n", varname); } みたいな感じ? この場で書いてるから洗練されてないし、動くか怪しいけど。
- 915 名前:名無しさん@そうだ選挙に行こう! Go to vote! [2017/10/22(日) 18:08:18.57 ID:NaoIEEjs0.net]
- 人が読み書きしない前提なら、構造体の領域をまるまんま読み書きしてしまえば楽だぜ。
- 916 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2017/10/22(日) 18:09:51.31 ID:4HKeVMJe0.net]
- 動作時に殆ど変えない値ならファイルで良いかもしれないが
起動の都度値を変化させたいなら、コマンドラインの方が良いぞ
- 917 名前:901 mailto:sage [2017/10/22(日) 18:29:59.97 ID:m20yJ7cw0.net]
- >>901 で使った「リソースファイル」って言葉は曖昧だったね。
「設定ファイル」の方が通りがよかったかも。 皆さん文脈から分かってくれると思うけど、 VisualStudio なんかで別の意味で使う言葉だし。
- 918 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2017/10/22(日) 18:44:14.78 ID:IdeA6XVs0.net]
- 「鶏を割くに焉んぞ牛刀を用いん」とも言えるけど
json,yaml,toml
- 919 名前:なんかの読み込みライブラリ使うとか
Lua,Pythonを組み込むとかも一応回答としてはありかもね [] - [ここ壊れてます]
- 920 名前:デフォルトの名無しさん mailto:sage [2017/10/22(日) 20:27:33.99 ID:Cn2ZDyn4d.net]
- >>888
つーか全部レジスタの方面の話じゃね? 大分前の話だが、DSPでそういうのがあった
- 921 名前:デフォルトの名無しさん mailto:sage [2017/10/22(日) 20:32:16.01 ID:EROQgIiX0.net]
- >>906
ファミコンとかで使われていた6502のゼロページレジスタ がそうだよ MELPS7700とか名前を変えて長いこと使われた
- 922 名前:デフォルトの名無しさん [2017/10/22(日) 21:19:51.70 ID:bXoG3HvV0.net]
- メインフレームでDIAGNOSEを使うときなんか
WCSのアドレスを指定とかね
- 923 名前:デフォルトの名無しさん [2017/10/23(月) 01:07:16.21 ID:mBA7Qm4F0.net]
- スタック変数いらねえな
グローバル変数で性能追求しようぜ
- 924 名前:デフォルトの名無しさん mailto:sage [2017/10/23(月) 01:22:42.10 ID:gdiUlDLR0.net]
- 6502のゼロページが全部レジスタだと思い込んでるような記述がたまにあるけど
普通にメモリだよ
- 925 名前:デフォルトの名無しさん [2017/10/23(月) 01:37:37.69 ID:mBA7Qm4F0.net]
- オペランドを8bitに限定してコード効率上げるってのがゼロページの発想でしょ
メモリ素子が高価な時代の涙ぐましい仕組みのひとつ
- 926 名前:デフォルトの名無しさん mailto:sage [2017/10/23(月) 01:46:50.56 ID:EhEnOqp90.net]
- CPUの一時キャッシュメモリをレジスタ変数に割り当てる方が速いんじゃないか?
- 927 名前:デフォルトの名無しさん mailto:sage [2017/10/23(月) 05:14:49.57 ID:u4PJ0rqa0.net]
- >>911 アドレス値のフェッチが1byteだけで済むから
16bit(2byte)の絶対アドレスより速い、てメリットもあるしね。 >>912 これはアリかも。 CPUにデカいキャッシュが載る時代のゼロページ的な使い方だな。
- 928 名前:デフォルトの名無しさん [2017/10/23(月) 05:45:57.83 ID:iFI38Dlw0.net]
- %%%%1000%%%%
000-[HUM%58*73.1\%]/2I/3NM/61.3SNMK%?%3%51.22222222222221% 001-[[[%6/4$17.6135412α3]]]]+DOM+SIL+7% 002-UML7%[61.2[31.5[!%32∂LM17.36%!16.3!%<<<%!HSTOL7%!Q!S!=3m=<2TOL<3Q9A<2.1GHz%,DOK,HAOARA, 003-[[[HEMLOT47[<\41.2%Q,===>[MLS<DPNO<\2.3>#ESOLA!5%!3MLA!>LTOSA>7TONSA>%>%end
- 929 名前:デフォルトの名無しさん mailto:sage [2017/10/23(月) 17:06:19.86 ID:WoZMAj8B0.net]
- ルネサスRXなんかもレジスタがメモリマップされてるな
アクセス禁止領域だけど
- 930 名前:デフォルトの名無しさん mailto:sage [2017/10/23(月) 19:08:39.57 ID:Ob3tZ8JSM.net]
- SFRと汎用レジスタの区別が出来ない奴
- 931 名前:デフォルトの名無しさん [2017/10/23(月) 19:25:26.97 ID:nagTo3YF0.net]
- >>915
そこって、デバッガがCPUレジスタ参照する為の窓だから、プログラムがその領域指すと、デバッグが困難になるから禁止してるんじゃね?
- 932 名前:デフォルトの名無しさん [2017/10/23(月) 19:29:22.87 ID:nagTo3YF0.net]
- デバッガー専用の作業メモリー領域もプログラムから使用禁止だったりするだろ?
- 933 名前:デフォルトの名無しさん [2017/10/23(月) 19:30:14.37 ID:HemzWECS0.net]
- レクサスRXに見えた
- 934 名前:デフォルトの名無しさん mailto:sage [2017/10/23(月) 20:21:25.70 ID:WoZMAj8B0.net]
- >>917
その通りだと思うよ
- 935 名前:デフォルトの名無しさん mailto:sage [2017/10/23(月) 20:22:52.11 ID:WoZMAj8B0.net]
- >>916
sfrをアクセス禁止領域に置いてどーすんだよw
- 936 名前:デフォルトの名無しさん [2017/10/23(月) 20:30:23.77 ID:nagTo3YF0.net]
- >>921
アクセス禁止じゃねーよw 使用禁止だ。 デバッガー使わないなら好きに使えばいい。
- 937 名前:デフォルトの名無しさん [2017/10/23(月) 20:37:44.96 ID:nagTo3YF0.net]
- あ、レス間違えたわw
- 938 名前:デフォルトの名無しさん mailto:sage [2017/10/24(火) 03:02:06.36 ID:75BFZUbG0.net]
- int i=1,n
n=i/2*2 n=0になる理由教えてください
- 939 名前:デフォルトの名無しさん mailto:sage [2017/10/24(火) 03:50:48.19 ID:senjN+vb0.net]
- int型は小数が扱えないので0方向に丸められる
- 940 名前:デフォルトの名無しさん mailto:sage [2017/10/24(火) 05:57:30.66 ID:2rmlfNW20.net]
- >>924 https://ideone.com/HQ4Zos
- 941 名前:デフォルトの名無しさん mailto:sage [2017/10/24(火) 06:48:50.75 ID:kt50Dt6N0.net]
- 負の除算の丸め方は処理系依存
- 942 名前:デフォルトの名無しさん mailto:sage [2017/10/24(火) 07:33:37.46 ID:VjHIGh6G0.net]
- 左結合で i/2 の後に *2 が処理される
整数どおしの除算なので丸めが発生 丸めた値に 乗算が行われる
- 943 名前:デフォルトの名無しさん mailto:sage [2017/10/24(火) 07:45:07.35 ID:75BFZUbG0.net]
- おおおお!
なるほど!ありがとうございます!
- 944 名前:デフォルトの名無しさん mailto:sage [2017/10/24(火) 12:07:36.73 ID:SPAXueit0.net]
- int func(int) は、引数が int 型で、int 型の値を返す関数
int func(void) は、引数が無しで、int 型の値を返す関数 というのは分かったのですが int func() のように () の中が空の場合は、どうゆう意味になりますか? int func(void) と同じ?
- 945 名前:デフォルトの名無しさん [2017/10/24(火) 12:12:42.21 ID:b8RDVE7X6.net]
- https://i.imgur.com/DWw6T08.png
- 946 名前:デフォルトの名無しさん mailto:sage [2017/10/24(火) 12:24:20.33 ID:SPAXueit0.net]
- わかりました、ありがとうございます
- 947 名前:デフォルトの名無しさん mailto:sage [2017/10/24(火) 12:51:09.78 ID:k+hUXLmG0.net]
- >>931
包茎手術じゃなくて脱毛で良かったな
- 948 名前:デフォルトの名無しさん [2017/10/24(火) 13:44:26.08 ID:/a/Ldfbw0.net]
- DMAでも使うならともかく
レジスタをメモリ空間にマッピングする利点なんてないだろ
- 949 名前:デフォルトの名無しさん mailto:釣宣言 [2017/10/24(火) 13:58:10.44 ID:48RRVnNoM.net]
- PCI以降DMAでデータ転送なんてのは無い。
あるのはバースト転送モードだ。 当然、転送に必要なレジスタはメモリにマッピングされている。
- 950 名前:デフォルトの名無しさん [2017/10/24(火) 14:14:56.50 ID:gWGoT/ywp.net]
- >>934
むしろデメリットさえあるな。だからデバッガが使う以外は利用されてないだろ?
- 951 名前:デフォルトの名無しさん [2017/10/24(火) 14:24:36.56 ID:fybDUnFS0.net]
- ふふ、トヨ〇の要求。今は知らん。
- 952 名前:デフォルトの名無しさん [2017/10/24(火) 16:20:50.45 ID:b8RDVE7X6.net]
- まだやってたのかよレジスタ
- 953 名前:デフォルトの名無しさん [2017/10/24(火) 18:07:58.27 ID:gWGoT/ywp.net]
- 内部レジスタと外部レジスタは意味がまるっきり違うんだがなぁ
- 954 名前:デフォルトの名無しさん mailto:sage [2017/10/24(火) 18:48:56.59 ID:ffssQfLj0.net]
- >>939
二重帳簿やっているように聞こえる
- 955 名前:デフォルトの名無しさん mailto:sage [2017/10/25(水) 01:31:11.21 ID:a9TiLHl10.net]
- >>930
同じなんだけどコンパイル時の引数チェックをしなくなる。 int func(void) の関数に対して func(123) みたいにして呼ぶとコンパイルエラーだが int func() の関数に対して func(123) で呼び出す記述があってもエラーにならない。 なんでこうなっているのかというと、昔のCにはvoidがなくて引数なしの関数は int func() のように書くしか方法がなく、尚且つ昔のC言語は引数のチェックを していなかったため。つまり過去のC言語ソースをコンパイルできるようにする ためにこのような記述が残されている。今となっては余程の事がない限りこんな 書き方はしない方が良い。バグの元だ。
- 956 名前:デフォルトの名無しさん [2017/10/25(水) 15:47:29.67 ID:Ls3qnFv30.net]
- ヤフー知恵袋って色んな奴がC言語勉強してるやつがいるな、素人みたいな質問やら専門的な質問や大学の問題の質問やらのプログラミング質問が
- 957 名前:デフォルトの名無しさん [2017/10/25(水) 17:13:54.92 ID:3egWGIK90.net]
- >>941
へーへー
- 958 名前:デフォルトの名無しさん mailto:sage [2017/10/25(水) 18:14:39.48 ID:2J1yyAIT0.net]
- https://ideone.com/0GCZnF
がエラーになるのですが、 どうすればいいでしょうか?
- 959 名前:デフォルトの名無しさん mailto:sage [2017/10/25(水) 18:15:57.84 ID:16XMr+7o0.net]
- DDOS攻撃してサイト毎潰す
- 960 名前:デフォルトの名無しさん [2017/10/25(水) 18:20:37.33 ID:Ls3qnFv30.net]
- >>944
まず何のプログラミングか言わなきゃダメでしょうみんなプロだから挙動で読めちゃう人いるけどさ
- 961 名前:デフォルトの名無しさん [2017/10/25(水) 18:28:36.51 ID:Ho4Id2OA0.net]
- >>944
printfでNULL->valueをしてるから
- 962 名前:デフォルトの名無しさん mailto:sage [2017/10/25(水) 18:35:07.38 ID:2J1yyAIT0.net]
- >>946
>>947 hoge()でdata->valueに値をセットしたいです。 10を表示したいです。
- 963 名前:デフォルトの名無しさん mailto:sage [2017/10/25(水) 19:06:17.58 ID:N2zX2Cru0.net]
- void hoge(data_t **data, int value) {
*data = NULL; *data = malloc(sizeof(data_t)); if (data == NULL) return; (*data)->value = value; } 呼び出しを hoge(&data,10); これではどうか
- 964 名前:デフォルトの名無しさん mailto:sage [2017/10/25(水) 19:07:10.40 ID:N2zX2Cru0.net]
- if (*data == NULL) return;
ここ間違えた、訂正
- 965 名前:デフォルトの名無しさん mailto:sage [2017/10/25(水) 19:12:01.89 ID:2J1yyAIT0.net]
- >>949
ありがとうございます。 できました!超天才!
- 966 名前:デフォルトの名無しさん [2017/10/25(水) 19:16:50.46 ID:Ho4Id2OA0.net]
- そういうことか
全然分からんかった 引数に受け渡されたポインタ変数のコピーに新しく確保したメモリのアドレス入れても呼び出し元のポインタ変数はなんも変化しないのか
- 967 名前:デフォルトの名無しさん mailto:sage [2017/10/25(水) 19:21:03.77 ID:BohOgQqE0.net]
- 引数で int の変数を書き換えても 呼び出し元には伝わらない それの延長線
int を data_t* に読み替えれば同じ理屈よ
- 968 名前:デフォルトの名無しさん [2017/10/25(水) 20:39:40.86 ID:Ls3qnFv30.net]
- 俺の頭じゃあ理解できなかったわアロー関数は苦手だ、ここには天才がやっぱいるわ
- 969 名前:デフォルトの名無しさん mailto:sage [2017/10/25(水) 22:59:11.01 ID:SHE9E59e0.net]
- この程度でプロとか天才とかw レベル低っ
- 970 名前:デフォルトの名無しさん mailto:sage [2017/10/25(水) 23:31:22.55 ID:A9sEwxck0.net]
- 追い詰められてる時って、ちょっとしたことを見落としたりしがちだし。
そういうときにちょっとしたつまらない問題点を指摘してくれる人が神様に思えることはある。 本当に何でこれに気づかない?って問題に延々と気づかないことあるから。
- 971 名前:デフォルトの名無しさん mailto:sage [2017/10/26(木) 01:05:20.57 ID:WmOJzpQL0.net]
- 実務の世界だと、開発リーダーにとっては、この程度はさらさらと書いて欲しいと思うだろうな
この辺の考え方が理解できてないと、構造体を使ったリスト構造、木構造が作れないと思う
- 972 名前:デフォルトの名無しさん [2017/10/26(木) 01:22:11.08 ID:FPgm8C1h0.net]
- 急に語り出したぞ、おい
- 973 名前:デフォルトの名無しさん [2017/10/26(木) 03:22:11.49 ID:kwyo2eDl0.net]
- リスト構造、木構造という言葉がわからなかったのかな?
- 974 名前:デフォルトの名無しさん mailto:sage [2017/10/26(木) 03:35:02.17 ID:ByFyiJTd0.net]
- 分からなくてもググれば速攻定義出ますがな
- 975 名前:デフォルトの名無しさん mailto:sage [2017/10/26(木) 06:24:41.35 ID:8UQnYlEC0.net]
- >>944 からの流れだとすると、実務で使う人とは感じなかったな。
専門外の学生さんが単位を取るために四苦ハック、 進級できたら思い出しもしない、という立場からの質問だろうと。
- 976 名前:デフォルトの名無しさん [2017/10/26(木) 10:26:24.17 ID:Z8IKw2VS6.net]
- リスト構造木構造とか理系大学の情報系科目で誰でもやるがな
こんなところ見てる奴が知らんわけないだらアホ
- 977 名前:デフォルトの名無しさん [2017/10/26(木) 10:46:18.77 ID:DmfMCHFwp.net]
- リストもツリーも基本の構造は一緒だろ。
ただ、鎖ね繋がってる数が違うから、 扱いが違うだけでな。
- 978 名前:デフォルトの名無しさん mailto:sage [2017/10/26(木) 12:26:11.84 ID:nuX2FTeTa.net]
- 文系経済学部ですわ
- 979 名前:デフォルトの名無しさん mailto:sage [2017/10/26(木) 12:46:06.22 ID:oyaJ8gC3M.net]
- >>962
> こんなところ見てる奴が知らんわけないだらアホ >>952みたいな奴もいるのに何を言ってるんだよ w
- 980 名前:デフォルトの名無しさん [2017/10/26(木) 12:51:34.13 ID:jbwuNtau6.net]
- >>965
リスト構造とか知ってるからってポインタ受け渡しのトリックに気付くとは限らんだろ
- 981 名前:デフォルトの名無しさん mailto:sage [2017/10/26(木) 13:41:10.56 ID:VaLFaSbf0.net]
- 怪しくなったら戻り値で返せ
- 982 名前:デフォルトの名無しさん mailto:sage [2017/10/26(木) 14:50:55.37 ID:ujDNQjK/M.net]
- そういうときに限って二つ返したくなる
- 983 名前:デフォルトの名無しさん [2017/10/26(木) 18:29:14.01 ID:l+WAoJAx
]
- [ここ壊れてます]
- 984 名前:0.net mailto: 自分の知ってる関数解ってる宣言の仕方ならわかるけどさ解らない奴使ってたらもう変数が動いてるかわからんだろう
そうなったらもう謎でコードなんか読めないだろ? [] - [ここ壊れてます]
- 985 名前:デフォルトの名無しさん mailto:sage [2017/10/26(木) 18:40:00.02 ID:6866r+hk0.net]
- んなこたぁ、ない
- 986 名前:デフォルトの名無しさん mailto:sage [2017/10/26(木) 18:44:09.81 ID:AI1MxGuX0.net]
- 引数の書き戻し系は 渡すときに値を必要としてるのかどうかは仕様次第なので 少し気を使う
- 987 名前:デフォルトの名無しさん [2017/10/26(木) 20:03:01.42 ID:DmfMCHFwp.net]
- それより、そのアドレスはアクセス権のある場所を指してるんだよな?
- 988 名前:デフォルトの名無しさん mailto:sage [2017/10/26(木) 21:41:04.91 ID:oyaJ8gC3M.net]
- >>966
レベルの問題 > リスト構造とか知ってるからってポインタ受け渡しのトリックに気付くとは限らんだろ そんな奴がいないとは言わないがそう言う奴はごろごろいるとは思えないだろ
- 989 名前:デフォルトの名無しさん [2017/10/26(木) 21:42:34.03 ID:Fjma9sq90.net]
- とりまリスト構造なんて誰でもしってること
>>959のレスはイミフ
- 990 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 03:11:40.50 ID:QY+Fa/Ak0.net]
- >>966
これはトリック、か?
- 991 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 06:49:46.56 ID:VPed4ksO0.net]
- 「関数の引数に値渡ししかないから、
ポインタを渡すことで呼出側の変数の内容を関数側で変更する」 というのが他の言語と比較した場合、C特有のトリックと呼べるかも。 もちろん、Cの村では当然かつ基本のことだけど。
- 992 名前:デフォルトの名無しさん [2017/10/27(金) 08:36:39.71 ID:JYNAFOfl0.net]
- たくさん値を返したいなら、
戻り値を型宣言した構造体にしたらいい。
|

|