【C/C++】 int *n; *n = 5; printf("%d\n", *n);
1 :
公明党員(あかふく) :
2008/03/31(月) 13:21:38.37 ID:6MmktYZc0 BE:141505128-DIA(100004) ポイント特典
2 :
国会対策委員長(春暁) :2008/03/31(月) 13:22:06.93 ID:WpZmwYpy0
高卒って生きてて恥ずかしくないの?
Dはどうなった
4 :
学生さん(おたべ) :2008/03/31(月) 13:22:43.64 ID:zgEYXR9f0
5 :
韓国のNGO(しまむら) :2008/03/31(月) 13:23:07.76 ID:MtoYLVNy0
しぃぷらぷら
6 :
外務省報道官(プーアル茶) :2008/03/31(月) 13:23:41.33 ID:Y+9MKj240
int *n; *n = 5; printf("%d\n", *n); これって動くの?
7 :
国土交通省幹部(甘粛省) :2008/03/31(月) 13:23:48.38 ID:SOzFFQzhO
こんなスレには自称SEは来ない
8 :
プロ初先発(まりもっこり) :2008/03/31(月) 13:24:20.30 ID:bvdCwL5l0
初心者にでも分かりやすいお勧めの本を教えろ
9 :
現役高校生(チリ) :2008/03/31(月) 13:24:43.63 ID:Dzb8MVky0
11 :
車掌(たこやき) :2008/03/31(月) 13:24:51.43 ID:4Yz5cZRw0
明日からpろぐらまだ
561 名前: 名無しさん、君に決めた! [sage] 投稿日: 2008/03/17(月) 00:13:06 ID:??? ランダム理論に従うと、x通りの最善行動が考えられるなら選ぶ確率はそれぞれ1/x さらに、もし双方の選択の組み合わせ(最高36通り)についてそれぞれ勝率が求められるならもっと細かい計算が可能 例えば双方の考え得る選択が2つずつで組み合わせが4通りのとき 組み合わせをXx,Xy,Yx,Yy、それぞれの勝率をa,b,c,dとすると (d-b)/(a+d-b-c)の確率でXを選べば相手がどんな確率でxを選択しても勝率は変わらない計算になる 574 名前: 名無しさん、君に決めた! [sage] 投稿日: 2008/03/17(月) 01:20:08 ID:??? さらに言えるのは、行動選択と乱数を含めて試合内容は有限の組み合わせになるってこと 1ターンから最終ターンまでの両プレーヤーの選択についてすべての組み合わせを書き出すと、 両プレイヤーがどんな選択をしたかによって勝敗結果の確率が決定するから、 ここでランダム理論を使って読みを排除すれば、全ての3対3の相性関係を確率的に求められる 3対3の組み合わせもまた有限だから、3匹選択にランダム理論を使って構築同士の相性関係も確率的に求められる 構築同士の組み合わせも有限だから、構築選択にランダム理論を使えば、 どんな構築をどんな確率で使えば勝率がいくつになるかまで計算できるわけ これこそがポケモンの結論なんだけど、実際には1試合の完全シミュレートですら途方も無い話ではある 581 名前: 名無しさん、君に決めた! [sage] 投稿日: 2008/03/17(月) 01:57:28 ID:??? 構築相性を調べる過程も、役割理論を応用した崩しシミュレートを行えば 考えられる選択の幅が限られてくるので簡略化が可能 ただ、ランダム理論ではハイリスクハイリターンな行動と ローリスクローリターンな行動との違いが考慮されないのが問題だな 遺伝子牛が上位の構築に入ってくるようじゃ困る
13 :
ミツバチ(大酒) :2008/03/31(月) 13:25:48.49 ID:94CUns0i0
動くこともあるんじゃない?悪い意味で。
おいおい。 メモリを確保していないのに代入したら駄目だろうが。
>>10 5〜8番地に入ってる値が表示されそうなもんだけれどなー
vector便利すぎワロタ
17 :
こんごう艦長(もんじゃ) :2008/03/31(月) 13:27:13.74 ID:c4d1FLmw0
2ch読んでるだけでプログラミングの勉強が出来るようにしろよおめーら
18 :
道路族(甘粛省) :2008/03/31(月) 13:27:35.65 ID:O3zGNdFuO
\って改行だっけ もう覚えてねーよ
19 :
運び屋(まりもっこり) :2008/03/31(月) 13:27:39.76 ID:aPaLDmCU0
さて、今年も新入社員へのC言語教育が始まるわけだが
ごめん、勘違いしてた。
21 :
新宿のカリスマ(湖北省) :2008/03/31(月) 13:28:01.31 ID:5xr01VoJ0
ニ次元配列にアドレスを入れるような将棋みたいな処理でトリプルポインタぐらいになる処理は氏ね
22 :
国土交通省幹部(おいしい水) :2008/03/31(月) 13:28:15.43 ID:kw9tpKyN0
ポインタで挫折する人多いよな 俺ははじめから挫折したけど
23 :
外務省報道官(大酒) :2008/03/31(月) 13:28:46.47 ID:gx8zCFyM0 BE:532835036-2BP(3156)
>>1 これでも動くけど
ポインタ使う必要性が感じられない
>>6 「運が避ければ」落ちる。
運が悪いと、プログラムが完成してしばらく動かすと突然発生し、
printfを入れたりデバッガを使うと発生しなくなる謎のSegVや、
原因不明の値化けになる。
25 :
こんごう艦長(もんじゃ) :2008/03/31(月) 13:29:14.02 ID:c4d1FLmw0
てかポインタがいまだにどんなときに使う機能なんかわからん。
プログラミングは趣味にしとけ
>>15 int *n; n = 5; printf("%d\n", *n);
ならその可能性はあるけど、普通5からintでアクセスできないだろうな。
28 :
ミツバチ(大酒) :2008/03/31(月) 13:29:35.77 ID:94CUns0i0
どのくらいできれば、C/C++使えるって自称できるの? 俺はサンデープログラマーで、本を全く読まずにWebだけで1年勉強したんだけど。 なんか問題出して
29 :
ブートキャンプ中(はんぺん) :2008/03/31(月) 13:30:57.97 ID:FbeMYYL60
30 :
新宿のカリスマ(湖北省) :2008/03/31(月) 13:31:00.50 ID:5xr01VoJ0
10万行ぐらいのプログラム組めたら自称してもいいよ
31 :
○▲■(らっかせい) :2008/03/31(月) 13:31:01.33 ID:53wJVdmR0
大学時代以来つかわん
>6 #include <stdio.h> #include <stdlib.h> int *n; n = (int)malloc(sizeof(int)) *n = 5; printf("%d\n", *n);
33 :
外務省報道官(プーアル茶) :2008/03/31(月) 13:31:38.06 ID:Y+9MKj240
>>25 値わたしと参照わたしってのがあってね。
つまりそういうことなんだよ
34 :
運び屋(まりもっこり) :2008/03/31(月) 13:31:46.06 ID:aPaLDmCU0
>>28 ここ罪人Aがいます。
裁判で死刑が確定し、裁判官は明日から1週間以内に死刑囚の死刑
を執行することを執行官に命じました。
ただし条件として、執行日がいつであるか執行されるまで
Aにはわからないようにせよとの命令です。
また、死刑の執行は昼の12時に行われます。
最初の日を月曜日、最終日を日曜日とします。
死刑囚は考えます。
日曜日は明らかに死刑執行が不可能です。
なぜなら土曜日の12時を過ぎた時点で明日が執行日であることが分かってしまうからです。
よって日曜日は除かれます。
すると、土曜日が執行可能な最終日となるわけですが、土曜日の執行も不可能です。
金曜の12時を過ぎた時点で土曜が執行日であることが分かってしまいます。
よって土曜日も除かれます。
この調子でどんどん除いていくと、ついに死刑執行可能な日はなくなり、
死刑執行は不可能になります。
この結論を得て、死刑囚が喜んでいると、木曜の12時にいきなり死刑執行官が来て、
死刑を執行すると言いました。
死刑執行まで執行日がいつであるか、
死刑囚にわからないように死刑は執行できたのです。
死刑囚の推論のどこに間違えがあるのでしょうか?
>30 行数ではかる奴は素人
>>32 mallocしたらfreeしないといけないってばあちゃんが言ってた
38 :
こんごう艦長(もんじゃ) :2008/03/31(月) 13:33:07.47 ID:c4d1FLmw0
>36 ごめん、main()すらなかったわ
40 :
国会対策委員長(たこやき) :2008/03/31(月) 13:33:29.60 ID:DOgEyf9y0
C、C++自体はそう難しいもんでもないけど、周辺技術を覚えるのが難しい。
>>28 char* str1 = "Hello";
char str2 = "Hello";
の違いをどうぞ
42 :
運び屋(まりもっこり) :2008/03/31(月) 13:34:15.68 ID:aPaLDmCU0
sizeofって()で括る必要ないんだろ?
43 :
新宿のカリスマ(湖北省) :2008/03/31(月) 13:34:33.73 ID:5xr01VoJ0
c++0xってガベコレつくようになるの??
>>25 レスを参照するのに
アンカーを書くと楽でしょ
同じ
おまけにアンカーの先のレスに代入まで出来る
45 :
建設作業員(まりもっこり) :2008/03/31(月) 13:35:10.33 ID:taO+ayq20
>>9 一応目を通しておくけど分からなかったらお前の責任な
>>41 char str2 = "Hello";
がわからない。こんなことできるの?
charの配列じゃなくて?
47 :
女王蜂(石油) :2008/03/31(月) 13:35:53.45 ID:mh0t7+oMO
何でこのスレ立てようと思ったん?
NullPointerException
char str2[] = "Hello"; でしたサーセン・・・
50 :
建設作業員(まりもっこり) :2008/03/31(月) 13:36:42.79 ID:taO+ayq20
51 :
国際救助隊員(大酒) :2008/03/31(月) 13:36:57.98 ID:0yFgnit/0
何だこのスレというか記事は
int *n; n = 5; printf("%d\n", *n);
53 :
こんごう艦長(もんじゃ) :2008/03/31(月) 13:37:53.52 ID:c4d1FLmw0
>>44 実際どういう時に使ってるん?printfと繰り返し文とif文ぐらいしか知らない俺に適当に教えて
フフフフフフフフフフ
お前ら日本語使え
>>53 簡単な例だと、2つ以上の返却値を返す関数を作りたい場合
アドレスを引数に入れて、このアドレスに結果を代入しておいてね。という具合
57 :
ミツバチ(大酒) :2008/03/31(月) 13:40:00.48 ID:94CUns0i0
>>49 上はヌル終端文字列"Hello"を指すポインタ(って言えばいいんだろうか
書き換えちゃだめだし、const char *str1 = "Hello"; って俺はよく書いてる
下は配列 char str2[6] で、
str2[0] = 'H';
str2[1] = 'e';
str2[2] = 'l';
str2[3] = 'l';
str2[4] = 'o';
str2[5] = '\0';
で初期化。
58 :
社会保険庁職員(湖北省) :2008/03/31(月) 13:40:30.73 ID:oSm4DL4S0
そもそも int *n ←これっていいの?
59 :
脱北者(うどん) :2008/03/31(月) 13:40:42.15 ID:kY+9Z8OT0
関数のポインタとかいきなり出てきてポカーンってなった
62 :
国会対策委員長(たこやき) :2008/03/31(月) 13:41:17.61 ID:DOgEyf9y0
>>53 どでかい構造体やオブジェクトを関数に渡すとき。
文字処理やグラフィック処理で、多量のメモリを書き換える時。
63 :
ゴミ議員(甘粛省) :2008/03/31(月) 13:41:28.49 ID:JLkHlqC9O
ぬるぽ
64 :
恋に悩めるビジネスマン(あかふく) :2008/03/31(月) 13:42:04.77 ID:v5xeyZ2U0
int* a,b; とか宣言してはまるよな
65 :
痴漢被害者(石油) :2008/03/31(月) 13:42:19.94 ID:p5k38WhIO
JAVAしかやったことないんだがCのポインタってメソッド呼ぶようなものか?
66 :
運び屋(まりもっこり) :2008/03/31(月) 13:42:29.11 ID:aPaLDmCU0
Λ_Λ \\
( ・∀・) | | ガッ
と ) | |
Y /ノ 人
/ ) < >_Λ∩
_/し' //. V`Д´)/
(_フ彡 / ←
>>63
67 :
親日派(大酒) :2008/03/31(月) 13:42:49.55 ID:MvcYZPBEP
スレタイ見て突っ込みいれたくなってスレ開いたら 既にたくさん突っ込みが入ってたw
68 :
マヤ人(もんじゃ) :2008/03/31(月) 13:43:30.41 ID:bT6cGT1q0
>>53 色々な例はあるけど
構造体の構造体みたいなデータの内側だけいじりたいとき、
内側の構造体へのポインタを渡すといじってくれる関数にしたり
とか
それだけなら構造体を返す関数でもいいけど、
戻り値はエラー番号か何かにしとけば見やすくなる
とか
69 :
国家主席(たこやき) :2008/03/31(月) 13:43:50.19 ID:llxaZ6wN0
>>59 関数ならまだわかりやすい
ポインタのポインタで唖然となる
70 :
留年組(たこやき) :2008/03/31(月) 13:44:36.47 ID:d+fCfovr0
お前らナメック語を書くな
71 :
神様(たこやき) :2008/03/31(月) 13:44:58.25 ID:C9w0zcQL0
NullPointerExeption
72 :
外務省報道官(プーアル茶) :2008/03/31(月) 13:45:01.24 ID:Y+9MKj240
int* aとint *aってどっちが正解? プログラムの意味的に。
73 :
財務省幹部(湖北省) :2008/03/31(月) 13:45:05.59 ID:E9AieAJQ0
c++に移行したときポインタを使う機会が激減した
半年くらい前に自分で書いたソースが読めない
75 :
無双 ◆musouvu6yE :2008/03/31(月) 13:45:53.42 ID:QuhAD29/0 BE:203265942-PLT(12108)
goto hell;
>>28 classが予約語だと知っているレベル
------ 「自称:C++が使える」の壁 -----
重要な構文だけなら知っているレベル
STLを使えるレベル
簡単な設計実装できるレベル
構文をほぼ全て知っているレベル
Effective C++の内容を理解できるレベル
STLの中身をすらすら読めるレベル
コンパイラの挙動も含め上から下まで理解しているレベル
「良いプログラムとは何か」の答えを求め放浪するレベル
エクセレントな設計実装できるレベル
------ 「公称:C++が使える」の壁 -----
プログラミング中毒
プログラミング廃人
78 :
外務省報道官(大酒) :2008/03/31(月) 13:46:19.98 ID:gx8zCFyM0 BE:236815542-2BP(3156)
>>72 c++なら前者、cなら後者が標準じゃね?
えっと >34って金曜日以降一般化してるところが間違いだよね?
81 :
マヤ人(もんじゃ) :2008/03/31(月) 13:46:46.98 ID:bT6cGT1q0
>>72 int* a, b;
int *a, b ;
の意味が分かるようなら自ずとわかる
82 :
国土交通省幹部(淮河) :2008/03/31(月) 13:46:51.60 ID:qziLQ5y90
ポインタなつかしい 昔勉強したな・・・・
83 :
医療関係者(しうまい) :2008/03/31(月) 13:46:56.49 ID:9lFWIBp90
ポインタは人を惑わせるだけの糞。K&R10ページくらいで挫折した俺が言うのだから間違いない。
そんなことよりスペースでインデントする奴氏ね、tab使え馬鹿
85 :
韓国ネチズン(平湖) :2008/03/31(月) 13:47:41.11 ID:gjciDqvY0
86 :
無双 ◆musouvu6yE :2008/03/31(月) 13:47:59.69 ID:QuhAD29/0 BE:1143369959-PLT(12108)
>>84 ところでtabって標準ではtab4なの?tab8なの?
87 :
外務省報道官(プーアル茶) :2008/03/31(月) 13:48:00.76 ID:Y+9MKj240
tabのインデントでループ制御するおっぱいそん
88 :
国会対策委員長(たこやき) :2008/03/31(月) 13:48:22.24 ID:DOgEyf9y0
typedef int* LPINT; LPINT a;
90 :
韓国ネチズン(平湖) :2008/03/31(月) 13:49:14.20 ID:gjciDqvY0
91 :
御匙医師(あら) :2008/03/31(月) 13:49:45.28 ID:ZIyqnf/j0
>>53 可変長のデータを扱うときとか。あとDirectXでゲーム作ってるとイヤというほど出てくる。
先輩から引き継いだソースを読んでみた
int *****a;
int i[1000000];
ここで読むのをやめた
92 :
外務省報道官(プーアル茶) :2008/03/31(月) 13:49:58.15 ID:Y+9MKj240
構造体とクラスの違いがよくわからんけど、 ようするに変数宣言の型をまとめたものが構造体でクラスってのは 変数の宣言だけじゃなくて値までまとめて扱えるものって感じか?
93 :
ミツバチ(大酒) :2008/03/31(月) 13:50:03.47 ID:NExeJ0H80
ポインタも理解できないプログラマって何なの?
94 :
働き蜂(りんご) :2008/03/31(月) 13:50:33.78 ID:Q/4w550d0
ポインタって住所教えるからぶん殴ってきてってなもんだよね?
>>75 int型のポインタなのでint *ptrにする派
int* ptr1, ptr2ができないのは変だ派閥と
主流っぽいからみんなに合わせろ派閥がある。
intへのポインタ型なのでint* ptrにする派
ポインタも型だからこっちが論理的だと主張。
(int* ptr1, ptr2なんて書くな。可読性&メンテ性を考え「一行に一つ」だ!)
俺後者。
>>91 そこまで行くとギャグだな
プログラム設計が狂っとる
97 :
外務省報道官(大酒) :2008/03/31(月) 13:51:46.45 ID:gx8zCFyM0 BE:947261748-2BP(3156)
98 :
ミツバチ(大酒) :2008/03/31(月) 13:51:50.78 ID:94CUns0i0
if (0xe-0xe) printf("true\n"); else printf("false\n"); どっちが表示されるでしょう。って感じの問題、どっかで見た。
今から一から覚えるならC++とC#どっちがいい?
ポインタってメモリ上の特定の位置の データを参照してる、って認識なんだけどあってる? 使いどころは知らんけど。
101 :
韓国ネチズン(平湖) :2008/03/31(月) 13:53:26.77 ID:gjciDqvY0
102 :
働き蜂(春暁) :2008/03/31(月) 13:53:30.01 ID:e60j7KrX0
チンポインタ
103 :
ニューリッチガール(まりもっこり) :2008/03/31(月) 13:53:54.96 ID:32/+IXZh0
104 :
外務省報道官(大酒) :2008/03/31(月) 13:53:58.29 ID:gx8zCFyM0 BE:1065668966-2BP(3156)
この行がそれぞれどういう働きをしてるか教えろ #include <stdio.h> ←( #include <stdlib.h> ←( int *n; ←( n = (int)malloc(sizeof(int)) ←( *n = 5; ←( printf("%d\n", *n); ←(答えを表示?
106 :
外務省報道官(プーアル茶) :2008/03/31(月) 13:54:44.06 ID:Y+9MKj240
>>95 つまり
int型のポインタなのでint *ptrにする派は
wikiでいいじゃん派で
intへのポインタ型なのでint* ptrにする派は
wikiって略すな派
ということでおk?
107 :
国会対策委員長(たこやき) :2008/03/31(月) 13:54:44.78 ID:DOgEyf9y0
>>100 あってる。しかもCにはキャストっていうすっげーワザがあって、
それを利用すれば、あんなことやこんなことまでやりたい放題。もうウハウハ。
108 :
運び屋(まりもっこり) :2008/03/31(月) 13:54:53.37 ID:aPaLDmCU0
>>100 合ってる
使いどころの例として上の方のレスにもあるが
普通の代入は文章を引用して全部自分のレスに書く
ポインタはアンカー
>>103 VIP風に言うと
結局死刑執行されないじゃんwwww
あれ??死刑は執行されることは確定なんだから、いつ執行されるかわからなくね?www
111 :
医療審議会(まりもっこり) :2008/03/31(月) 13:55:34.91 ID:vIMgcg690
i=0; // 一回では代入されないかもしれない。 i=0;
112 :
亡命政府指導者(湖北省) :2008/03/31(月) 13:55:40.27 ID:PC3IRQts0
113 :
マヤ人(もんじゃ) :2008/03/31(月) 13:55:59.93 ID:bT6cGT1q0
>>1 そもそも、ポインタの変数名を「n」にする時点で
どしろうとw
114 :
外務省報道官(プーアル茶) :2008/03/31(月) 13:56:12.09 ID:Y+9MKj240
でもポインタミスるとWinだと不正な処理がどうこうってダイアログ出てうざいよね
117 :
新宿のカリスマ(湖北省) :2008/03/31(月) 13:56:48.32 ID:5xr01VoJ0
>>105 #include <stdio.h> ←(すたぢおさん来てください
#include <stdlib.h> ←(すたどりぶさん来てください
int *n; ←(空気嫁買って来たよー(^o^)ノ
n = (int)malloc(sizeof(int)) ←(空気嫁膨らませるよ!!
*n = 5; ←(空気嫁に5って書いてみた
printf("%d\n", *n); ←(みんなー俺の空気嫁紹介するよー(^o^)ノ
118 :
日本軍(ちゃんぽん) :2008/03/31(月) 13:57:48.45 ID:47ZdWo5y0
<body onKeyDown=K=event.keyCode><script>X=[Z=[B=A=12]];h=e=K=t=P=0;function Y() {C=[d=K-38];c=0;for(i=4;i--*K;K-13?c+=!Z[h+p+d]:c-=!Z[h+(C[i]=p*A-Math.round(p/ A)*145)])p=B[i];!t|c+4?c-4?0:h+=d:B=C;for(f=K=i=0;i<4;f+=Z[A+p])X[p=h+B[i++]]=1 if(e=!e){if(f|B){for(l=228;i--;)Z[h+B[i]]=k=1;for(B=[[-7,-20,6,17,-9,3,6][t=++t %7]-4,0,1,t-6?-A:-1];l--;h=5)if(l%A)l-=l%A*!Z[l];else for(P+=k++,j=l+=A;--j>A;) Z[j]=Z[j-A]}h+=A}for(i=S="";i<240;X[i]=Z[i]|=++i%A<2|i>228)i%A?0:S+="<br>",S+=X [i]?"■":"_";document.body.innerHTML=S+P;Z[5]||setTimeout(Y,99-P)}Y()</script> メモ帳に貼り付けてhtmlで保存。
119 :
運び屋(もんじゃ) :2008/03/31(月) 13:58:00.15 ID:WytjPRgW0
なんでプログラミングできる人ってかっこいいの?
他の人もありがとう もっと勉強するわー
20年近くCを触ってませんが、スレタイに笑って記念カキコ
>>57 次はこれ
環境はC
printf("%d\n", sizeof( int ) );
↑が4と表示されるとき
char str1[2][3];
char* str2;
printf("%d\n", sizeof( 'a' ) );
printf("%d\n", sizeof( "a" ) );
printf("%d\n", sizeof( str1 ) );
printf("%d\n", sizeof( str2 ) );
123 :
こんごう艦長(もんじゃ) :2008/03/31(月) 13:58:32.39 ID:c4d1FLmw0
>>56 >>62 >>68 なんとなくわかった。
でも俺の知識は番地指定してるという先から進んでいない気がする。
その番地が何をしてくれるかということが重要なのかな?
124 :
広報担当(大酒) :2008/03/31(月) 13:58:40.50 ID:gUUbOWdI0
>>100 ポインタは位置情報だけでそこにあるデータ自体とは無関係。
データを参照するにはポインタを手繰る必要がある。
125 :
韓国ネチズン(平湖) :2008/03/31(月) 13:58:50.56 ID:gjciDqvY0
126 :
外務省報道官(プーアル茶) :2008/03/31(月) 13:59:17.09 ID:Y+9MKj240
JAVAとかのオブジェクト指向言語勉強すると 最初からカタカナ横文字がばんばん出てくるよ
127 :
サヨ(春暁) :2008/03/31(月) 14:00:23.37 ID:3jskwUsJ0
>>117 このソースに足りないのは
空気嫁が膨らんだかどうかの確認作業
空気嫁のガス抜き
>>123 何をしてくれるかというよりも何をするかが重要。
プログラムを見やすくすることもできるし
メモリを節約することもできるし
129 :
側室(らっかせい) :2008/03/31(月) 14:00:42.78 ID:o/5K3/cN0
おまえらソフ開すら持ってないんだろ?w だせえwww
131 :
TVコメンテーター(しまむら) :2008/03/31(月) 14:02:12.90 ID:6Oh8aklA0
ポインタはアドレス指したり操作したりするものだしな まず最初に変数にアドレスを代入しないと使えなかった気がする
1種とオンラインなら持ってる。
ぬるぽガッスレ
テクネ(ネットワーク)受けようとしたら試験制度また変わるワロタw
135 :
運び屋(まりもっこり) :2008/03/31(月) 14:03:53.41 ID:aPaLDmCU0
>>123 その番地が何をしてくれるのか・・・
それを決めるのは君だm9(・∀・)ビシッ!!
136 :
サル(しまむら) :2008/03/31(月) 14:04:10.18 ID:XqFOinEy0
*n = 5; にすごい危険なにおいを感じる
137 :
御匙医師(もんじゃ) :2008/03/31(月) 14:04:18.47 ID:DcU/oPu60
俺の理解が間違ってる?とか思っちゃったよ。
138 :
IT企業戦士(しうまい) :2008/03/31(月) 14:04:34.90 ID:N/j9xjxs0
C言語マスターしてもコンソールアプリしか作れないからな Windowsアプリ作ろうとすると又ポインタ所じゃない壁が有る・・・
>>122 printf("%d\n", sizeof( 'a' ) ); // 4。これはCとC++では違うって聞いたことある
printf("%d\n", sizeof( "a" ) ); // 2?
printf("%d\n", sizeof( str1 ) ); // 6
printf("%d\n", sizeof( str2 ) ); // ポインタの大きさだよね。明記されてないから「分かんない」が正解?
140 :
マヤ人(もんじゃ) :2008/03/31(月) 14:07:19.82 ID:bT6cGT1q0
>>1 ソースの間違をはっきり書いておく
int m ;
int *n=&m ;
みたいにしておかないと駄目
>>125 サンクス
無印が一番難しそうなイメージだったんだが
無印勉強してみることにするよ
142 :
ミンク鯨(しうまい) :2008/03/31(月) 14:07:37.18 ID:oeBIrUpr0
やべえ プログラミングから2年離れたら参照がなんだか思い出せねえ
>>1 1行で恥ずかしいソース書けるんだから大したもんだよ
>>139 ポインタのサイズ書いてなかったwすまんかった
全部正解だよー
1行目あたりでひっかかってほしかったが++との区別してないやつがいるからさ
久々にプログラミング熱が高まってきたぜ
付き合ってくれてありがと
145 :
海女(たこやき) :2008/03/31(月) 14:09:22.57 ID:jjhTX2dn0
class my_lifeにfriend関数が2chしかありません。どうしたらいいですか。
>>72 職場なりのコーディング規約のうちの一つに入るべきものだな、標準はない
'*'は間接表現演算子という名前がついた演算子だから
+や-での四則演算と同様にどうスペースを入れようが言語側では知ったことではない
>>32 n = (int*)malloc(sizeof(int)) ;
148 :
奥女中(湖北省) :2008/03/31(月) 14:10:40.31 ID:fsa9Ep3H0
149 :
運び屋(まりもっこり) :2008/03/31(月) 14:10:43.13 ID:aPaLDmCU0
150 :
新宿のカリスマ(湖北省) :2008/03/31(月) 14:11:17.79 ID:5xr01VoJ0
our_lifeに派生させろ。そうすればsexメソッドやworkメソッドもついてくる。
151 :
無双 ◆musouvu6yE :2008/03/31(月) 14:11:36.32 ID:QuhAD29/0 BE:508164645-PLT(12108)
>>105 #include <stdio.h> ←(stdio.hに挿入しちゃうぜ!
#include <stdlib.h> ←(stdlib.hにも挿入しちゃうぜ!
int *n; ←(nをポインタにするぜ!
n = (int)malloc(sizeof(int)) ←(ポインタ使ってアクセスしちゃうぜ!
*n = 5; ←(nの中に5発発射するぜ!
printf("%d\n", *n); ←(5発出したわね!
152 :
財務省幹部(湖北省) :2008/03/31(月) 14:12:31.30 ID:E9AieAJQ0
154 :
外務省報道官(プーアル茶) :2008/03/31(月) 14:13:49.21 ID:Y+9MKj240
メソッドと関数って何が違うの? 俺の脳味噌がふるまわれそうです
156 :
無双 ◆musouvu6yE :2008/03/31(月) 14:14:40.67 ID:QuhAD29/0 BE:914696249-PLT(12108)
え?
157 :
免職職員(もんじゃ) :2008/03/31(月) 14:14:46.38 ID:9JiK1jCb0
>>6 nを初期化しない状態で
nのアドレスに5を書き込んでるので
例外エラーがでるはず
158 :
財務省幹部(湖北省) :2008/03/31(月) 14:14:56.59 ID:E9AieAJQ0
>>154 クラスのメンバ関数をメソッド
メンバ関数じゃないのを関数って呼ぶってだって聞いたことがある
159 :
外務省報道官(大酒) :2008/03/31(月) 14:15:11.97 ID:gx8zCFyM0 BE:296019252-2BP(3156)
>>151 ちがう上にポインタとか言っちゃってるし
>>144 こっちもありがとう。
文字列リテラルに対するsizeofはやったことなかったから分からなかったけど、
typeid("hoge").name() が char* じゃなくて char[] だったような記憶があったから、2って答えた。
合ってて良かった。
161 :
聖火ランナー(淮河) :2008/03/31(月) 14:16:37.92 ID:2LVWB0uN0
2chに、GPL関係のスレが少ないのは何で?
162 :
自民党公認候補(大酒) :2008/03/31(月) 14:17:07.47 ID:7fR4MD590
おまえら何も知らない初心者は何からやればいいのか教えろ
163 :
イスラエル軍(もんじゃ) :2008/03/31(月) 14:17:29.33 ID:XjcsRBEe0
正直、本を引っ張り出してこないとスレタイがおかしいことが理解できなかった
165 :
シーア派(長江) :2008/03/31(月) 14:17:53.48 ID:Wz76AwXu0
ここに書いてあることが全く分からんが IT企業のSE職に内定の決まりそうな俺がいる…
166 :
ネット右翼(湖北省) :2008/03/31(月) 14:18:04.55 ID:s4J9JZ/G0
char []str = "NULL-PO";
C言語プログラミング能力認定試験1級とかいうの取得したけど まったく役に立たなくてワロタ
168 :
あふぃプロガー(もんじゃ) :2008/03/31(月) 14:18:51.27 ID:QxsH56kq0
うおおおおおおおおお東京はれてきたぞおおおおおおおおおおおおおおおおおお
169 :
捕鯨船乗員(たこやき) :2008/03/31(月) 14:19:37.55 ID:kBcF8+ZW0
int *n,x=5; n=&x; printf("%d\n"*n); ???
170 :
免職職員(もんじゃ) :2008/03/31(月) 14:19:56.72 ID:9JiK1jCb0
ポインタ自体は奥なんか深くないだろ。 むしろ単純明快だろ。
>167 経済産業省のソフトウェア関連の資格もまったく意味ないから困る
173 :
米大統領候補(湖北省) :2008/03/31(月) 14:21:09.38 ID:vXGdzbbv0
ポインタとは知り合いの意味 アルカイダの知り合いの知り合いは鳩山法相 char **hatoyama, arkaida; if(**hatoyama == arkaida) return TRUE;
174 :
聖火ランナー(淮河) :2008/03/31(月) 14:21:13.01 ID:2LVWB0uN0
>n = (int)malloc(sizeof(int)) ←(ポインタ使ってアクセスしちゃうぜ! (int *) と、細かい所に
175 :
留年組(大酒) :2008/03/31(月) 14:21:17.01 ID:W1uE5Pmo0
VistaからはUnicode向けでコード書かなければいけないってホント? TCHARとか_T("あ")とかになるの?
ソフ開受けたけど 午前は暗記 午後は読解力の問題で文系有利すぎワラタ
177 :
免職職員(もんじゃ) :2008/03/31(月) 14:21:36.89 ID:9JiK1jCb0
178 :
サヨ(春暁) :2008/03/31(月) 14:21:45.16 ID:3jskwUsJ0
179 :
財務省幹部(湖北省) :2008/03/31(月) 14:22:25.04 ID:E9AieAJQ0
180 :
忍者(まりもっこり) :2008/03/31(月) 14:22:27.16 ID:fBqtfekA0 BE:471889692-2BP(1750)
Cで適当にプログラムつくって実行したら、急にパソコン重くなって、HD見たら残り50KBぐらいになっててワロタ コンパイラってこういうの気づいて警告してくれるもんだと思ってたけど、そこまでしてくれないんだね
181 :
聖火ランナー(淮河) :2008/03/31(月) 14:23:26.76 ID:2LVWB0uN0
>>180 そんなこと気づくコンパイラはおらんだろ
182 :
独女(石油) :2008/03/31(月) 14:23:54.94 ID:/XVFwH9DO
(^q^)
183 :
サヨ(春暁) :2008/03/31(月) 14:23:55.04 ID:3jskwUsJ0
>>180 基本的にCコンパイラはコンパイル時に文法的な誤りを指摘してくれるだけだよ。
(それを利用して文法レベルで誤りがあった場合に警告出やすいようにプログラムを書いたりする)
185 :
海女(たこやき) :2008/03/31(月) 14:25:10.47 ID:jjhTX2dn0
>>175 #undef _UNICODE
でなんとかなると思う。たぶん。いや知らんけど。
187 :
姫(もも) :2008/03/31(月) 14:25:45.76 ID:NSwq08dE0
こういう単純に見えるやつほど難しい。理解した気になってしまうから。 別にパッと見理解できなかったからって負け惜しみじゃねーぞチクショー
188 :
番組の途中ですが名無しです :2008/03/31(月) 14:25:47.44 ID:iwYOdZjn0
struct chara { char *name; void (*speak)(); }; void omaemona() { puts("omaemona"); } void gorua() { puts("goruaaa"); } struct chara mona, giko; mona.name = "mona"; mona.speak = omaemona; giko.name = "giko"; giko.speak = gorua;
189 :
運び屋(まりもっこり) :2008/03/31(月) 14:27:17.88 ID:aPaLDmCU0
>>180 ウィルスが作れないコンパイラとか言論封殺だろ
190 :
サヨ(春暁) :2008/03/31(月) 14:27:26.81 ID:3jskwUsJ0
>>186 プログラムを作ると言うのは情報を目的にあわせて処理するからあらゆる場面で使う
191 :
現役高校生(たこやき) :2008/03/31(月) 14:28:24.95 ID:AeD8p3Ze0
15年以上も前のことなんか忘れたわw
192 :
外務省報道官(大酒) :2008/03/31(月) 14:29:39.24 ID:gx8zCFyM0 BE:1065668494-2BP(3156)
Cの次に学習すべきなのって何?
194 :
財務省幹部(湖北省) :2008/03/31(月) 14:30:08.81 ID:E9AieAJQ0
char *str = "hoge"; ↑こういうのってやったらいけないって言われたんだけどなんでだめなの? このスレ見てるとやってるのを見てるから疑問に思ってきた
195 :
石油元売り(らっきょう) :2008/03/31(月) 14:30:14.18 ID:EYbtAfRG0
お前ら宇宙語喋ってんじゃねーよ
196 :
日銀総裁(きびだんご) :2008/03/31(月) 14:30:20.60 ID:Ezxsx+nY0
どれも参考書の6割辺りでダレてやる気でない
200 :
裁判員(淮河) :2008/03/31(月) 14:33:15.18 ID:2mMFmoVG0
やっと意味が分かった
201 :
公務員(大酒) :2008/03/31(月) 14:33:21.23 ID:gUUbOWdI0
>>194 リテラルは書き込み禁止な場所に配置される事があるから。
const char* = "hoge";
の方が行儀良い。
202 :
ミツバチ(もんじゃ) :2008/03/31(月) 14:33:32.07 ID:bT6cGT1q0
203 :
公明党員(もんじゃ) :2008/03/31(月) 14:33:46.44 ID:9JiK1jCb0
>>194 "hoge"がスタック内に確保されて、
その関数内で使ってるうちは構わないんだけど
うっかりstrをグローバルなポインタに渡してしまうと大変な事になる
204 :
ゲーマー(春暁) :2008/03/31(月) 14:33:49.89 ID:3jskwUsJ0
まぁアレだ、検索して自分で調べられない奴はエンジニアには向かないね
>>194 const char* = "hoge";
206 :
公務員(大酒) :2008/03/31(月) 14:34:31.15 ID:gUUbOWdI0
208 :
派遣会社員(たこやき) :2008/03/31(月) 14:35:37.67 ID:DOgEyf9y0
>>194 文字列「hoge」が書き込み不可のメモリ番地に配置される可能性があるから。
その例だと、strの内容を書き換えようとするとプログラムが落ちる可能性がある。
あえてやるなら
const char* str = "hoge";
char str[]="hoge";
とか
>>203 文字列定数をスタック内に確保するってどこのコンパイラだよ
>>194 別に問題ないよ。
strcpy( str, "hogehoge" );
ってやらなければ。
212 :
公明党員(もんじゃ) :2008/03/31(月) 14:36:25.82 ID:9JiK1jCb0
>>206 ポインタを文字列型と勘違いしてる奴がよくやる
215 :
公明党員(もんじゃ) :2008/03/31(月) 14:37:43.39 ID:9JiK1jCb0
>>210 constって宣言しないとスタックに押し込む奴はある
216 :
番組の途中ですが名無しです :2008/03/31(月) 14:37:47.57 ID:iwYOdZjn0
217 :
反米強硬派(大酒) :2008/03/31(月) 14:37:55.08 ID:W1uE5Pmo0
>>91 の意味がわからない。見たことがない。誰か解説してくれ。
>>204 教えてもらってないからわかりませーん
いやまだそこまでやってないんで
わからないからできません
(・・・・・・・・早く教えてくれないかなー)
こんなやつが周りにいたときの絶望といったら・・・
>>194 それじゃあ今後hogeの値を好き勝手変えられるだろ
文字列リテラルを好き勝手に変えられるって気持ち悪いだろ
だからconstつけろと
220 :
公務員(大酒) :2008/03/31(月) 14:39:02.05 ID:gUUbOWdI0
221 :
こんごう艦長(淮河) :2008/03/31(月) 14:40:06.62 ID:2LVWB0uN0
>>217 おい右を見ろ→ 下を見ろ↓
下を見ろ↓ ←左を見ろ
右を見ろ→ 下を見ろ↓
右を見ろ→ 下を見ろ↓
↓下を見ろ ←左を見ろ ↑上を見ろ ←左を見ろ
右を見ろ→ 下を見ろ↓
↑上を見ろ ←左を見ろ
↑上を見ろ ←左を見ろ
右を見ろ→ 下を見ろ↓
下を見ろ↓ ←左を見ろ
右を見ろ→ 下を見ろ↓
右を見ろ→ 下を見ろ↓
↓下を見ろ ←左を見ろ ↑上を見ろ ←左を見ろ
右を見ろ→ 下を見ろ↓
↑上を見ろ ←左を見ろ
右を見ろ→ ↑上を見ろ ←左を見ろ
222 :
旅行者(大酒) :2008/03/31(月) 14:40:25.10 ID:gx8zCFyM0 BE:355223243-2BP(3156)
そろそろ止めないと自分の無知っぷりを露呈してしまうぞ
223 :
家出少女(もんじゃ) :2008/03/31(月) 14:40:48.05 ID:bMMwSMrj0
動けばいいんだよ派の俺涙目なスレだな・・・
224 :
僧侶(鮒寿司) :2008/03/31(月) 14:41:18.04 ID:j9DpZ4cj0
int *****a;くらい普通にやるだろ
大学の授業でやったけど、もう忘れた。 aをAに直しなさい的なキャラクターコードの例題あった覚えあるけど、 sjisとかユニコードとか同じなん? 文字列操作とかスクリプト言語でやれってなら なんで文字列操作が基本例題としてあつかわれてんだろね。
227 :
ネット右翼(湖北省) :2008/03/31(月) 14:41:47.08 ID:E9AieAJQ0
性癖だと思ってたら書き込み禁止に書いちゃうって問題があったのね ありがとうございます
228 :
裁判員(湖北省) :2008/03/31(月) 14:41:49.89 ID:Q4Hv+NBX0
懐かしいな Cなんて大学の教養で習ったっきりだ もう書けない ポインタで思い出すのが、mallocで指定分の場所を予約して、*とか&とか云々… で、複数の返り血を出したい関数とかに使ってたっけか
229 :
治安部隊(もんじゃ) :2008/03/31(月) 14:41:58.61 ID:Bm7jQZyn0
230 :
IOC会長(石油) :2008/03/31(月) 14:42:15.45 ID:5P8n+mxvO
pop AX jmp AX 再入
231 :
大御所(大酒) :2008/03/31(月) 14:42:24.50 ID:L76DYXyW0
おまえら日本語喋ってくれ
232 :
反米強硬派(大酒) :2008/03/31(月) 14:43:03.13 ID:W1uE5Pmo0
>>221 よくわからんがすごいことになってるということはわかったw
233 :
新宿のカリスマ(なっとう) :2008/03/31(月) 14:43:06.53 ID:wNPSEQd60
mallocとnewってどっちが強いの??
書き換えたかったらcharの配列にするだろ ポインタだったら多くの環境で書き換え禁止に飛ばされちまうだろうに
newしたクラスていつ消えるの?
236 :
バクテリア(まりもっこり) :2008/03/31(月) 14:45:02.18 ID:aPaLDmCU0
char *res; int i; for( i=1; i < 1000; ++i ) { if( i % 25 == 0 ) res = "むしろイキロ"; else res = "氏ね"; printf(">>%d\n%s\n", i, res); }
ごめんね、ポインタ意味不明でごめんね
238 :
広報担当(ちゃんぽん) :2008/03/31(月) 14:45:49.72 ID:9NsPHFOc0
>>6 gccでやってみたがセグメンテーション違反動かなかった
>>27 それもアウト。そっちはコンパイル時に警告でた
>>228 複数の返り値には構造体ばっか使ってたな…
240 :
石油元売り大手(プーアル茶) :2008/03/31(月) 14:46:08.61 ID:KrEJYNvj0
bool a=false; int f0(){ return 0; } int f1(){ return 1; } int f2(){ return 2; } int (*functable[])(void)={ f0,f1,f2,NULL }; int main(){ if(a==false) printf("%d\n",f0()); else printf("%d\n",f1()); printf("\n functable[a] of return value=%d\n",(*functable[a])()); for(int i=0;i<=2;i++) printf("%d\n",(*functable[i])()); Sleep(10000); return 0; }
241 :
ゲーマー(淮河) :2008/03/31(月) 14:46:44.66 ID:2mMFmoVG0
OSが落ちそうなコード書いてくれ
242 :
ヒト(鮒寿司) :2008/03/31(月) 14:46:51.77 ID:j9DpZ4cj0
>>236 3のつく数字でアホになって、8の倍数で気持ちよくなるやつ作ってくれ。
>>236 省略可能だからと言って { } をつかわねーソースって大嫌い。
つか、なんだそのforの条件文は?
244 :
捕鯨船乗員(もんじゃ) :2008/03/31(月) 14:47:50.97 ID:Bm7jQZyn0
245 :
広報担当(ちゃんぽん) :2008/03/31(月) 14:48:29.20 ID:9NsPHFOc0
246 :
裁判員(湖北省) :2008/03/31(月) 14:48:54.36 ID:Q4Hv+NBX0
Visual Basicってどんな用途で使えるの?
249 :
育成枠入団(おたべ) :2008/03/31(月) 14:49:52.55 ID:zgEYXR9f0
>>238 int *nに元々入っていた値が
偶然どこかそのプログラムが以前に確保したメモリのアドレスだと動いてしまう。
そこに入っていた値は5に書き換えられちゃうけど。
250 :
ゲーマー(淮河) :2008/03/31(月) 14:49:57.32 ID:2mMFmoVG0
251 :
殉職隊員(もんじゃ) :2008/03/31(月) 14:50:23.93 ID:QxsH56kq0
C言語とか3ヶ月も使ってないと構文すら忘れてしまうから困る
#!/usr/bin/perl $|++; use threads; sub sleepy { my $i = 0; for ( ; ; ){ $i++; } } for (0..99) { threads->create(\&sleepy); print "$_$/"; } &sleepy;
253 :
広報担当(ちゃんぽん) :2008/03/31(月) 14:52:34.90 ID:9NsPHFOc0
>>250 #!/usr/bin/perl
system"poweroff";
linux専用だが
C(++)とActiveScriptとPerlとPHPとVBA混用しているとループ抜けのワードすら いちいちヘルプを当たらないと判らない
256 :
広報担当(長江) :2008/03/31(月) 14:54:16.47 ID:Wz76AwXu0
マジレスでお前ら職種なんだよ
257 :
石油元売り(たこやき) :2008/03/31(月) 14:54:36.95 ID:DOgEyf9y0
元エログラマ。
258 :
ゴミ議員(湖北省) :2008/03/31(月) 14:54:53.41 ID:E9AieAJQ0
自宅警備員
259 :
旅行者(大酒) :2008/03/31(月) 14:54:55.60 ID:gx8zCFyM0 BE:947260984-2BP(3156)
院生
261 :
先住民(しうまい) :2008/03/31(月) 14:55:04.85 ID:FELFPnrW0
コメントでも指摘されてんのに記事の訂正しないのなw
int *n;*n = 5;ってできたっけ。エラー出そうなんだけど。
263 :
忍者(淮河) :2008/03/31(月) 14:55:31.24 ID:2LVWB0uN0
昔、 if ( i=5 ) { ・・ ・ ってプログラムがあり、 仕様なのかバグなのかわからず、仕様書を探しまくったことがある。 可読性ゼロなソースは書くな。
264 :
奥女中(大酒) :2008/03/31(月) 14:55:53.83 ID:Q0ScgGZc0
265 :
運転士(湖北省) :2008/03/31(月) 14:56:23.81 ID:PgoXgjSP0
プログラミングってやった事ないんだけど初歩からObject-C覚えるのに ちょうどいい書籍紹介して 趣味でiPhoneアプリとか作ってみたい
266 :
正室(なっとう) :2008/03/31(月) 14:56:30.25 ID:wNPSEQd60
>>263 結局どっちだったの、まあミスだろうけど
267 :
女王蜂(淮河) :2008/03/31(月) 14:56:34.98 ID:YQneRs3w0
隣の奥さんにインサート権限がありません
268 :
免職職員(甘粛省) :2008/03/31(月) 14:56:35.97 ID:tEL93OHPi
whileが好きなんだけどforとどっちが良いの? ちなみに超初心者です
269 :
旅行者(大酒) :2008/03/31(月) 14:57:43.64 ID:gx8zCFyM0 BE:947261748-2BP(3156)
>>268 forのほうが式が短くなる
俺はfor派
270 :
広報担当(もんじゃ) :2008/03/31(月) 14:57:46.33 ID:bT6cGT1q0
警告レベルによって、警告エラーが出るはずだけど サイトの立場と内容を鑑みれば、 警告レベルを最大にして問題の無いソースを 公開するくらいのガイドラインを設けるべきだな
272 :
捕鯨船乗員(もんじゃ) :2008/03/31(月) 14:58:43.72 ID:Bm7jQZyn0
>>250 DWORD hoge;
HANDLE h = CreateFile("\\\\.\\PhysicalDrive0", GENERIC_WRITE|GENERIC_READ,
FILE_SHARE_READ|FILE_SHARE_WRITE,NULL, OPEN_EXISTING, 0, NULL);
WriteFile(h, &hoge, 512, &hoge, NULL);
CloseHandle(h);
>>242 #define NORMAL 0x00
#define AHO 0x01
#define KIMOTIII 0x02
/* 3の倍数または3のつく数字は戻り値にAHO
8の倍数の時は戻り値にKIMOTIII */
int isthreeeight(int l)
{
int i, l2, ret = 0;
if(!(l % 3)) {
ret += AHO;
} else {
l2 = l;
while(l2 > 0) {
if((l2 % 10) == 3) {
ret += AHO;
break;
}
l2 /= 10;
}
}
if(!(l % 8)) {
ret += KIMOTIII;
}
return ret;
}
274 :
広報担当(ちゃんぽん) :2008/03/31(月) 14:59:02.82 ID:9NsPHFOc0
>>268 whileは計算可能な問題の幅が広がるが停止性問題が発生する
forは停止性問題が無いが、計算可能な幅が狭い
275 :
国家主席(プーアル茶) :2008/03/31(月) 14:59:09.43 ID:AXeSnQNG0
>>268 明示的に無限ループするときはwhile使う>while(1)
あと文字列とかの終端チェックとかにも使う
それ以外は基本for派です
276 :
石油元売り(たこやき) :2008/03/31(月) 14:59:56.93 ID:DOgEyf9y0
>>268 用途による。スッキリかける方で書いた方がいい。for文の方がスッキリ書けることが多い。
無限ループはwhile(1)よりもfor(;;)の方が条件判定がない分早い。でも多分コンパイラで最適化されるから関係ない。
でも一応for(;;)と書いておいたほうがかっこいい。
277 :
広報担当(ちゃんぽん) :2008/03/31(月) 15:00:10.75 ID:9NsPHFOc0
なぁ3時のおやつにモンブランプリン食べようと思うんだがどうだろう?
278 :
捕鯨船乗員(もんじゃ) :2008/03/31(月) 15:00:42.43 ID:Bm7jQZyn0
俺はgotoを使う
俺do‐while()派
280 :
聖火ランナー(たこやき) :2008/03/31(月) 15:01:11.65 ID:n0qsjCmb0
IDENTIFICATION DIVISION. CONFIGURATION SECTION.
281 :
社会保険庁職員(湖北省) :2008/03/31(月) 15:01:29.44 ID:5xr01VoJ0
コボラーきたああああ
実用性は別としてC#の構文は美しくね?
なんだよ、この頭の痛くなってくるスレ
285 :
免職職員(甘粛省) :2008/03/31(月) 15:02:25.25 ID:tEL93OHPi
予想以上に沢山返答が forのほうが見やすいけどどっちも使えたほうがいいってことね ありがとう
>>277 俺はニューヨークチーズケーキを食べようと思う
287 :
タカラジェンヌ(たこやき) :2008/03/31(月) 15:03:03.75 ID:FSt4YgUb0
288 :
忍者(淮河) :2008/03/31(月) 15:04:28.07 ID:2LVWB0uN0
>>266 もちろんバグだった。
書いた奴が、他の箇所でも同じような事してた。
そっちは仕様どおりだったので正しかったのだが、書きなおさせた。
289 :
正室(しうまい) :2008/03/31(月) 15:04:47.41 ID:WIh1cKiQ0
try{ char *p=null; if (*p==' ') { } } catch { printf("正常に終了しますた! \r\n"); }
290 :
殉職隊員(もんじゃ) :2008/03/31(月) 15:05:00.48 ID:QxsH56kq0
おまえらそんなに詳しいのになんでこんな時間に2chやってんの?
291 :
プロ初先発(らっかせい) :2008/03/31(月) 15:05:03.19 ID:MJom/5KT0
292 :
非政府組織(淮河) :2008/03/31(月) 15:05:18.17 ID:ZDaiZNwV0
fortlanは一応使えるが Cはポインタの概念が全然わからなくてあきらめた
293 :
ゴミ議員(湖北省) :2008/03/31(月) 15:05:21.04 ID:E9AieAJQ0
295 :
捕鯨船乗員(もんじゃ) :2008/03/31(月) 15:06:02.49 ID:Bm7jQZyn0
>>284 whileとswitch,ifとかでゴチャゴチャしちゃうくらいなら
goto使ってすっきりしちゃう派。
296 :
親日派(もみじ饅頭) :2008/03/31(月) 15:06:19.19 ID:YQ2yEBzQ0
あ、iいらんかった。
普通ifやwhereの条件式に代入文が入ってたらコンパイル時にワーニングでるだろ・・・ どんな現場だよ・・・
298 :
忍者(淮河) :2008/03/31(月) 15:07:18.53 ID:2LVWB0uN0
#define LOOP while(1) とか、 あんまり意味のないdefine ってのもあるよな。 一応、念のために検索せにゃならんのだから、 普通に書けよと言いたい。
299 :
正室(なっとう) :2008/03/31(月) 15:07:38.81 ID:wNPSEQd60
変数名のセンスが全くない俺はどうすればいいのか
>>295 エラー処理にはgoto使うのって割とあるよね。
301 :
広報担当(ちゃんぽん) :2008/03/31(月) 15:07:52.56 ID:9NsPHFOc0
/ニYニヽ (ヽ /( ゚ )( ゚ )ヽ /) (((i ) /::::⌒`´⌒::::\ ( i))) でっていうwww /∠_| ,-)___(-,|_ゝ \ ( ___、 |-┬-| ,__ ) | `ー'´ /´ | /
皆頭良いのね
304 :
脱北者(春暁) :2008/03/31(月) 15:11:29.83 ID:3jskwUsJ0
>>303 たぶんみんな頭で覚えたってより、体で覚えてった部分も多いと思うよ。
C系統の言語は入門書と実機の往復とか、他人のコード見て覚えてくもんだと思う。
308 :
外務省報道官(春暁) :2008/03/31(月) 15:14:52.40 ID:O9v/wfIe0
昔、職場に裏でカーニハンって呼ばれてた奴が居た あだ名通り、何食わぬ顔で他人の成果を盗む奴だった。
309 :
国家主席(もんじゃ) :2008/03/31(月) 15:14:52.79 ID:9JiK1jCb0
>>297 PCのコンパイラは賢いからWarning出すけど
組み込み系だと色々あるからなぁ
どういうニュースなんだよw
>>301 それよく引き合いに出されるけど、結局、交渉能力がない人の
言い訳だと思う。誰だって顧客に必要なものを、「顧客側からの
説明」と、「顧客がやろうとしている業務、目的」で正論でやりた
いと思うもの。それが引き出せない要因を、色んな役職の名前
で誤魔化すけど、結局、プログラムを請けてる人間からの視点
なんだから、それってただの誤魔化し、言い訳でしかないんじゃ
ないのかと。
ちなみに、IT業界ってみんなそうやって人に責任なすりつけて
誤魔化す人がすごく多い。残念ながら。
311 :
正室(しうまい) :2008/03/31(月) 15:20:38.26 ID:WIh1cKiQ0
>>309 だよね。
特殊なヤツだとコンパイラもリンカも自作(隣の課で作ってる)ってこともあるよ。
NTTオリジナルのAP32プロセッサとかね。
コンパイラのバグはコーディング現場で回避なw
ハードも同じ部署で作ってると、ハードのバグもコーディング現場で回避。
たまらんぜw
313 :
国家主席(もんじゃ) :2008/03/31(月) 15:23:22.81 ID:9JiK1jCb0
>>311 >コンパイラもリンカも自作(隣の課で作ってる)
ブルジョアめ・・・
314 :
広報担当(もんじゃ) :2008/03/31(月) 15:24:49.12 ID:bT6cGT1q0
>>311 昔、移植するのに、癖が強過ぎて
ソースの移植は大変なため
コンパイラの方を移植したというのが有る
>>311 >ハードのバグもコーディング現場で回避
ハード屋め...
>>316 エロゲ屋の旧カクテルソフトがやってたな
318 :
海女(春暁) :2008/03/31(月) 15:29:13.89 ID:WBP2kbux0
>>311 マスク出来上がった後に発覚したファームのバグを
ハードで回避ってのもよくあるんだが
319 :
国家主席(もんじゃ) :2008/03/31(月) 15:29:48.92 ID:9JiK1jCb0
>>317 ・・・
PGも、エロゲ屋入ってまさかコンパイラ作ることになるとは思いもしなかったろうな。
321 :
番組の途中ですが名無しです :2008/03/31(月) 15:33:10.74 ID:iwYOdZjn0
>>268 にforを使わせようとしてる奴ら、whileの方が美しいだろう
ループのプリミティブなのがwhileであって、forなんて糖衣構文に過ぎない ( ・?ω・ ?)
322 :
ガードレール(きびだんご) :2008/03/31(月) 15:36:16.03 ID:JM+Ucl6R0
次の配列を選択ソートによって昇順に整列するとき、3回目のスキャン後の配列はどちらか。 ただし、整列は左側から行うものとする。 整列前の配列:10 8 52 17 3 31 ア 3 8 10 52 17 31 イ 3 8 10 17 52 31
エロ画像をメールに添付して送るのが値渡し URLを書いて送るのがポインタ渡し。 半角スレのURLを書いて送るのがポインタのポインタ。
324 :
非政府組織(しうまい) :2008/03/31(月) 15:36:48.09 ID:N/j9xjxs0
char *p CString option; option += "ffmpegw.exe -y -i "; p = new char[option.GetLength()+1]; strcpy( p, option ); HANDLE h_Thread; h_Thread = (HANDLE)_beginthreadex(NULL, 0, execute, (void*)p, 0, NULL); CloseHandle(h_Thread); で unsigned __stdcall execute() 関数を開始すると渡したpが不定になってるんだけど何で?
325 :
捕鯨船乗員(もんじゃ) :2008/03/31(月) 15:36:58.41 ID:Bm7jQZyn0
>>321 そうそう。forは美しくないし直感的でないしCの構文の中では異端的な見た目
326 :
広報担当(もんじゃ) :2008/03/31(月) 15:40:39.94 ID:bT6cGT1q0
>>321 俺も基本的には whileが好きなんだけど
forはforで、初期処理、終了条件、毎回すべきことが
コンパイラにも読者にも一目瞭然というメリットがある
それらをwhileで書くと、コメントで書かないと
わかりづらいかなあ、と思ったり
でもまあ、やっぱ文脈によるかな
327 :
捕鯨船乗員(もんじゃ) :2008/03/31(月) 15:40:45.01 ID:JWBM2b7o0
sub うんこ() dim intUnko as integer intUnko = 5 msgbox intUnko end sub
>>324 スレッドが終わるのを待機せずに関数抜けちゃってるからでは?
それはワシのボインダ><
330 :
脱北者(春暁) :2008/03/31(月) 15:55:37.84 ID:3jskwUsJ0
>>327 うんこ()
↑
これでいけるのか?
unko()じゃないの?
>>324 CloseHandle(h_Thread);でスレッド破棄してるから、スレッドのメモリブロックが
解放されてるんじゃないか?
332 :
新型万能細胞(しまむら) :2008/03/31(月) 16:02:42.92 ID:CqrSy+G40
2年前にポインタで挫折したけど、このスレ見てまた1から勉強し直すことにしたよ
334 :
無職(あら) :2008/03/31(月) 16:04:05.69 ID:Oll79k9b0
>>330 VBならできるんじゃなかったかな
やらないけど
>>332 このスレのどこにそんなきっかけになることが書いてあるんだよw
>>330 VB、VBAならできる。普通のプログラムにはあまり使わない。
OfficeのVBAなら、VB知らない人でも、マクロが組んであれば、
直接関数名を指定して実行できる機能がある。だから日本語の
関数名を付けると、素人でもプログラムを呼びやすいってことで
使われることがあるよ。
>>332 ポインタは、Cという言語から見るとわかりにくい。
プログラムが実行されるとき、おぼろげでも、どんな
風にメモリが使われるのかをCPUの本とかで読むと
イメージがつかめるようになってくるよ。
338 :
プロ初先発(らっかせい) :2008/03/31(月) 16:11:14.24 ID:MJom/5KT0
>>336 変数名とかも日本語の方が分かりやすいしな
339 :
国家主席(プーアル茶) :2008/03/31(月) 16:11:17.36 ID:AXeSnQNG0
>>332 アセンブリどれでもいいからかじってからにしたほうがいい
あとCは変態的構文だけどいつのまにか
Cの構文じゃないと満足できなくなるから注意な
日本語関数、変数名はやめてほしいな。 VBのやつを外注にだしたら日本語でソース来たぜ。 わかりにくいわ。 俺が修正するときに手間かかる。
341 :
神様(大酒) :2008/03/31(月) 16:14:45.67 ID:0yFgnit/0
俺プログラマーじゃないけど、 日本語のフォルダ名やファイル名も見ると怖くて泣きそうになる
日本語C
343 :
非政府組織(しうまい) :2008/03/31(月) 16:15:04.47 ID:N/j9xjxs0
>>328 GUIが応答無しになるのを避けたいから待ちたく無いんだよね・・
>>331 HANDLE h_Thread; をグローバル変数にして CDialog::OnDestroy(); とかで閉じるのはアリ?
344 :
多細胞生物(湖北省) :2008/03/31(月) 16:17:43.47 ID:GuK0ijkR0
>>311 ハードは直すの面倒だからな。
回路にノイズが乗ってポートが入ってくる信号が駄目駄目ってよくある。
てか、何時もだったなw
MeasureD.D経過時間 = MeasureStartRec.S試験時間 - TimeStr たとえばこんな風に書かれてるんだけどまじ泣くよ俺。 全部こんな感じだし。
346 :
脱北者(春暁) :2008/03/31(月) 16:18:22.98 ID:3jskwUsJ0
347 :
脱北者(春暁) :2008/03/31(月) 16:19:39.21 ID:3jskwUsJ0
348 :
ミスター・サタン :2008/03/31(月) 16:20:59.11 ID:cAFXEMfX0
「やさしいC」って本、他人に見られたらちょっと恥ずかしいよね
>>343 うまく通じてなかったようだから、言い方をかえるよ。
スレッド内で pを参照するのを待たずに、呼び出し元関数が抜けてしまってるから
おかしいんでは?
(呼び出し元関数が抜けた時点でpは破壊されてる)
execute内でpにアクセスするのを待ってもいいし、てっとりばやいのは
pをグローバル変数にしてしまうこと。
350 :
プロ初先発(らっかせい) :2008/03/31(月) 16:21:05.45 ID:MJom/5KT0
>>341 さすがにフォルダ名やファイル名まで英語使ってる馬鹿はいないだろw
351 :
広報担当(ちゃんぽん) :2008/03/31(月) 16:22:38.36 ID:9NsPHFOc0
352 :
こんごう乗組員(おにぎり) :2008/03/31(月) 16:26:27.28 ID:ROLehOfH0
char yamucha[][], gokuu[][][][][]; yamucha = gokuu; コンパイルエラー yamuchaとgokuuは次元が違います
353 :
社会保険庁職員(湖北省) :2008/03/31(月) 16:35:44.40 ID:lqkQTNZ30
354 :
日本代表(あら) :2008/03/31(月) 16:41:49.52 ID:nLMSgqt90
ポインタって要するにメモリのアドレス指定だろ。
>>342 ハーモニーだっけ? そんな名前の日本語Cがあったような気がする
LSI-C試食版全盛の頃
356 :
こんごう乗組員(湖北省) :2008/03/31(月) 16:43:11.70 ID:xYtW2qVQ0
>>340 プログラムってよく分からんのだけど
日本語の関数名や変数名って何で分かりにくいの?
日本人には分かりやすいと思うんだがなあ。
慣れの問題?
>>354 YES。それでもポインタが判りにくいのは、Cで常用される表現が、
それぞれのデータの先頭アドレス、というだけでなく、先頭アドレス
からどのあたりまでをデータとして扱うか、どう情報がプログラム
から読みにくいことが、まず初心者がとっつきにくい原因なんじゃ
ないかと思う。
358 :
恋人と電話中(はんぺん) :2008/03/31(月) 16:44:00.52 ID:i2FEReLw0
C++の勉強してるとき参照って何だよ 余計な機能つけなくてもC形式のポインタ参照で何でもできるぜヘイヘイ と思ってたが初めて演算子のオーバーロード見たとき 目から鱗 参照なかったら涙目
359 :
広報担当(ちゃんぽん) :2008/03/31(月) 16:44:27.11 ID:9NsPHFOc0
>>1 のソース見たらまじで書いてあった
mallocつかえよ('A`)
360 :
政府高官(しか) :2008/03/31(月) 16:45:28.03 ID:HORrEkca0
COBAL最強伝説
ID:94CUns0i0が、やさしくCを教えてくれるスレ
362 :
捕鯨船船長(まりもっこり) :2008/03/31(月) 16:47:49.28 ID:bfFC3uFV0
D:\tmp>type foo.c ちゃんと動作したよ(・∀・) D:\tmp>type foo.c int main(void) { int *n; *n = 5; printf("%d\n", *n); } D:\tmp>cl foo.c Microsoft(R) 32-bit C/C++ Optimizing Compiler Version 14.00.50727.762 for 80x86 Copyright (C) Microsoft Corporation. All rights reserved. foo.c Microsoft (R) Incremental Linker Version 8.00.50727.762 Copyright (C) Microsoft Corporation. All rights reserved. /out:foo.exe foo.obj D:\tmp>foo.exe 5 D:\tmp>
363 :
恋人と電話中(はんぺん) :2008/03/31(月) 16:48:00.50 ID:i2FEReLw0
×オーバーロード ○オーバーライド また間違えた
ポインタ難しすぎ
365 :
番組の途中ですが名無しです :2008/03/31(月) 16:51:32.77 ID:iwYOdZjn0
ポインタが難しい? そこでHaskelですよ。 完全参照透明性で、ポインタや参照なんか理解不要。 参照は全て透明で、ポインタ・参照がらみのバグなんて一切発生しない。
367 :
中国軍の兵士(ぎょうざ) :2008/03/31(月) 16:57:41.07 ID:elwm1k1a0
368 :
ブートキャンプ中(プーアル茶) :2008/03/31(月) 16:58:08.68 ID:f2A2tws20
char *s while(1){ s = (char*)malloc(10000) }
初心者にK&Rを薦めてみる。 なんで大学の授業であんなもん薦められたんだろう・・・
370 :
国家主席(プーアル茶) :2008/03/31(月) 16:59:15.58 ID:AXeSnQNG0
>>367 俺もお世話になった
読み込みすぎてボロボロになっちまったよ
371 :
政府高官(湖北省) :2008/03/31(月) 17:04:31.38 ID:Z9uT54We0
道具について語り合うのはその辺にして さっさと仕事しろ土方共
372 :
TBS工作員(はんぺん) :2008/03/31(月) 17:12:45.05 ID:zNx+9R1o0
もはやドカタの休憩スレになってんじゃねーかここ おめーら給料貰ってる自覚あるのか?あ? 体壊さないように気をつけてね 休憩も大事だよ
373 :
非政府組織(しうまい) :2008/03/31(月) 17:14:00.28 ID:N/j9xjxs0
>>349 トン それでやってみる。
スレッドも難し過ぎだろw 何か解らないけど動いてる感が更に不安。何か良い解説とか無い?
>>1 でεπιστημηさんまでツッコミいれててワラタ
お前ら日本語で喋れよ
376 :
ヒト(りんご) :2008/03/31(月) 17:20:19.08 ID:Q/4w550d0
Doc&Viewを理解したのはエピステーメーさんの記事がきっかけだった。
377 :
国境なき記者団代表(もんじゃ) :2008/03/31(月) 17:21:12.55 ID:CcHv1JGr0
C言語でWAVEプレイヤー作りたい
378 :
美人秘書(わんこそば) :2008/03/31(月) 17:22:03.73 ID:wawuY0R00
379 :
新社会人(プーアル茶) :2008/03/31(月) 17:23:42.16 ID:Y+9MKj240
恋のオーバーロード
>>377 WindowsやMacの場合は、「このファイル名で再生してくれ」って関数があるから楽だよ。
途中で止めることも指定時間にジャンプさせることもできる。
>>1 A1 犬の一種
A2 ウルトラセブンに出てくるウルトラ警備隊の自動車
382 :
石油元売り大手(もんじゃ) :2008/03/31(月) 17:26:00.21 ID:1swRqbOa0
昔かじったな、なつかしい・・・ 引きこもり時代だったけど何だかんだで楽しかった・・・
>>356 ガリガリと無心にコードを書いていくときには、IMEの切替すらうざいんじゃないかな。
384 :
国境なき記者団代表(もんじゃ) :2008/03/31(月) 17:26:30.78 ID:CcHv1JGr0
385 :
国境なき記者団代表(もんじゃ) :2008/03/31(月) 17:27:13.74 ID:CcHv1JGr0
386 :
新社会人(プーアル茶) :2008/03/31(月) 17:27:34.42 ID:Y+9MKj240
>>356 JAVAはしらんけどCで2バイト文字はシステムの環境によってバグる事があるから。
例えば改行コードにしてもWinとMacとUnixでは異なっている。
Linuxで書いたテキストファイルをWinのメモ帳でひらくと改行が認識されずに一行に
ずらーっと表示される。
何がいいたいかというと、アルファベットでプログラムしてればアメリカでも中国でも
スリジャヤワルダナプラコッテでも動作する。
>>356 ・同音異義語の存在
・送り仮名の在る無し
・全角・半角文字
これらの存在が大きいから
389 :
先住民(もんじゃ) :2008/03/31(月) 17:41:06.15 ID:XjcsRBEe0
ポインタってチューリングマシンについてちょっと知ってたら割と簡単にわかると思う
390 :
御匙医師(たこやき) :2008/03/31(月) 17:42:05.25 ID:nVLeRJQf0
\ ヌルポ ヌルポ ヌルポヌルポヌルポ/ ヌ \ _________________ /ヌルポ ル |ヌルポ ヌルポヌ ヌルポ ヌル|ポ ヌルポ ポ .|ヌヌルポヌルポ ル ヌルポヌル|ポヌルポ ヌルポ|ル ヌルポヌルポ ポ ヌルポ | ヌルポ ヌ ルポ |ポ ('A`) ヌルポヌル|ポ ヌ ル ヌル/ ̄ ̄ ̄ ̄ノ(ヘヘ ̄ ̄ ̄ ̄\ ル ポ / ヌルポ ヌルポ \ポ
391 :
石油元売り大手(もんじゃ) :2008/03/31(月) 17:44:12.24 ID:1swRqbOa0
ああこのスレ見てるとまた勉強したくなってくる・・・
>>390 ,..-─‐-..、
/.: : : : : : : .ヽ
R: : : :. : pq: :i}
|:.i} : : : :_{: :.レ′
ノr┴-<」: :j|
/:r仁ニ= ノ:.ノ|! _
/:/ = /: :/ }! |〕) ガッ
{;ハ__,イ: :f | /´
/ }rヘ ├--r─y/ ∧T_∧
/ r'‐-| ├-┴〆 ☆ノハヘ☆ '⌒ ☆
仁二ニ_‐-イ | |? |゚ノ*T-゙ )
| l i 厂  ̄ニニ¬ §|∞⊂ノ
,ゝ、 \ \ __厂`ヽ ,,-'''/____ゝ
/ /\_i⌒ト、_ ノrr- } ,;',_,,_;:(_)__)
└-' ̄. | |_二二._」」__ノ
393 :
IOC会長(湖北省) :2008/03/31(月) 17:49:47.40 ID:ILr2poQD0
ハローワールド
何で俺ゲームプログラマーなんてやってたんだろ
395 :
僧侶(湖北省) :2008/03/31(月) 17:58:12.19 ID:9wDMKfNk0
ま ぜ る な き け ん
思う存分ヌルポしていいと聞いてとんできますた
397 :
多細胞生物(湖北省) :2008/03/31(月) 18:24:29.64 ID:GuK0ijkR0
PGなんてなるもんじゃないぞ。 末端はアニメーターに等しい。 給料はましか
398 :
捕鯨船乗員(もんじゃ) :2008/03/31(月) 18:40:53.12 ID:JWBM2b7o0
399 :
独女(おれんじ) :2008/03/31(月) 18:42:21.09 ID:stK7ApIQ0
nurupointed uncotinco
オブジェクト指向厨うぜぇ
401 :
デグー(きびだんご) :2008/03/31(月) 19:01:33.60 ID:JWF5Jhfh0
それにしてもすごい記事だなw 編集担当者も理解してなくて、コメント欄がカオスw
愛用しているHTAのソースは1000行だった これが俺の最高
403 :
広報担当(ちゃんぽん) :2008/03/31(月) 19:07:17.47 ID:9NsPHFOc0
>>362 gccじゃぁむりだったのになんでだろうなw
405 :
ゴミ議員(味噌カツ) :2008/03/31(月) 19:09:14.75 ID:iDnp66al0
>>324 スレッドが終了するまでCloseするなよ
それから_endthreadexで使ったほうがいい
エラー処理でどんどんコードが膨れ上がるよ!
>>406 それが人生ってもんだよ 残念だがもう正常ルートには復帰できない
raiseしてもだれもキャッチしてくれないし・・・
409 :
大御所(もんじゃ) :2008/03/31(月) 19:53:27.30 ID:zg2etzxC0
Cはいいけどさ、大文字小文字が入り交じったコードを書かなきゃいけない 言語ってなんなの?入力しにくくないの?
410 :
IOC会長(さくらんぼ) :2008/03/31(月) 19:57:29.68 ID:0BqcRjdz0
>>324 h_ThreadはWaitForSingleObjectで死亡確認してからCloseした方よくね?
411 :
対向車(春暁) :2008/03/31(月) 19:58:07.91 ID:t250UAON0
大学でC習ったが仕事ではVBのみ。 なぜ大学ではVBしないんだろ・・・。
>>411 マイクロソフト大学マイクロソフト学部マイクロソフト学科奴隷養成コースならVBやるだろうね
413 :
働く貧困層(甘粛省) :2008/03/31(月) 20:01:23.78 ID:ryeDsWuli
Cは面倒臭すぎ。組んでると発狂しそう
414 :
通行人(しうまい) :2008/03/31(月) 20:01:35.41 ID:9lFWIBp90
ほげ あれげ ってなんなの?
大体i++++とかってなんだよ。 FORTRANでいいんだよ。
416 :
広報担当(ちゃんぽん) :2008/03/31(月) 20:03:23.26 ID:9NsPHFOc0
これからプログラミングをはじめたいって奴には、AdobeのFlex Builderがオススメ 公式サイトで60日間お試し版がダウンロードできるから、使ってみそ プログラマだけど、久々にプログラムが面白いと感じた。こんなサクサク開発できるツールは初めてだわ Flash MXが酷すぎただけなのかもしれないけど
418 :
ニューリッチガール(泡盛) :2008/03/31(月) 20:05:59.72 ID:wdykYz7bP
Hello Workからやり直せ
419 :
現役高校生(湖北省) :2008/03/31(月) 20:08:20.38 ID:+pTwD+vs0
買って満足した独習C
421 :
BSE牛(かぶらずし) :2008/03/31(月) 20:13:31.10 ID:7WaFlTyr0
rubyが2.0になったら学習始めようと思うんだが何時になりそうなのルビイスト℃も
422 :
対向車(もんじゃ) :2008/03/31(月) 20:20:24.66 ID:ZXlE+1KA0
rubyって印象ほどよくないぞ なにより遅い
423 :
広報担当(ちゃんぽん) :2008/03/31(月) 20:22:32.13 ID:9NsPHFOc0
>>421 使ってみたけどプログラムしにくかった。
良いけど、悪い
そんな感じ
424 :
国家主席(プーアル茶) :2008/03/31(月) 20:22:35.57 ID:AXeSnQNG0
Cのあのメモリいじってる感は異常 スリルある毎日を楽しめる マジオススメ
425 :
石油元売り大手(たこやき) :2008/03/31(月) 20:24:18.71 ID:DecAAa/20
懐かしいな 昔かじったけど深刻に考えすぎて挫折した
426 :
警察当(酢豚) :2008/03/31(月) 20:25:18.98 ID:gt+2PiRy0
#define SERIAL_BLK 0xff0e0000 #define FIFO_REG (SERIAL_BLK + 0) #define STAT_REG (SERIAL_BLK + 4) #define OUT_FIFO_FULL 1 void low_level_putstr(char *s) { volatile char *fifo; volatile int *stat; fifo = FIFO_REG; stat = STAT_REG; while(*c){ while(*stat&OUT_FIFO_FULL) ; *fifo = *c; c++; } return; }
427 :
IOC会長(さくらんぼ) :2008/03/31(月) 20:29:24.28 ID:0BqcRjdz0
>>424 趣味でやるプログラミングってそういうとこが楽しいよね
だから俺はこれからもC++を使うぜ
まぁ業務ならC#みたいなのがいいけど
429 :
日本代表(おれんじ) :2008/03/31(月) 20:29:47.19 ID:BpDmv6fW0
プログラマだけど、オブジェクト指向言語しか知らね。 Cはちょっと勉強してみたけど、つまんねーからすぐやめた。 どんな分野でC言語って使われてるの?
明日うpする予定の記事を今日上げちゃったんだろ と思ったら27日の記事か
Rubyがうんこだと感じたら、CかPerlを3年ほどやってくるといいよ。
433 :
警察当(酢豚) :2008/03/31(月) 20:32:18.89 ID:gt+2PiRy0
>>428 orz...
sのつもりでcって書いてたんだよ....
Rubyは噛めば噛むほど不味くなる言語だからな(笑
>>433 #define SERIAL_BLK 0xff0e0000
これってSH?ARM?
436 :
フェンス(遼寧省) :2008/03/31(月) 20:37:30.94 ID:eMu+92PnO
ポインタのポインタは ポポインタ という 豆知識な
437 :
痴漢冤罪被害者(おれんじ) :2008/03/31(月) 20:38:15.06 ID:5Fu8gsDz0 BE:345537465-PLT(12006)
>>436 ポインポインタのがなんか…ムラムラっとして良くない?
438 :
建設作業員(味噌カツ) :2008/03/31(月) 20:40:01.91 ID:rGvXMTR60
>どんな分野でC言語って使われてるの? プログラマなのに知らないの?
439 :
奥女中(もんじゃ) :2008/03/31(月) 20:40:59.52 ID:5Wx+ROn+0
ポインタの概念忘れた vbばっか使ってたからなぁ・・・orz
440 :
学生さん(あら) :2008/03/31(月) 20:42:44.58 ID:Myh+A1J10
ハンドルって実はポインタのポインタだったりすることもある これ、豆知識な
なんでニュー速に来てまでこんなスレ開いてんだろ俺
とりあえず最初はポインタ=アドレスって覚え方でいいだろ。 教科書には必ず「厳密に言うとポインタはアドレスではありません」って初心者をまどわす。 その内わかってくるんだから、いいだろ。
ポインタと言った場合 型を指してるのか 変数を指してるのか 具体的な値(一般にアドレス)を指してるのか を区別できるようになればいいだろ まあ習いたてだと混乱必死だが
プログラミングの参考書の筆者って、何故か灰汁の強い文章書く奴が多いよな。 「余談ですが・・」っていらんことばっかり書くやつとか、 「16進数を今更知らない人はいませんよねぇ?知らない奴は他の教科書読めw」とか まぁC言語ポインタ完全制覇とか言う本の著者なんだけどな。
>>411 アカデミックなところで勉強させるなら、ツール依存のものを教えてもしょうがないだろ。
C、C++わかってりゃ、VC++もできるしVBもできる。
今って中学生にもコンピュータの授業があるみたいだが、 「ポインタが理解出来なきゃ大人になれないのかよ!!」 とかいってるリア中二秒なんていそう。
>>446 それで通してしまう校閲者とかな
いやすぎん
>>439 VBでもアドレス意識することはあるよ。
海外用のソフト作るとき、通常のLabelじゃ文字化けしたから、
文字をバイト配列にしてLabelに入れてみたりすることがある。
まぁ動的にポインタを使うわけじゃないけどw
あと、DLLに文字列型を渡すときは、VBのランタイムは別途
メモリ確保してポインタを渡しているみたい。
451 :
捕鯨船乗員(もんじゃ) :2008/03/31(月) 20:54:00.18 ID:Bm7jQZyn0
VBはよくわかんね。CA Realizerは昔ちょっと使ってたけど良くわかんなかった
コンピュータの授業って、どんなことやるんだろ? >> 446誰だっけ?
453 :
建設作業員(味噌カツ) :2008/03/31(月) 20:55:34.67 ID:rGvXMTR60
K&Rの翻訳が読んでて疲れる もうすこしさらりと読みやすくできんのだろうか
454 :
新宿のカリスマ(おいしい水) :2008/03/31(月) 20:57:18.07 ID:1kAm8vJP0
小学生のときポインタを勉強してちんぷんかんぷんだった 結局文字列変数だと理解することにした ちゃんと使えるようになったのは中2か中3の頃だったかな
455 :
ガードレール(しうまい) :2008/03/31(月) 20:58:37.36 ID:Z1IpIivf0
456 :
官房長官(春暁) :2008/03/31(月) 21:00:33.85 ID:4XXmKEn90
MFC使ってるって言ったら笑われたぜwwww VBは昔、使ってるとバカになると聞いてから一度も触ってないので読めない そろそろ.netに乗り換えるべきなのかな?
457 :
就職活動中(まりもっこり) :2008/03/31(月) 21:01:11.75 ID:MG2hJtw10
int *n; printf("%d\n", *n); なら、うごくんじゃねw
>>456 MFCで笑われてVBで馬鹿だったら、.netはスイーツだぞw
459 :
現役高校生(湖北省) :2008/03/31(月) 21:05:36.68 ID:aDcTr6200
javaもスイーツだろ
460 :
肥満(大酒) :2008/03/31(月) 21:06:12.62 ID:W1uE5Pmo0
SEやPGって文系大卒経験ゼロからでもなれるもん? ハロワ行ってこようと思うんだがすごい不安
perl、python は和菓子
462 :
ブートキャンプ中(プーアル茶) :2008/03/31(月) 21:07:18.91 ID:f2A2tws20
なれるけどならないほうがいい
463 :
就職活動中(まりもっこり) :2008/03/31(月) 21:08:41.98 ID:MG2hJtw10
経験零でもなれるよ。だが辞めとけw
464 :
非政府組織(しうまい) :2008/03/31(月) 21:09:08.74 ID:N/j9xjxs0
>>410 WaitForSingleObjectするとGUIが応答無しになっちゃう
>>446 俺が買った極めるVisualC++って本も文体がキモかったw
ソフトバンクの本と合わせてブッコフに持ってたら買値付かなかったw
465 :
車掌(大酒) :2008/03/31(月) 21:09:12.34 ID:94CUns0i0
int main() { while (1) malloc(1); return 0; }
>>460 なれる。けど、余程いいところの正社員待遇でいかないと、
腕なくても安心できる、という仕事じゃないので真面目に勉
強すること。(プログラムの世界は毎年実装が変わるから、
現場レベルのことは、理系卒でも毎年勉強しなきゃならん
ことは同じ)
あと、いまのSE、PGの世界は、あらゆる案件に対応するた
めに、プログラムだけじゃなくいろんな知識、経験が必要。
例えば、銀行や倉庫、商店などのプログラムを作るときは、
現場のプログラマがある程度の専門知識を要求されること
もある。
いろいろ覚えていくのが好きなら、面白い仕事だけど、そう
いうのが面倒って性格なら、いずれ息苦しくなるかもしれん。
467 :
IOC会長(さくらんぼ) :2008/03/31(月) 21:09:46.51 ID:0BqcRjdz0
>>456 .netなんてVBとMFC足したようなもんだぞ
>>460 経験ゼロっていうのは、どういう意味でだろ。
プログラミングとかしたこともないのにPGになりたいとか言ってないよね?まさか
469 :
ニシン(うどん) :2008/03/31(月) 21:10:02.99 ID:+zx7ett+0
X-BASICしかしらなかったから、 MSのBASIC使ってあまりのひどさに驚いた。 Cはすんなり馴染めた。ポインタはイラネ。 ストラクチャは便利。
プログラマー上がりの著者だと、文体もヲタっぽくなるんだろうな。 トリビア的なものを散りばめたり。
471 :
肥満(大酒) :2008/03/31(月) 21:14:23.67 ID:W1uE5Pmo0
他に出来ることがねーんだ。いやプログラミングもさっぱりだけど。
>>466 なるほど。。今は勉強自体は好きだけど、年取ると辛くなるのかも。
>>468 C/C++をかじった程度です
#include <stdio.h> int main(void) { int *n; *n=5; printf("%d\n",*n); return 0; } $ gcc test.c $ ./a.out セグメンテーション違反です
文法を一通り勉強したけど自分では全く書けないような奴は 次にどんな参考書買えばいいのよ
474 :
教諭(長江) :2008/03/31(月) 21:30:32.18 ID:r+wkCzUw0
お前等すごそうだから教えてくれ。C++のhandle/bodyイディオム(pimpl)について。 ヘッダーファイルからソースファイルへincludeマクロを移動させるとどんな利点があるんだい?
Run-Time Check Failure #3 - The variable 'n' is being used without being initialized
476 :
日本代表(おれんじ) :2008/03/31(月) 21:32:50.21 ID:BpDmv6fW0
大卒ならハロワにあるような底辺PGは余裕で内定出るだろ 年寄りじゃなければという条件付きだけど
477 :
ラット(もんじゃ) :2008/03/31(月) 21:32:52.07 ID:lGDBfMXt0
C言語にNUnitみたいなテストツールはあるの?
478 :
日本代表(しまむら) :2008/03/31(月) 21:36:57.88 ID:bYc7PMsp0
>>1 マジかよ…本当に書いてあるじゃねえか…
動作確認する以前の問題だろが
479 :
ヒト(うどん) :2008/03/31(月) 21:38:47.40 ID:PIfOIFal0
プログラムはコーディングの良さが価値じゃない。 ユーザーがどれだけ利益を得られるかが価値だ。
480 :
教諭(長江) :2008/03/31(月) 21:38:50.40 ID:r+wkCzUw0
>>477 NUnitってOOPの単体テストに使われるツールじゃないの?
481 :
あふぃプロガー(らっかせい) :2008/03/31(月) 21:38:58.11 ID:VA62gQV10 BE:134575237-PLT(12010)
482 :
女子マネ(まりもっこり) :2008/03/31(月) 21:42:56.72 ID:oyHn8lbX0
D:\>type test.c #define n p,q int main(void) { int *n; *n = 5; printf("%d\n", *n); } D:\>cl /nologo test.c test.c d:\test.c(3) : warning C4700: 初期化されていないローカル変数 'p' が使用されます D:\>test.exe 1084300478 D:\>
483 :
初代王者(たこやき) :2008/03/31(月) 21:43:10.26 ID:T5ZnI8ws0
/* よくわかんないけど動いてるから触らないで */ /**************** ここまで ****************/
484 :
公務員(味噌カツ) :2008/03/31(月) 21:44:17.47 ID:jKOjqOEP0
>>474 大規模開発してるときにみんなにコッソリ黙ってクラスの内部を弄って
バグを修正するためだよ
485 :
通行人(しうまい) :2008/03/31(月) 21:45:26.49 ID:9lFWIBp90
ポインタのポインタとかあるの?
486 :
TVコメンテーター(もんじゃ) :2008/03/31(月) 21:46:49.44 ID:bD2771bE0
現在、本稿には技術的な誤りが存在するため、詳細をレビュー中です。 初めてご覧になる方は、コメント欄もあわせてお読み下さい。 また、読者の皆様には引き続き、コメントなどでご意見を頂けましたら幸いです。
487 :
就職活動中(まりもっこり) :2008/03/31(月) 21:46:52.20 ID:MG2hJtw10
>>473 次は参考書よりも、作りたい物を見つける方が重要。あと時間
488 :
就職活動中(まりもっこり) :2008/03/31(月) 21:47:31.24 ID:MG2hJtw10
489 :
ラット(もんじゃ) :2008/03/31(月) 21:47:56.82 ID:lGDBfMXt0
490 :
就職活動中(まりもっこり) :2008/03/31(月) 21:48:16.14 ID:MG2hJtw10
491 :
スポーツ愛好家(しうまい) :2008/03/31(月) 21:48:56.70 ID:BSY+yjEh0
もう何年も組ませてもらえません あほに教えるのみ
492 :
公務員(味噌カツ) :2008/03/31(月) 21:49:58.90 ID:jKOjqOEP0
>>489 ユニットテストってポリモーフィズムを利用してスタブやドライバオブジェクト
作んないとやりにくいと思うんだけどCでどうやってやんだ?
493 :
働く貧困層(石油) :2008/03/31(月) 21:50:45.40 ID:ld4+/e+6O
ポインタで脱落した典型的な僕です
独習CやればC言語は読めるようになるよ。
496 :
フェンス(湖北省) :2008/03/31(月) 21:52:49.83 ID:INnILYf30
はじめてのC という本で勉強したな。 C言語のことだぞ?w
497 :
就職活動中(まりもっこり) :2008/03/31(月) 21:53:20.62 ID:MG2hJtw10
ポインタ分からん奴は、アセンブラで四則演算をやってみればいい
498 :
中央分離帯(らっかせい) :2008/03/31(月) 21:54:07.18 ID:nBcHHaK60
VBのByRefってポインタとは違うの?
499 :
教諭(長江) :2008/03/31(月) 21:54:21.92 ID:r+wkCzUw0
なんて抽象的な回答ばっかりなんだ
>>492 CUnitは知らないけどlibjpegのソースでも読んでみれば。
501 :
サヨ(なし) :2008/03/31(月) 21:55:11.71 ID:FULJqfie0
覗き穴最適化や!
502 :
イスラエル軍(春暁) :2008/03/31(月) 21:56:25.22 ID:BSY+yjEh0
503 :
新社会人(プーアル茶) :2008/03/31(月) 21:58:49.53 ID:Y+9MKj240
おまえらzipはアルファベットで名前つけてよ。 Linuxで解凍したら全部ディレクトリ名文字化けしてんだよ knoppix@0[tmp]$ ls (C73) (???l??) [YAKIYAMA LINE] ???M???????? [?????????W?F???V?[]?????????? 20080314b [????????] ???????C?? 20080322a [??????]mix juice ?????????e?B?[?`???[?F???????? [???N?R?~?b?N][?r?Z] ?????????????????? ?????K?? [???q?n?i?n??] ?p?x?????B ???I?p???{11 ftjhrft ?R?[?g???????????C?????H ghjgt ?V???????` ki1 ?y?????????????????????????????B news Ne_9048 ヤブナ?`ス -WOW ! DANGEROUS NURSE PARADISE- かるま??税
504 :
学生さん(あら) :2008/03/31(月) 22:00:13.31 ID:Myh+A1J10
>>503 WindowsはShift-jis
MacはUTF-8
だからそれぞれエンコード変換しろ
>>503 そのデンジャラスナースパラダイスとかいうのを頼む。
他に変数を使わずに二つの値を交換する方法を知って感動したこともありました
508 :
公務員(味噌カツ) :2008/03/31(月) 22:04:04.89 ID:jKOjqOEP0
>>503 試してないけど、こういうオマジナイでもやってみろよ
for f in ./*; mv $f `echo $f | iconv -f Shift-JIS -t EUC-JP`; done
509 :
公務員(味噌カツ) :2008/03/31(月) 22:05:05.57 ID:jKOjqOEP0
doがなかった
510 :
セクシーアイドル(黒酢) :2008/03/31(月) 22:05:31.82 ID:NnVr8/9U0
初心者だがスレタイがおかしいのは結局ポインタ宣言してても そのポインタの指すアドレスが不明だからイカン!って事?
>>498 参照渡し
しかしスレタイのソースがポインタの意味全くナシ
512 :
裁判官(まりもっこり) :2008/03/31(月) 22:07:55.16 ID:lj3cnUYc0
情報処理取って夏頃にPG突撃する予定
514 :
対向車(もんじゃ) :2008/03/31(月) 22:09:13.31 ID:ZXlE+1KA0
銀行PGいるの?俺はECでもめんどいとおもうからその境地まではいけないな
515 :
反米強硬派(おいしい水) :2008/03/31(月) 22:09:19.92 ID:4aw8Y5JS0
char *p; p++ ; // 8bit進む *(p)++; // pの内容に1足す であってる?
あってねえw
517 :
就職活動中(まりもっこり) :2008/03/31(月) 22:14:21.96 ID:MG2hJtw10
仕事で自由にソースを弄れない欲求不満が溜まって 家でプログラミング。そして寝不足w
>>515 char型のビット数は <stddef.h> #define CHAR_BITS でたいてい8
だからchar*の++で進む幅はビット数で数えるよりchar型ので数えた方がいい
*(p)++っつーより(*p)++ではなかろーか
519 :
学生さん(あら) :2008/03/31(月) 22:14:57.42 ID:Myh+A1J10
520 :
バクテリア(湖北省) :2008/03/31(月) 22:16:35.76 ID:S7LkwIk40
C言語一通り習ったけど、2次元以上の配列を関数に渡すときって普通どうするの? void foo(int hoge[][5]); こういう感じで宣言してるんだけど、この5をなくして関数の汎用性を高めたいというか
521 :
新社会人(プーアル茶) :2008/03/31(月) 22:17:43.90 ID:Y+9MKj240
とりあえず1ファイルだけ試してみた knoppix@0[tmp]$ echo \[\?\?\?\?\?\?\?\?\]\ \?\?\?\?\?\?\?C\?\?/ | iconv -f Shift-JIS -t EUC-JP [????????] ???????C??/ エスケープ文字が間に挿入されてそれをコンバートしてるっぽい。
523 :
富裕層(石油) :2008/03/31(月) 22:17:53.09 ID:2zbGLp9hO
なんでstl使わないの?Mなの?
524 :
海女(プーアル茶) :2008/03/31(月) 22:18:54.34 ID:mnaYDcDq0
で、これのどこらへんがニュースなのか教えてくれ
525 :
就職活動中(まりもっこり) :2008/03/31(月) 22:19:03.36 ID:MG2hJtw10
だって
526 :
側壁(もんじゃ) :2008/03/31(月) 22:19:32.44 ID:+Woe5nda0
>>520 void foo(void * hoge);
527 :
新社会人(プーアル茶) :2008/03/31(月) 22:21:14.11 ID:Y+9MKj240
jpg閲覧に支障は無いから良いけど
C&Cミュージックファクトリー
unsigned short a=0x1234; printf("%X", (unsigned char*)&a); このプログラムの結果が環境によって変わるのは何故?
>>520 配列名は配列の先頭要素へのポインタに変換できるから
void foo(int ** hoge, int hage /* 要素数 */)
でhage散らかすしかないんじゃね?
大体、文章が気に入らない教科書は速攻で読むのやめる。 こないだC++の外国の著者の本は、章の始めにいちいち詩の一説みたいなのが書いてあって、なんかムカついた。 『汝、○○を知れ。××なかれよ―』 (ドイツ哲学者・○○○○) とか。
532 :
側壁(もんじゃ) :2008/03/31(月) 22:24:01.03 ID:+Woe5nda0
533 :
学生さん(あら) :2008/03/31(月) 22:24:10.27 ID:Myh+A1J10
>>529 a がアドレスのどこに配置されるかによる
>>529 ワードパディングでねーすか?
asmで言うところのalign 2
auto変数はスタックに取られるし、スタックは状況に応じて 変化するんですよ。
536 :
富裕層(石油) :2008/03/31(月) 22:27:59.05 ID:2zbGLp9hO
E=('c_');
int *p; //ポインヨ int **p; //ポインヨのポインヨ(2次元配列) int ***p; //ポインヨのポインヨのポインヨ(3次元配列) こういうこと?
538 :
バクテリア(湖北省) :2008/03/31(月) 22:28:35.07 ID:S7LkwIk40
わからん・・・まあ試行錯誤してみるか
nantoka* p =n ew nantoka[]; 配列newやるとその変数を使用するときにがポインタの配列というより自由変数の配列と同じ使い方になっちゃうんだよね それだと動的確保というシステム上重要な処理の成果物だってのを意識しづらくなると思うからイヤです
nantoka* p = new nantoka[5]; とかだった間違えたてへっ
ある程度の言語はそこそこ出来るけど、ぶっちゃけbashのバッチだけは書けるようになる気がしない
542 :
富裕層(石油) :2008/03/31(月) 22:31:36.80 ID:2zbGLp9hO
構造体に変数と関数のポインタ定義してオブジェクト指向のまねしてるCソースってどんだけCが好きなんだよ
>>541 bashは構文ルールがすごく気に喰わない 曖昧過ぎる
だけどデフォ指定されてるようなもんだからな 困るよ・・・
544 :
就職活動中(まりもっこり) :2008/03/31(月) 22:34:28.51 ID:MG2hJtw10
new 出来るなら、ベクタをt使えばいいじゃない
ggg
546 :
新社会人(プーアル茶) :2008/03/31(月) 22:35:26.44 ID:Y+9MKj240
547 :
新社会人(プーアル茶) :2008/03/31(月) 22:36:04.54 ID:Y+9MKj240
ミスった。 やる気無くした。
>>537 int * 美少女中学生 // ポインタ
int ** 女子中学生 // ポインタ中学生の一列縦隊
int *** 中学生 // ポインタ中学生の一列横隊のn列縦隊
みたいな関係?
ポインタとして渡すと、指してる先を参照したり書き換えたりできるけど ポインタのポインタを渡すと「ポインタ自体がドコを指してるか」の変更が可能なんだよ まぁC++だったら、ポインタの参照という良い方法があるからいいんだけど
550 :
新社会人(プーアル茶) :2008/03/31(月) 22:38:19.26 ID:Y+9MKj240
551 :
新社会人(プーアル茶) :2008/03/31(月) 22:39:40.68 ID:Y+9MKj240
cshスクリプトは化石認定しても良いと思うんだ。
552 :
学生さん(あら) :2008/03/31(月) 22:41:01.40 ID:Myh+A1J10
>>549 参照使うと&つかないから渡した関数で変数が書き換わる可能性があるのか分からないんだよな
>>550 ラクで効率がいいのは実は知ってるけどキッチリしたいんや・・・ちくしょー
554 :
就職活動中(まりもっこり) :2008/03/31(月) 22:47:42.83 ID:MG2hJtw10
参照渡しは、基本constだべ
556 :
ヒト(かぶらずし) :2008/03/31(月) 22:54:37.77 ID:3HVZQLVG0
>>524 解説記事にデタラメ書いてあってはてブでプチ祭り
>>4 ところが、例外があることを高卒はしらないだろう。
558 :
ダライ一派(おたべ) :2008/03/31(月) 22:56:44.40 ID:rgJLOGBC0
#define dm 1.0/200.0 #define dm (1.0/200.0) この違いに気付くまで今日二時間悩んだ
559 :
広報担当(ちゃんぽん) :2008/03/31(月) 22:57:18.49 ID:9NsPHFOc0
俺はいまだに?Perlでバリバリ組んでいるんだがなぁ。 まぁ、まともな解説書が英語版だけだから敬遠されるのはわかる。 後輩君みたいなPGが使うと・・・  ̄ ̄V ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ∧ ∧ ( ,,) ./ | (___/ / / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ | 先輩、Perlのソースを読み返していたらわけわかんなくなりました。 \  ̄ ̄ ̄|/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ( 。∀゚) ∧ ∧ < だから止めておけって言ったんだよ。 ( ⊃ ) (゚Д゚;) \____________  ̄ ̄ ̄ ̄ ̄ (つ_つ__  ̄ ̄ ̄日∇ ̄\|VAIO-Z|\  ̄ ======= \ ということになりかねない。  ̄ ̄V ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ∧ ∧ ( ,,) ./ | (___/ /
ポインタ覚えたい人は int *nじゃなくてint* n と書く習慣つけるべき これは 「(int型)のポインタ変数」なんかじゃない「(int指すポインタ型)の変数」 でしかないから。
ポインタの初期化は必要ないと思うぞ というか「ポインタ初期化をキッチリやってるという前提でないと困るコード」は困るというか。 文字配列のNULL埋めなんかも基本的にイラネ
メモリ確保してねーじゃん馬鹿
563 :
日本軍(大酒) :2008/03/31(月) 23:01:25.51 ID:jmLx6jkA0
>>558 defineはバグの元
整数ならenum、実数ならconst doubleのグローバル使え
>>560 int* n,m;
とかで間違いやすそうだな
566 :
広報担当(ちゃんぽん) :2008/03/31(月) 23:02:49.40 ID:9NsPHFOc0
567 :
日本軍(大酒) :2008/03/31(月) 23:03:51.33 ID:jmLx6jkA0
>>561 ポインタにNULLか何かを入れておかないと、
どこかを指しているのか、どこも指していないのかって判断できなくね?
568 :
日本軍(大酒) :2008/03/31(月) 23:05:15.66 ID:jmLx6jkA0
>>558 はあのdefine単体を見てもワカランだろうね
569 :
初代王者(味噌カツ) :2008/03/31(月) 23:05:30.93 ID:PFRbqgb60
>>1 int *n;
*n = 5;
printf("%d\n",*n);
Linuxならセグメントエラー、Windowsなら不正な処理をしたので〜
かな
nは不定だろうから、OSがいい加減な古代の処理系なら動くかもしれない
運が悪いとシステムメモリ破壊して暴走
570 :
番組の途中ですが名無しです :2008/03/31(月) 23:07:45.77 ID:iwYOdZjn0
>>421 ,
>>422 ,
>>423 Rubyは、センスあって有能で頼りにされてるPG達にはすこぶる評判がいい。
逆に、糞みたいなコードしか書かないダメPG達にはRubyは評判良くない。
この傾向が明らかになって、Rubyを悪く言う奴が減ったのには笑った。
571 :
学生さん(あら) :2008/03/31(月) 23:08:03.92 ID:Myh+A1J10
>>555 constつけても変数が百行以上上に定義してあるから分からんのだよ
572 :
ダライ一派(おたべ) :2008/03/31(月) 23:08:04.89 ID:rgJLOGBC0
>>566 a/dmが
a/1/200 となるか
a/(1/200)となるかの違い
defineってメモリに値をぶっこむんじゃなくて
代入するだけみたい
コンストラクタでポインタにNULL入れて デストラクタでポインタがNULLじゃなきゃ deleteってやってたけどダメなの
Ruby使う奴なんて変人だろ。 頭がまともならPython
575 :
広報担当(ちゃんぽん) :2008/03/31(月) 23:08:39.45 ID:9NsPHFOc0
>>572 あーーーはいはい、なるほど!
へ〜〜〜!
576 :
中国軍の兵士(味噌カツ) :2008/03/31(月) 23:08:39.47 ID:voby6fn/0
オブジェクト指向のメリットを無職素人童貞の俺にも 分かるように2行で説明してくれ。
577 :
初代王者(味噌カツ) :2008/03/31(月) 23:09:18.05 ID:PFRbqgb60
578 :
学生さん(あら) :2008/03/31(月) 23:10:17.31 ID:Myh+A1J10
>>570 Perlやって「なにこのツギハギ言語」と思った
もっと勉強して楽にプログラム書けるようになったらPerl++みたいなの作るぞ!
と思ってたらRubyの存在を知ったオレ涙目
>>573 delete NULL; は何もしないことが規格で保証されてるから
駄目というわけではないけども意味的に俺はむおっと思う
581 :
就職活動中(まりもっこり) :2008/03/31(月) 23:11:46.04 ID:MG2hJtw10
組み立てPCと 基盤にハンダ付け みたいな感じ
582 :
学生さん(あら) :2008/03/31(月) 23:12:10.54 ID:Myh+A1J10
>>572 defineはコンパイルの前に定義してるものを単純に置換するだけ
>>572 代入ですらなくてプリプロセッサさんが基本的には「文字列置換してるだけ」だったりなので
その単純性ゆえにムダに凝った裏技が豊富
>>573 動的変数寿命って「これは解放済み?」みたいな出たトコ勝負じゃなくて、対象ポインタ以外の要素で把握し続けてるけどなー。
.net使いだけど、他のプログラマに馬鹿にされてるような気がします
585 :
就職活動中(まりもっこり) :2008/03/31(月) 23:14:05.50 ID:MG2hJtw10
デストラクタで、deleteしたいな スマートポインタ使えばいいべ
586 :
学生さん(あら) :2008/03/31(月) 23:14:08.33 ID:Myh+A1J10
>>584 C++/CLIはいいぞー
.netの中にC++が書けるぞー
楽なトコは手を抜いて凝れるトコはとことん凝れるぞー
>>571 一万行上で定義してようが、const付けとけばコンパイラが
代入すんじゃねえと怒る
>>584 なんでそう思うの?
この答えに「なんでそう思うの?」という疑問を投げかけてみよう
再帰的に
行き着く先が貴方の宗教だからそれに従うといいのだと思う
589 :
デグー(大酒) :2008/03/31(月) 23:15:45.25 ID:j5e7mFxM0
C知らないのに、執筆を引き受けちゃって、慌ててネットの入門サイトを見ながら書いたってかんじなんだろうな。
590 :
初代王者(味噌カツ) :2008/03/31(月) 23:16:26.55 ID:PFRbqgb60
>>561 NULL入れとかないと、freeするとき面倒
const指定の消失ワザは絶対使えないようにすべし 規格側で。
592 :
多細胞生物(なっとう) :2008/03/31(月) 23:16:42.36 ID:iccBo4ya0
int a; n = &a でいいじゃねーか。mallocとかイミフwww
今はfree(NULL)ってやっても死なないよな
594 :
凍結マンモス(長江) :2008/03/31(月) 23:17:46.09 ID:6Ygj634Z0
>>584 MSが飽きるその先まで保守するようなソフト書くならともかく
短期的な効率だけで手段を選択するのも一つの道ではある
596 :
デグー(大酒) :2008/03/31(月) 23:18:20.09 ID:j5e7mFxM0
>>561 NULL埋めってこんなん?
memset(s, NULL, sizeof(s));
これやってるやつは一発で素人ってばれるな。
>>586 VBとC#しかわかりません><
Cは学生の頃やったけど、あんまり覚えてないし
>>588 フレームワークに頼りっきりだからねえ
自分でもあんまり脳みそ使わなくなってきてるのがわかるわw
でも正直、javaっ子よりは階級上だと思ってます
すいません
598 :
学生さん(あら) :2008/03/31(月) 23:19:55.80 ID:Myh+A1J10
>>587 ソース読むときに困るんだって
処理理解すんのにいちいちブックマークつけて上までスクロールして変数宣言のとこにブックマークつけて
どんどんブックマーク増えてだんだんブックマークしてる意味がなくなって
しまいには自分でノートに変数の内容と関数のリファレンスみたいなもんをまとめだして
それで1日過ぎてって・・・ってなるんだよ
キレイなソースなら問題ないけど、ウチにはスパゲティと鎖を炒めたようなソースしかない
C++/MFCなんかはある意味芸術だけど手間(期間)と成果物を比例させるのが難しいし 「お決まりの手順」をいちいちコーディングなりコピペなりしなきゃいけないから C#が羨ましい。言語そのものの利便性だけじゃなくてVSによるスニペット補助もあるしね
600 :
富裕層(石油) :2008/03/31(月) 23:20:48.30 ID:2zbGLp9hO
indentって以下のようなc++ソースにかけると、constがconst constになるんだけどバグか? void func() const { 〜 }
char配列を宣言したら必ず'\0'をmemsetしろって規約の間抜けな会社が あったな。staticの奴までmemsetしてやんのw
602 :
就職活動中(まりもっこり) :2008/03/31(月) 23:21:32.13 ID:MG2hJtw10
tomcatつかってjavaやってる時は、Ajaxいけるんじゃね?っておもた
>>598 開発環境がVisualStudioやEclipseだったらその点ラクだぜ・・・
あと把握が困難なのはコード構成のまずさもあるんだろうなー、と正直思う
int main(void) { int *n; free(n); return 0; } $ gcc test.c $ ./a.out アボートしました
605 :
就職活動中(まりもっこり) :2008/03/31(月) 23:24:00.86 ID:MG2hJtw10
ブックマーク云々は、参照constとは別問題のような
606 :
初代王者(味噌カツ) :2008/03/31(月) 23:24:19.18 ID:PFRbqgb60
int *n n = 5 printf("%p\n",n); これなら5が表示されるんじゃね? ポインタに5入れるだけならセグメント違反にはならなさそう。 試してないから分からないが。
>>598 const以前の話なのでチームで話し合って
コーディング規則を作り直しる
>>601 ま、単にcharだけなら
「'\0'が見つからずに止まらねぇぇぇぇ」対策で分からんでもなフフフフフフフフ
>>579 いや
if(p != NULL)
delete NULL
スマートポインタはなんか見づらいんだよなあ
>>600 通らないソースを吐くのが仕様でないのならバグというかバグだよなアハハハハハハハ
if(p != NULL) delete p; 何を書いてるんだ
612 :
初代王者(味噌カツ) :2008/03/31(月) 23:25:27.13 ID:PFRbqgb60
>>606 構文エラーだったorz
もうこれでいいや
puts("5");
614 :
デグー(大酒) :2008/03/31(月) 23:26:19.61 ID:j5e7mFxM0
>>608 それやると、せっかくフフフフフフフフなのに、台無しじゃん。
>>537 配列はポインタに成り下がるが
配列の配列はポインタのポインタには一段階ではなりさがらない
Cか…。 前に授業でLinux使って共有メモリの排他制御を行うためのセマフォいじって軽く発狂したのは覚えてる
618 :
凍結マンモス(長江) :2008/03/31(月) 23:30:38.74 ID:6Ygj634Z0
ポインタが難しい難しい言うけど、 躓いてる奴の9割が ↓のせいだろうと。 char *hoge ="Hell point world!!";
619 :
初代王者(味噌カツ) :2008/03/31(月) 23:30:43.63 ID:PFRbqgb60
C言語じゃないが、15年ぐらい前のFortranで INTEGER HOGE, FOO, HOGE なんて無茶苦茶が書いてあってワラタ。よくコンパイル通ったなと
>>611 あ
p = NULL;
delete p;
で規格上OKってことっすよ
if(p != NULL)
は絶対的必要性はこの場合はなくてもよかったという話
むしろpがNULL以外の有効なメモリを示してないといけない方を保証しないととも言えて
>>606 とりあえず動く
D:\>type test.c
int main(void) {
int *n; n = 5; printf("%d\n", n);
}
D:\>cl /nologo test.c
test.c
test.c(2) : warning C4047: '=' : 間接参照のレベルが 'int *' と 'int' で異なって
います。
D:\>test.exe
5
D:\>
623 :
国家主席(プーアル茶) :2008/03/31(月) 23:34:03.90 ID:AXeSnQNG0
コマンドプロンプトを立ち上げる おもむろに (;´Д`)ハァハァ と入力してエンターを押してみる
>>621 俺はあの場面では「deleteにifガードしてる」に「むおっ」としていたのでした
説明不足ぎみでアレです
宗教は蛇足でした
門外漢にはさっぱり解らん話をしてるな、このスレ。 (defun fn(x &optional (a 0))(cond ((zerop x)a)(t(fn(1- x)(+ a x)))))を (defun fn(x &optional a )(cond ((zerop x)a)(t(fn(1- x)(+ a x)))))みたいに 書けてしまうけど、それじゃ計算できないよね、みたいな話なのかなぁ・・・
わかんないんです(><)
627 :
初代王者(味噌カツ) :2008/03/31(月) 23:38:11.74 ID:PFRbqgb60
>>625 ニュースの話なら、
>>1 のソース元の専門家(笑)が
ポインタの解説と称して、不定なアドレスに5を代入する素晴らしいプログラムを書いてるってこと
このスレざっと読んだけど つまりコンパイラの開発者は頭がイカれてるってことか。良い意味で
>>618 リテラルに関してオマジナイじゃなくて、理解させるための時期ってけっこう難しいのかもね
const で charポインタ型 だしなぁ。
630 :
留学生(馬刺し) :2008/03/31(月) 23:41:43.73 ID:W3ThNvPc0
(((( ;゚Д゚)))ガクガクブルブル";
>>622 ランタイムからmain()された時にスタック内に作られたnの領域内に
5を書いて読んだだけだから確信犯的に大丈夫なケースでした
間接演算子 * を使った型はレベルが変わるので(一段間接とか言うんだろうか…)、
nをint型で参照している(n=5の部分)は0段間接だからレベルが違うって話をされる
632 :
大工(らっかせい) :2008/03/31(月) 23:42:31.59 ID:qGcY+dx10
ゲーム製作に一番簡単なのがHSPって聞いたんだけどこれって良いの?
633 :
広報担当(ちゃんぽん) :2008/03/31(月) 23:42:43.28 ID:9NsPHFOc0
>>625 Lispってさ、種類多すぎて挫折したんだけど・・・orz
>>628 イカれてる。
まず構文解析の時点でなにげに無理っぽそう。コンパイル処理以前に心が折れるw
635 :
大工(大酒) :2008/03/31(月) 23:44:15.31 ID:YKQjSJt70
フフフ見て「あーしまった!」って思うのが初心者、「もう、可愛い奴だな」って思うのがプロ
636 :
デグー(大酒) :2008/03/31(月) 23:44:33.15 ID:j5e7mFxM0
>>632 遊びでやるぶんには。
つかったことないけど。
637 :
女子マネ(もんじゃ) :2008/03/31(月) 23:44:48.79 ID:C9uNVTuq0
まだJAVAしか経験がないのにこのスレを見て絶望した 次の現場がCだったらどうしよう
関数に渡した引数の値を関数の中で変えたいとき、 仮引数につける「&」と「*」の区別が未だに微妙なんだが助けてくれ。 ポインタで宣言したものは*を、そうでないものは&をつけてるんだがダメ?
639 :
広報担当(ちゃんぽん) :2008/03/31(月) 23:45:56.13 ID:9NsPHFOc0
構造体とポインタがわかればCは大丈夫らしい
>>638 アドレス渡して好きな形にキャストすりゃいいじゃん
>>632 入門には良いんでない?
プロンプト画面で始めるような基本C言語からだと、標準じゃゲーム的なもの制作するのは不向きだし。
ちなみにHSPはWindowsAPIのラップというか簡易にしてるだけみたいだから
理屈上はそれなりのものは作れる・・・・いちおう理屈上は。
642 :
ヒト(鮒寿司) :2008/03/31(月) 23:47:52.97 ID:j9DpZ4cj0
643 :
デグー(大酒) :2008/03/31(月) 23:48:01.60 ID:j5e7mFxM0
HSP。 今のバージョンはローカル変数も構造体もあるらしいけど、それがない時代に、 何万行もコードを書いてたツワモノがいたな。 オレはローカル変数なかったら、数十行が限界。
>>639 ぶっちゃけいくらCが大丈夫だからって、Cで書かれたコードが理解できるわけじゃないからね・・・
>>637 さいきんはJAVAから教える、JAVAだけ教えるとか増えてるみたいなんだよねぇ
学校でも職場でも。悪いこととは思わないから否定はしないけどね
646 :
側室(もんじゃ) :2008/03/31(月) 23:49:00.28 ID:KugZIwnY0
>>1 なんでポインタを知らないのにCの記事書いてるの?
エイプリルフール用の記事が間違って載っちゃったとか?
>>635 0xdeadbeefでニヤリとするのがハカー
0x9841b9b9でニヤリとするのがイカー
結局目的次第で、ホビープログラミングならAPIとか覚えまくったほうが役に立つこともある
649 :
就職活動中(まりもっこり) :2008/03/31(月) 23:50:26.71 ID:MG2hJtw10
> ポインタで宣言したものは*を、そうでないものは&をつけてるんだがダメ? 配列が考慮されてないから、ヤバいんじゃね ポインタを要素に持つ配列とかで混乱するんかも
650 :
国家主席(プーアル茶) :2008/03/31(月) 23:50:59.33 ID:AXeSnQNG0
>>638 *はポインタをたぐりよせる
&はポインタを返り値とする
*はポインタを使ってアクセスしたいときに使って
&はポインタをゲットしたいときに使え
なんじゃそれ 意味わからん
652 :
JT工作員丸(もんじゃ) :2008/03/31(月) 23:52:18.13 ID:V00QAt+k0
main() { int hoge[10]; 0[hoge] = 100; printf("hoge[0] = %d\n", hoge[0]); } これが理解できないうちは、プロにはならない方がいい。
>>647 ソフト開発のスレなのに ハード の話してどうする
654 :
初代王者(キムチ) :2008/03/31(月) 23:52:43.53 ID:zBUnqcP50
>>647 0xc0ffeeでニヤリとするのがJava愛好者
656 :
デグー(大酒) :2008/03/31(月) 23:53:26.73 ID:j5e7mFxM0
Cをはじめたころ、*と&が、どっちがどっちだか分からなくなったら、 「あんど(&)れす」 で、アドレスを取るほうが&だと覚えろと教えてもらった。
Javaに比べりゃ楽だろ。 言語はシンプルだし、ライブラリはコンパクト。 なんとかフレームワークだの覚える必要は無い。
>>638 ポインタ値をデリファレンスする(変数に戻す)という意味で * を使う
変数を間接参照する(ポインタ値にする)という意味で & を使う
という考え方でひとつ
659 :
政府高官(湖北省) :2008/03/31(月) 23:54:25.25 ID:4GkFferG0
>値渡しとポインタ渡し 夜霧の渡しは何が渡されるの?
661 :
凍結マンモス(長江) :2008/03/31(月) 23:55:32.09 ID:6Ygj634Z0
>>652 a[b] とb[a]が同じ事を壮大に書いただけ
イカーがいるな・・・
663 :
就職活動中(まりもっこり) :2008/03/31(月) 23:56:26.83 ID:MG2hJtw10
hoge[1] 1[hoge] *(hoge + 1) 全部同じw
ポインタとかわからん奴はアセンブラやれば全部解決するぞ
665 :
国家主席(プーアル茶) :2008/03/31(月) 23:56:54.18 ID:AXeSnQNG0
>>654 ( 1 + 4 )も( 4 + 1 )も結果は同じということさえ分かれば簡単
その辺はmasmやってりゃなんて事は無いな。
>>663 このスレ開いて初めてへぇー!と思った。
669 :
デグー(大酒) :2008/03/31(月) 23:58:36.90 ID:j5e7mFxM0
Cは、整数の10進リテラルで、0を記述できない。 これマメ(ry 0 8進数 00 8進数 0x0 16進数
670 :
通行人(しうまい) :2008/03/31(月) 23:58:37.49 ID:9lFWIBp90
確か関数のポインタとかもあるんだよね?
あるさそりゃ
>1[hoge] これはマジキチガイじみてるからやめろ
>>672 むしろ止めろよコンパイラって思うよねえ
674 :
BSE牛(長江) :2008/04/01(火) 00:00:06.85 ID:BsL6cnIv0
LL言語使っちゃうと 関数ポインタを使いまくりたくなる。
675 :
政府高官(プーアル茶) :2008/04/01(火) 00:00:58.91 ID:h8do9fcT0
関数ポインタはドライバ書くとき必須
所謂ジャンプテーブル=関数を指すポインタの配列
typedef int(*func)(const char*, ...); とかな
679 :
非政府組織(ちゃんぽん) :2008/04/01(火) 00:05:05.73 ID:2B4gEe3q0
>>668 最後はよく見る
真ん中はあんまりみない
ってか真ん中なんか意味あるの?
680 :
姫(しまむら) :2008/04/01(火) 00:05:48.59 ID:dOKretR40
関数ポインタ理解せんとGetProcAddress()使うときに困るから困る
681 :
宮女(もんじゃ) :2008/04/01(火) 00:06:01.13 ID:x8sHlE7+0
>>679 ダレ始めたスレを活気づけるにはちょうどいいネタ
682 :
政府高官(プーアル茶) :2008/04/01(火) 00:06:02.10 ID:h8do9fcT0
ポインタ演算を理解してるかどうかを見るためぐらいじゃない
0x0は半バイトだからなんかイヤ
int main(int argc, char* argv[]) { char buf1[] = "%s"; char buf2[32]; sprintf(buf2, "%s", buf1); printf(buf2); return 0; }
685 :
独女(湖北省) :2008/04/01(火) 00:06:25.68 ID:9qXUPRN80
何が言いたいねん
686 :
恋人と電話中(まりもっこり) :2008/04/01(火) 00:06:32.59 ID:1LwPtusQ0
理解してなくてもSTLでは必須だしな。
687 :
非政府組織(ちゃんぽん) :2008/04/01(火) 00:07:07.81 ID:2B4gEe3q0
688 :
エボラウイルス(淮河) :2008/04/01(火) 00:07:09.44 ID:M3m813NW0
関数ポインタをtypedefするときの構文をいつも忘れるから困る
まあ書式ばかり覚えても仕方ないんだけどな。
690 :
非政府組織(ちゃんぽん) :2008/04/01(火) 00:09:34.62 ID:2B4gEe3q0
そういや最近大学ではポインタあんまり教えないんだってな 可読性が下がるからポインタいらねって事らしい おかげで文字列処理ができない奴が増えてるけど、文字列処理はJAVAのほうがやりやすいからなぁ
Perlのが楽だろ
692 :
無職(キムチ) :2008/04/01(火) 00:10:41.17 ID:fMn0GyXK0
文字列処理はドカタにやらせればおk
693 :
恋人と電話中(まりもっこり) :2008/04/01(火) 00:10:50.65 ID:1LwPtusQ0
ポインタは、変数のgoto文って親方がいってた
694 :
非政府組織(ちゃんぽん) :2008/04/01(火) 00:10:51.96 ID:2B4gEe3q0
今第1言語がJAVAでオプションでCを教えるってスタイルが増えてるそうな
695 :
宮女(もんじゃ) :2008/04/01(火) 00:11:20.07 ID:x8sHlE7+0
FLASHで使われるActionScriptなんかはぬるくていいぜ?
>>688 var a = 10;
var b = a;
a = hoge;
b = a();
a = function() { return 1; }
b = a;
c = b();
function hoge() { return 10; }
>>694 それはいいかもな。
JAVAでポインタ理解してない奴は怖い。
>>695 なんという無茶な・・・・ちょっとイヤですばいその言語w
698 :
姫(しまむら) :2008/04/01(火) 00:13:53.32 ID:dOKretR40
>>683 そういえば、お米の国の仕様書読んでてニブルという単位を初めて知った
699 :
無職(味噌カツ) :2008/04/01(火) 00:14:06.21 ID:M8F/kmOw0
>>690 ポインタ使わないならJavaでいいじゃん
まあ、Javaも実はポインタ使いまくりだけどな。意識してないだけで、クラスはみんなアドレスで渡してるし
FLASH全盛の頃FLASHのActionScriptはCやC++より難しくて高度だとか言ってた わけわからんやつがいたな。所詮ツールが何ほざいてんだと思ったがほっといた。
>>690 std::vectorやstd::string使った方が安全だし楽だからね
703 :
ヒト(大酒) :2008/04/01(火) 00:15:19.92 ID:22fst23a0
>>694 即戦力ってことならJavaだろうけど、教育なんだから、もっと簡単っていうか、書きやすい言語でおしえてやればいいのにな。
動的言語にありがちな仕様で一番イヤなのはコンストラクタと ただの関数が明示的に区別されてないこと スペルミスで30分くらい費やしたり
705 :
無職(味噌カツ) :2008/04/01(火) 00:15:46.02 ID:M8F/kmOw0
JavaScriptみたいな型がいい加減な奴は 1+1が2だったり、11だったりしない?
706 :
女房役(もんじゃ) :2008/04/01(火) 00:15:56.00 ID:Fg3KSe+s0
JAVAでポインタについてkwskお願いします
707 :
恋人と電話中(まりもっこり) :2008/04/01(火) 00:16:11.66 ID:1LwPtusQ0
javascriptとかでも出来るな キメーーーw
ゴミ以下の戦闘力しか無い俺には ポインタ不用、ガベコレ有りでおながいします
組み込み業界ならべたCでも即戦力になれるぞ 組み込みキット買って動かしてりゃおk
711 :
ヒト(大酒) :2008/04/01(火) 00:19:09.33 ID:22fst23a0
>>706 Javaが売り出し中のころ、Cを意識して「ポインタがない」というのが売りだったけど、
「参照って結局ポインタじゃね? ポインタ理解してないで、まともなコード組めるの?」うんぬん
みたいな論争があった。
712 :
エボラウイルス(淮河) :2008/04/01(火) 00:19:17.67 ID:M3m813NW0
いいかげんC++に組み込み文字列型導入しろよ
てか、教育だからこそ、スタックとかポインタとか、他にもlinkredListやarraylistの 構造とかを教えなきゃいけないんじゃないんかね。 言語なんてのは覚えるのは簡単だが。。。 途中挿入もなく、index参照しかしないのにlinkedlistとかあほすぎる
>>709 俺みたいなゴミ以下の低脳にポインタとメモリ管理をやらせる方が危険なんです><
ある一定ライン超えたらCほどスッキリ納得いく言語もないと思うんだけど その手前で死んだりする もったいない。
716 :
神様(湖北省) :2008/04/01(火) 00:20:42.43 ID:ZotD/kxp0
Javaはガベージコレクタがミスることあるからポインタ知らないやつに書かせたくないな 見えないからこそポインタ意識できるやつに書かせたい
717 :
サル(鮒寿司) :2008/04/01(火) 00:21:11.85 ID:AnuzqKmA0
>>710 いいんだけど、それ以前にハードの知識の無いやつは困る。
ROM/RAMの容量や、不揮発性メモリの書き込み回数は無限じゃないんだよ。
>>711 ごめん本読まないから参照が何を指して言っているのかがわからない
メソッド呼んだりとかインスタンス生成してとかそんなの?
719 :
ミンク鯨(淮河) :2008/04/01(火) 00:22:13.16 ID:qNih9upA0
普通の人ならperlとかでちょいっとつくる文字列メインの処理も Cでつくっちゃう
E2PとかFROMとかなあ 確かに理解してない奴多いな
Java厨が来たぞーーーーーーーーーーーーーーーーーーーーー 逃げろーーーーーーーーーーーーーーーーーーーーーーーーーーー
722 :
ヒト(大酒) :2008/04/01(火) 00:23:56.94 ID:22fst23a0
>>718 値型じゃない、newしてメモリを確保する変数あたりのこと。
C++とかだとポインタと参照っていちおう別概念だから総合的に話すとき困る
便宜上 参照変数ぶってるだけで実際は大差ないけれど
>>719 ワイド文字カンタンに扱える型は意地でも使わないw
>>713 コーディングを単純化したことで生じるオーバーヘッドを
ハードの力でカバーするって発想はありっちゃーありだ
だがハード屋さんはそんなことしてくれないです
最近のハイカラな言語にある、文字列型とかいうのは俺の脳じゃ理解不能 なんか中の人が良きに計らってくれてるんだろうけど
参照はイテレータに落とし込めないからポインタとはまったく違うものだしな
728 :
ヒト(大酒) :2008/04/01(火) 00:26:58.27 ID:22fst23a0
最近、C#やらVB.NETの仕事をしてるけど、正規表現が使えるから、文字列のチェックが劇的に楽になったね。 VBやらVC++出身のひとたちが、あんなん信用できないから、一文字ずつループで調べるとか言ってて、 カルチャーショック受けたけど。
これが ポインタのポインタだ #include <stdio.h> int main() { char str[] = "fcking jap"; char *str_p; char **str_pp; /*ポインタのポインタ*/ str_p = str; str_pp = &str_p; printf("文字型配列変数\n"); printf("配列先頭アドレス = %x\n" , str); printf("保持する文字列 = %s\n\n" , str); printf("ポインタの示す値\n"); printf("ポインタアドレス = %x\n" , &str_p); printf("保存する値 = %x\n" , str_p); printf("保持するアドレスが持つ内容 = %s\n\n" , str_p); printf("ポインタのポインタが示す値\n"); printf("保持する値 = %x\n" , str_pp); printf("保持する値が持つ値 = %x\n" , *str_pp); printf("保持する値が持つ値の内容 = %s", *str_pp); return 0; }
730 :
女房役(もんじゃ) :2008/04/01(火) 00:27:17.77 ID:Fg3KSe+s0
>>722 ごめんねなんとなくしかわからなかった
今度本読むか
Javaはなー、stringを+で連結するとその度にインスタンスが 作られることを知った時に倒れそうになった。
>あんなん信用できないから、一文字ずつループで調べるとか それはそれでどうかと
733 :
姫(しまむら) :2008/04/01(火) 00:29:23.09 ID:dOKretR40
>>710 でもというか、Cの流儀で大きめのコード書ける人でないとね
735 :
女子高生(淮河) :2008/04/01(火) 00:32:24.09 ID:VyhVC6jI0
正直、言語よりも環境だと思う。
>>728 エスケープシーケンスまわりの話なのかもね
そういう信用できないっつー思考を持つに至ったきっかけが
>>735 良いソース書ける奴が近くにいるのは重要だよね
環境ってそういう環境なのか?w
739 :
非政府組織(ちゃんぽん) :2008/04/01(火) 00:35:11.99 ID:2B4gEe3q0
lsのソースコードは読んだけど、最近はオープンソースが結構勉強の材料に・・・
オープンソースは良いけど、GPLをどうすればいいのか、マジで悩みの種だ。
>>740 はVC6が入ってるから大昔のVS環境でもつかってなさい
VC6とVS2005の使いやすさ違い杉。
VC6は、Vistaで落ちまくるのを何とかしてほしい。
>>739 それは罠よ
GPL汚染の罠
納期がせっぱつまったときにソースをパクっちゃいたい誘惑
悪魔の蜜壷
その点sqliteは神
VC4はPCを変えてもかなり長い間使い続けたな んでVC6を買っていくらか触ったけどその後は 買ってないや
ダブルポインタとか使うと自信なくていちいちデバッガ立ち上げて挙動確認してしまう
749 :
非政府組織(ちゃんぽん) :2008/04/01(火) 01:02:12.64 ID:2B4gEe3q0
>>745 うっ・・・いなめない・・・
で・・・でもさ、総務省も標準化戦略とかいって資源共有しようとしてるさ・・・だめ・・・?
>>712 std::basic_string ではだめなのか?
751 :
大工(湖北省) :2008/04/01(火) 01:12:51.43 ID:sh01X/bf0
VS2005とかVS2008凄いよね。 あの使い勝手がなぜにOfficeとかに伝播されないのか。
C#で使ってる時とC++で使ってる時の落差が悲しくね?
753 :
無職(湖北省) :2008/04/01(火) 01:43:41.02 ID:Lj+Z9w1C0
^ とか boostとか使えばか
IDEのサポートの事だが?
755 :
政府高官(たこやき) :2008/04/01(火) 03:10:29.73 ID:tIx5JBT/0
VS2005重すぎる。 C++以外のいろんな言語で開発する人にとっては便利そうだけど、、 C++&MFCしか使えないサンデープログラマの俺には宝の持ち腐れ。 やっぱVC6が動作快適で最高! でもやっぱ、.net frameworkって便利なん?
>>751 VSはユーザー(プログラマ)に近い人間が仕様作ってる
Officeの設計はユーザーから遠すぎて単なるオナニー
757 :
運び屋(大酒) :2008/04/01(火) 03:19:29.85 ID:MRtI5jIM0
VS2008は2005よりもさらに重くなった
758 :
非政府組織(ちゃんぽん) :2008/04/01(火) 03:28:12.17 ID:2B4gEe3q0
お前らこんなところ書き込んでないで仕事しろよ。納期いつだよ
はじめてのCとC言語逆引き大全しか持ってないけど このスレにあるような事は逆引き大全の方にしか載ってなかった
760 :
公明党員(もんじゃ) :2008/04/01(火) 08:16:37.36 ID:hygSrkqZ0
くだらねぇスレ立てんなカス
>>15 インクルードとかなんも書かずに動くわけない。
おまえは前略とかなんも書かずに手紙書くのか?
>>755 作る側は楽で便利かもしれんが
使う側は余計に.net frameworkをインスコしないといけないから不便
763 :
ドアラ(もんじゃ) :2008/04/01(火) 08:37:20.49 ID:pg8IXrhN0
【3月31日 AFP】ドーナッツの穴だけ残して食べる方法が発見される
古代イスラム帝国の哲学者イブン・アラビー(806-823)が残した哲学の未解決問題「虚空間と円環のパラドックス」
が解かれたという発表が27日、スイスのジュネーブで行われた国際哲学学会の研究発表によって明らかとなった。
この研究を行ったのは米アーカンサス大学のジェローム・ローズ博士を中心とする物理研究グループ。
研究グループは加速器を使った粒子衝突実験によって得られたデータから、
同パラドックスが相対性理論が適用されなくなる物質の光速移動状態では問題なく解決されることを発見し、
これが超光速で移動するドーナッツを穴だけ残して食べることで実証されることがわかったと述べている。
発表ではジェローム・ローズ博士みずから加速器によって光速近くにまで加速されたドーナッツを
穴だけ残して食べてみせ、発生した虚空間に博士が吸い込まれることで実証が完成した。
博士の墓標はネブラスカ州にあるセントバーナード墓地に建てられる予定。
【物理】ドーナッツの穴だけ残して食べる方法が発見される
http://namidame.2ch.net/test/read.cgi/news/1206980532/
764 :
石油元売り(鮒寿司) :2008/04/01(火) 08:46:30.20 ID:grbaTue50
>>729 それって前橋さんので見た希ガス。
%x使ってる辺り
765 :
政府高官(湖北省) :2008/04/01(火) 08:54:17.73 ID:++SKKVNU0
http://codepad.org/ ソースコードをはっつけると実行結果を表示してくれるサイト
日本語は使えないっぽ
対応言語: C, C++, D, Haskell, OCaml, Perl, Plain Text, Python, Ruby, Scheme, Tcl
766 :
総理大臣(珠河) :2008/04/01(火) 08:57:51.24 ID:ognE0eNl0
767 :
家出少女(大酒) :2008/04/01(火) 09:06:11.13 ID:4k9KwwGa0
pokeで良いじゃない。
768 :
韓国ネチズン(おにぎり) :2008/04/01(火) 09:06:20.65 ID:V1EEDbdd0
高校時代はCバリバリで逆ポーランド式数式計算プログラムとか
エセ人工知能とか作ってたなあ。趣味で。
あの頃が懐かしいよ。
ちなみにQuickCで、ANSIにバリバリ媚びながらDOSプログラムごりごり作っていた。
まあ答えは出てるだろうけど
>>1 にマジレスするとNULL pointer exception なんちゃらの
ランタイムエラーが出るな。
最近のCコンパイラは賢いから、ウォーニングレベル上げとけばこのソースは
警告でたりするんだろうかな?
769 :
対向車(大酒) :2008/04/01(火) 09:10:38.44 ID:e24RoFHF0
やべえー'a'と"a"の違いとか忘れてる
770 :
家出少女(大酒) :2008/04/01(火) 09:14:36.02 ID:4k9KwwGa0
>>768 Cって確保したメモリが0クリアされるとは限らないぞ。
ヒープ/スタックに関わらず。
なんでプログラミング言語っていっぱいあるの?
772 :
政府高官(湖北省) :2008/04/01(火) 09:30:28.20 ID:++SKKVNU0
過去に何度か色んな言語を1つにまとめようとしたけど、結局使い難いものになって受け入れられなかったね。 ね、なめりか国防総省サン(笑
773 :
遺族(石油) :2008/04/01(火) 09:31:49.55 ID:E89nfbo7O
ラムダ計算をちょっと勉強したけど面白いな 真を表す関数:関数を二つ引数にとって、一つ目の関数の計算結果を返す関数 偽を表す関数:関数を二つ引数にとって、二つ目の関数の計算結果を返す関数 IF関数: 以下の三つの関数A、B、C ・A:上で定義した真偽関数のどちらかを返す、条件式関数 ・B:条件式関数の計算結果が真の時に計算させたい関数 ・C:条件式関数の計算結果が偽の時に計算させたい関数 を引数にとって、条件式関数Aの計算結果(=真関数か偽関数)に 残り二つの関数BとCを引数として与えて計算する関数 とか 確かにうまくいってるんだよね
774 :
働く女性(大酒) :2008/04/01(火) 09:32:38.95 ID:e6utOXNm0
コンパイラと実行時の環境次第では、
>>1 のプログラムも動く。
ただ、最近のコンパイラを使ってるなら、異常終了する。
てか、ポインタで躓くやつってなんなの!?
ポインタが理解できないって奴の脳が理解できない。
SOURCE COMPUTER ACOS. OBJECT COMPUTER ACOS.
お前らなんでC#使わんの?
777 :
免職職員(甘粛省) :2008/04/01(火) 09:38:26.74 ID:UThh+x54i
778 :
家出少女(大酒) :2008/04/01(火) 09:38:35.34 ID:4k9KwwGa0
>>774 名称がポインタじゃなくアドレスだったら何も悩まなかったとオモ
779 :
遺族(石油) :2008/04/01(火) 09:41:36.42 ID:E89nfbo7O
Cobolを独習しようと思ってtinycobolをcygwinでコンパイルしようとしたが 古いdbライブラリのインストールと設定方法がわからなくて挫折
780 :
非政府組織(ちゃんぽん) :2008/04/01(火) 09:42:07.22 ID:2B4gEe3q0
計算製複雑理論の本読んでたらpascalで書いててよめねぇw
>>775 お!こんなところでACOSユーザーだ。COBOL/Sは、使える言語だよな。
782 :
家出少女(大酒) :2008/04/01(火) 09:48:23.46 ID:4k9KwwGa0
>>780 変数の型や関数でCに無い見知れぬ物が出てくる事もあるけど、大抵そのまま読めるだろう。
783 :
殉職隊員(甘粛省) :2008/04/01(火) 09:52:08.08 ID:uNs0cmUWi
おっぱいミサイル!
784 :
非政府組織(ちゃんぽん) :2008/04/01(火) 09:57:16.10 ID:2B4gEe3q0
785 :
電柱(ぶり) :2008/04/01(火) 09:59:12.74 ID:PNuiRLeX0
786 :
家出少女(大酒) :2008/04/01(火) 10:00:00.54 ID:4k9KwwGa0
>>784 代入つか文脈見て何してるのか解らないならプログラミング自体向いて無いと思うよ。
787 :
非政府組織(ちゃんぽん) :2008/04/01(火) 10:01:06.32 ID:2B4gEe3q0
2種資格取る為にコボルとC覚えたけど 結局コンピュータと全く無縁の職場(農協)に就職した。 ちなみに今日は有給取ってるから職場からの書き込み じゃねーぞw
789 :
遺族(石油) :2008/04/01(火) 10:05:17.52 ID:E89nfbo7O
「あなたはこれを理解することを期待されない」
>788 共済の勧誘でもしてろ
791 :
コマンドレスキュー隊員(湖北省) :2008/04/01(火) 10:15:48.49 ID:1UBelqnC0
ジャバ → 建築作業員用言語 パスカル → 一時期、教育用に使われていた言語→その名残でいまだに参考書などで良く見られる ピーエイチピー、ジャバスクリプト → 塗装工用言語 ルビー → おもちゃ パール → 土木作業員用言語 すいませんがこういう認識です
792 :
新型万能細胞(きびだんご) :2008/04/01(火) 10:17:52.75 ID:QQs1pjz90
>>1 この記事はエイプリルーフール?
釣られた?
793 :
遺族(石油) :2008/04/01(火) 10:18:41.09 ID:E89nfbo7O
cobolなのかな
795 :
非政府組織(ちゃんぽん) :2008/04/01(火) 10:46:04.20 ID:2B4gEe3q0
曰 \ ||||| ウウ・・・ / | | \. | ̄| ∧ / ノ__丶 ∧_∧ \ | |<) わかんない / ||鬼||( ><) \.. | |⊂ | んです… / わかんないんです… _ ||殺||/ [¢、) \| | ∪ / \ ||し||∪ ̄ ̄. ̄ ̄\ \∧∧∧∧∧/ ∧_∧ ∧_∧ ||\.`~~´ ((二゚。◎彡) \ < わ > ハァ...( ><) ≡3 (>< )うう… ||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄ < の か > | ⊃ヽC C/⊂ | . || ̄ ̄ ̄ ̄ ̄ ̄ ̄|| < ん > ゝ_( )) ( ( )_ノ わかんないんです… < 予 な > ―――――――――――――――<. い >―――――――――――――――――─ ∧ ∧ < 感 ん > / ヽわかんないんです / < で > _______ / ヽ / <. !!! す > ∧_∧∩ /先生、 / ';______/ /∨∨∨∨∨\ ( >< ノ < わかんないんです / /┌─┐ ∧_∧\ _/ノ / \_______ / ┯━┯ ┯━┯ /. │わ│( ><) \ \ ̄ ̄ ̄ ̄ ̄ ̄\ .| ) ) ____ ) )/.. └─┤( O┬O \||\ \ | ( ( ヽ / ( (/. ≡ ◎-ヽJ┴◎ \ || ̄ ̄ ̄ ̄ ̄ ̄||
796 :
恋人と電話中(もんじゃ) :2008/04/01(火) 10:51:14.30 ID:hT2Zk3PG0
int n = 5; int *pn = n; cout <<*pn<<endl; 昨日から勉強し始めた。 これでいいんだよね?
797 :
非政府組織(ちゃんぽん) :2008/04/01(火) 10:53:40.37 ID:2B4gEe3q0
>796 それ動いたか?
799 :
コマンドレスキュー隊員(湖北省) :2008/04/01(火) 11:01:03.27 ID:1UBelqnC0
800 :
財務省幹部(湖北省) :2008/04/01(火) 11:26:40.03 ID:XN82dp/U0
俺、このスレ終わったら友人のzero3機にマインスイーパ作ってやるんだ
とりあえず入門本を何冊か読んで基本動作一通り覚えたから 次にいきたいんだけど、 DirectXとかWindowsアプリケーション覚えるにはどうすれば手っ取り早い? Winはとりあえずいくつかサイト見つかったけど、DirectXはどこも導入説明が 見当たらなくて始められないorz
802 :
総理大臣(珠河) :2008/04/01(火) 11:51:59.76 ID:ognE0eNl0
DirectXのヘルプ
>>802 日本語版でおk?
最新版は英語だったけど、、
804 :
総理大臣(珠河) :2008/04/01(火) 11:58:24.84 ID:ognE0eNl0
未知の概念を英語で理解できる程度の英語力があれば英語版
805 :
政府高官(たこやき) :2008/04/01(火) 12:37:50.28 ID:tIx5JBT/0
予備知識無しで、いきなりDirectXのヘルプを読むのは絶対に無茶だぞ。 アルファベットも分からない幼稚園児に英和辞典を読ませるくらい無茶な話。 なんでもそうだけど、やっぱ基本的な知識を備えるには、最初は本買って勉強するのが一番効率的だと思う。
ポインタのポンイタのポインタのアンポンタン
807 :
美人秘書(ふく) :2008/04/01(火) 12:57:33.54 ID:jx9xgBww0
try{ int i=0; while(true) a[i++].f(); }catch(ArrayIndexOutOfBoundsException e){ }
809 :
JT工作員丸(しうまい) :2008/04/01(火) 13:36:46.56 ID:M1mWVWN60
すまん、コンパイルできないんだが何が悪いのか教えてくれ。 void* 俺() { 生まれる(); 小学校(); 中学校(); 大学(FLAG_LANK_F|FLAG_LANK_E); if (就職("anywhere")==true) 結婚(); } コンパイルエラー。6行目:到達できないコードがあります。
Q.コンピュータの5大装置を答えよ。 A.
811 :
恋人と電話中(もんじゃ) :2008/04/01(火) 13:38:53.85 ID:hT2Zk3PG0
>>809 >生まれる();
ここに致命的な問題がある気がする。
>>809 else while(1) 2ちゃん();
813 :
働く女性(大酒) :2008/04/01(火) 13:41:58.49 ID:pv8//kgz0
ソース元のサイトのコメント欄でここぞとばかりに袋叩きにされてる著者かわいそうw ストレスたまってるドカタPGを刺激してしまったようだ
ひろゆき大量発生wwww
どうもひろゆきのエイプリルフールネタらしい
http://love6.2ch.net/test/read.cgi/out/1132762085/325 325 :ひろゆき ◆3SHRUNYAXA [sage] 投稿日:2008/4/1(火) 00:00:01 ID:9wzgjaN/0
ってか正しいんじゃね
326 :ひろゆき ◆3SHRUNYAXA [sage] 投稿日:2008/4/1(火) 00:03:09 ID:Sr4e9xqs0
>>325 ひろゆき乙
327 :ひろゆき ◆3SHRUNYAXA [sage] 投稿日:2008/4/1(火) 00:00:26 ID:Sr4e9xqs0
俺もひろゆきになってんだけど???
328 :ひろゆき ◆3SHRUNYAXA [sage] 投稿日:2008/4/1(火) 00:01:30 ID:lhkM2J5f0
うはぁwwww俺もだw
815 :
左利き(おたべ) :2008/04/01(火) 13:43:46.75 ID:En9yC5py0
>>807 例外は実体で投げて参照で受けろ。
ポインタで投げるとメモリリークの危険があり、
実体で受けるとコピーされる。
コピーでオブジェクトのスライスが発生して
情報が消えたり、場合によってはオブジェクトが壊れる。
>>809 就職("anywhere") || 就職("anywhere contains black")にするんだ。
816 :
日銀総裁(らっかせい) :2008/04/01(火) 13:45:46.99 ID:FEp6MglV0
LD A,5 LD (HL),A INC HL
817 :
サヨ(湖北省) :2008/04/01(火) 13:50:37.40 ID:2L/boB4n0
DirectXはDirectX9実践プログラミングが登竜門になってる win32apiはまあ窓を作るぐらい、ゲームなら後々フォント周りでお世話になる 窓を作るのはもう定型句みたいなもんだから覚えたもん勝ち
初心者ページはクリアしたから、準中級者向けのサイトを誰か教えてくれ
cとc++って何が違うの?
820 :
将軍(あら) :2008/04/01(火) 13:52:52.82 ID:oyBcbGBi0
#include<stdio.h> #define LF 100 int main(){ int life; life=LF while(1){ work(); sabizan(); stress(); life--; if(life>0)break; } utu(); return0; } void utu(){ suicide(); }
822 :
IWC委員(もんじゃ) :2008/04/01(火) 13:58:14.42 ID:5WW9vOY90
823 :
働く女性(大酒) :2008/04/01(火) 14:01:02.89 ID:e6utOXNm0
>>820 おまい弱すぎw
lifeが1しか減ってないのに、鬱になるんか・・・。
while(1)まったくやくにたってねぇw
824 :
米大統領候補(しうまい) :2008/04/01(火) 14:04:59.59 ID:NP31WdgS0
PerlとDelphiやってる俺って
825 :
政府高官(たこやき) :2008/04/01(火) 14:07:36.08 ID:tIx5JBT/0
>>808 俺が入門書買ったの6年くらい前だからなあ・・
ム板やゲ製作板にお勧め図書のスレがあったからそこ見た方がいいと思う。
一応俺が入門用に買った本を紹介すると
Winなら翔泳社の「Windows98プログラミング」が手取り足取りって感じで分かり易かった。
昔の本だけど、今でも十分使える内容だと思う。ちょっと高いけど。
翔泳社の本は解説が丁寧で分かり易くて好き。
DirectXは当時ろくな本がなかったんだよなあ。
片っ端から本買って、webの情報漁りながらSDKのサンプルコード見て必死に覚えた。
まあ基本が分かってくれば、SDKのサンプルコードとヘルプで十分だと思う。
もちろん3Dやるなら数学の知識もいるよ。
Direct3D以前に、3Dの考え方が分からん。
#include <sys/types.h> #include <unistd.h> int main(void) { while( 1 ){ fork(); } return 0; }
830 :
将軍(あら) :2008/04/01(火) 14:15:27.35 ID:oyBcbGBi0
>>823 「<=」やったw
実際俺は10減ったら欝なりそうだけど
831 :
非政府組織(ちゃんぽん) :
2008/04/01(火) 14:26:17.38 ID:2B4gEe3q0 >>803 先輩といっしょにいろいろやったけど、日本語訳がいい加減なので英語版のほうがよいという結論に達した