将来プログラマーになろうと思っている人へ part3

このエントリーをはてなブックマークに追加
939仕様書無しさん:2008/04/07(月) 17:56:31
つまり
既に確保された"ABCD"がある安全なメモリ番地を、ただ単にtempに入れているだけで初期化とか問題無い


*nと5の関係は文字列の場合とは違うの?

既に確保された(int)5がある安全なメモリ番地を、ただ単にnに入れているだけで初期化とか問題無い???
940仕様書無しさん:2008/04/07(月) 18:09:56
>>939

void main() {
int *n=5;
char *c="ABCD";
printf("%s %x", c, n);
}

PUSH EBP
MOV EBP,ESP
MOV EAX,5 ; int *n=5;
MOV EDX,test.0040A128 ; char *c="ABCD"
PUSH EAX
PUSH EDX
PUSH test.0040A12D ; ASCII "%s %x"
CALL printf
ADD ESP,0C
POP EBP
RETN

コンパイラはbcc32
941仕様書無しさん:2008/04/07(月) 19:19:37
>>939
固定文字列はアドレスを指す
942仕様書無しさん:2008/04/07(月) 19:25:29
>>939
いや、文字列リテラルはまあ特殊だけど、問題はそこじゃないぞ。
それ2行目のtempに*がついてないじゃんよ。
やろうとしているのはこういうことだぞ。

char *temp;

*temp = 'A';

書き込もうとしている先が不定のアドレスってのが問題なわけで、
不定じゃなくても、これがダメなのはわかるでしょう?
int *n = NULL;
*n = 5;
943仕様書無しさん:2008/04/07(月) 19:39:25
char *temp;

*temp = 'A';
のアスタの意味の違いが判ってないんじゃね
944仕様書無しさん:2008/04/07(月) 19:40:38
やっぱ分かってないのはJava厨なのかね
あいつらには整数も文字列も同じオブジェクトに見えてるんだろう?
945仕様書無しさん:2008/04/07(月) 20:24:18
小学校からやりなおせ馬鹿ども。俺は小学校のときにポインタなどマスターしたわ。

946仕様書無しさん:2008/04/07(月) 20:26:09
なんでint *n; *n = 5;の議論になってるんだよ。
947仕様書無しさん:2008/04/07(月) 20:31:13
948仕様書無しさん:2008/04/07(月) 22:14:44
組込みでもない限りポインタなんかいらねー
車輪の才発明しなくてもいいだろヴォケ!!
949仕様書無しさん:2008/04/07(月) 22:32:12
>>948
オマエもプログラマやめろ・・・日本の技術力低下の原因。
950仕様書無しさん:2008/04/07(月) 23:54:30
>>941
文字列リテラルはstaticな記憶クラスな文字配列に相当だったっけか。
内容を書き換えようとすると動作が未定義だか不定になる。
(こういう文字列はreadonly領域に配置されたり、ソース内で同じ文字列リテラルを同じ配列とする最適化を行う目的。)
これでちょっとハマった。

>>948
俺の隣の部屋で仕事してるやつら、ポインタもわからないのにCのコーディングやってやがる。
勉強しないでひたすら残業ばかりしてるその姿勢に惚れてしまう。
951仕様書無しさん:2008/04/08(火) 00:12:41
joelに今の流れ送った
いつか良い記事になりそうって言われたw

952仕様書無しさん:2008/04/08(火) 00:30:38
問題のポインタ変数を定義してるのはローカルかグローバルか誰かおしえてよw
953仕様書無しさん:2008/04/08(火) 00:35:35
>>952
ローカル。よって初期化されていない。
http://www.machu.jp/diary/20080401.html#p01
954仕様書無しさん:2008/04/08(火) 00:43:34
初期化されなくても問題は無い
GCで回収してくれる

MSのC++はそうだし問題ないだろ
955仕様書無しさん:2008/04/08(火) 00:46:43
コンパイラの機能で救ってもらうなんて情けなさ杉〜
956仕様書無しさん:2008/04/08(火) 00:49:00
>>955
じゃあ全部2進で書けよ
ASMも使うなよ

957仕様書無しさん:2008/04/08(火) 00:51:18

 お前等にお似合いな言語教えてあげるよ。 べーしっく。
958仕様書無しさん:2008/04/08(火) 01:54:51
みんなどこまで釣りでどこまで本気なんだ
959仕様書無しさん:2008/04/08(火) 02:58:15
なかなか粘土でピカチューが作れないんですが
誰かうまく作れる方法知ってますか?
960仕様書無しさん:2008/04/08(火) 05:01:30
粘土→(桶が飛ぶ)→ぴかちゅう
961仕様書無しさん:2008/04/08(火) 09:29:14
>>956
ASMはコンパイラじゃないから>>955を煽るには不適
962仕様書無しさん:2008/04/08(火) 09:41:13
あのー独学でC/C++とVB.NETとMS=BASICを勉強したことがあるんですが。
今度ぷうろグラマーとして就職することに決めましたが。
会社がC言語とVBとJavaで募集してるんですがどの言語で応募したらいいでしょうか?
VBかJavaで迷ってるのですが、どちらの方が将来性があるでしょうか?
963仕様書無しさん:2008/04/08(火) 09:59:51
全部できるって書いて応募
964仕様書無しさん:2008/04/08(火) 10:06:49
>>963
あっそうか?でも求人票は言語別に募集してるから、
とりあえず、どれで応募したらよかんべでしょうか?
965仕様書無しさん:2008/04/08(火) 10:30:07
javaのが良いと思うよ。
arm(atomの出現でわからないが)が10から
正式にjavaをネイティブ動作サポートしてるからね
966仕様書無しさん:2008/04/08(火) 10:42:31
将来性ではJavaの方が上なんですかね?
最近携帯電話を久しぶりに機種変してJavaアプリのゲームをやって
Javaの進化に驚いてます。

しかし、僕は挫折しやすい正確なので、プログラミングとしては楽な方を取りたいのです。
事実、C++のとき、クラスのポインタで頭が混乱して挫折しました。
JavaとVB.NETはどちらが楽にプログラミングできますか?
ちなみに僕は文系大学卒業ですが、情報処理系の講義も受けています。
967仕様書無しさん:2008/04/08(火) 13:42:03
派遣常駐って
派遣元の会社の力関係があるって聞いたけど本当ですか?
968仕様書無しさん:2008/04/08(火) 15:22:43
>>966
サーバサイドや携帯アプリならJava
クライアント側なら.net

それはさておき、ポインタぐらいは(ry
969仕様書無しさん:2008/04/08(火) 16:25:01
>>968
C言語はやったことがあって基礎的なポインタそのものはわかるんだけど。
ポインタを応用したクラスのオブジェクトだったかなんだかに*が二つも三つもついてると
わけがわからなくなる。

で、結局さっきハローワークにいってVBプログラマの方に応募してきた。
JavaはHelloWorldしかしらないし、VB.netは基礎を一通りやってるし。
Javaの方が応募者が多かったので。
まあ、採用される気があんまりしないのだが。
970仕様書無しさん:2008/04/08(火) 16:55:35
アスタリスク二つや三つで混乱するなら言語仕様を復習した方が良い。
971仕様書無しさん:2008/04/08(火) 17:20:46
コンパイラの善意の解釈(おそらくポインタ定義してから値を代入でもコンパイルヮが解釈してくれる)
でやるのがダメなのに、アセンブラは学ぶに足りないとか普段言ってるのはどういう了見なんだ。

クォンパイルヮ任せにしてはいけない!
なら
アセンブラも必修だろ。


972仕様書無しさん:2008/04/08(火) 19:33:13
純粋なオブジェクト志向にはポインタやアセンブラは邪魔だろうと思うのだが。
オブジェクトに2重3重に参照だかポインタだか忘れたが、つけるのは、
BASICのGOTO文の多用によるスパゲッティプログラムみたいな気持ち悪さがある。
プログラムとしてあまり美しくないと思うのだがどうよ?
973仕様書無しさん:2008/04/08(火) 20:11:34
ポインタを理解できないアホは、
どうせオブジェクトの参照カウンタも理解できないアホだ
974仕様書無しさん:2008/04/08(火) 20:33:56
オブジェクト指向なんて役に立たないよ。
975仕様書無しさん:2008/04/08(火) 21:12:19
と勉強から逃げる無能が言う
976仕様書無しさん:2008/04/08(火) 21:29:20
>>972
オブジェクト指向もポインタも道具に過ぎない
977仕様書無しさん:2008/04/08(火) 22:04:04
>>976
道具に過ぎないが。道具にも古くて役に立たないものと
新しくて使い方を覚えないといけないものがあるだろう。
978仕様書無しさん:2008/04/08(火) 22:04:30
オブジェクト指向を有用に扱えない無能こそが役に立たないという結論
979仕様書無しさん:2008/04/08(火) 22:22:10
>>977
オブジェクト指向は別に崇高なものでもなんでもない
純粋なオブジェクト指向とか台詞は言語に振り回されてる証拠
980仕様書無しさん:2008/04/08(火) 22:27:28
>>979
オブジェクト指向が崇高だとは言ってない。
ただ、今後の傾向として、低水準な言語技術と高水準の言語技術との
乖離が激しくなるのは間違いない。
底辺にあるマシン語やアセンブラやポインタは残り続けるだろうが。
その上に乗っかってる高水準な言語技術はどんどん上に行って、
抽象的になっていくはずだ。
981仕様書無しさん:2008/04/08(火) 22:39:17
>>977>>980がなんら結びつかない件について
982仕様書無しさん:2008/04/08(火) 23:25:01
>>981
コンパイルエラー
983仕様書無しさん:2008/04/09(水) 00:32:23
ポインターすら理解出来ないアホにクラスが理解できるとは到底思えないんですがちがうか?

システムで用意されたクラスを使わされているだけでオブジェクト指向を語るなんで恥ずかしいマネよく出来るよな。
984仕様書無しさん:2008/04/09(水) 00:42:20
ポインタなんて概念は使わなくていいと
世界中のJavaスクールでは言われているぞ
ポインタは邪悪でソフトウェア工学に悪影響しか
与えないってね

それを逆手にとってバカにするJなんて卒業生が
いたなぁととある国々ではバカにされている。
それぐらいポインタなんて不要で害悪以外の何者
でもないのさ
985仕様書無しさん:2008/04/09(水) 00:54:19
あんまり安易にそういわれると、
ポインタのアイデアがいけないのか、ポインタが一般人には難しすぎるのか、
ポインタのシンタックスがいけないのか問い詰めたくなるわ。

宣言と使用が一致させられている、って覚えれば難しいものではないけれど。
986仕様書無しさん:2008/04/09(水) 01:07:53
確かにポインタと一言で言ってもいろんな側面があるしな
例えばJavaにもポインタはある!って一生懸命主張する人もいる
Javaの参照は概念的にはポインタにかなり近いものであることは
間違いないわけだし
987仕様書無しさん:2008/04/09(水) 01:31:41
ポインタなんて嫌がらせでしかつかわねー世
988仕様書無しさん
どの言語で?