1 :
へなちょこSE :
04/06/18 23:50 ほんと初歩程度レベルしか達してません。 ポインタなんて話の外。 ちゃんと自分で理解できるように一から努力します。 何か上達するコツがあったら、教えて下さい^^
>1 禿胴。 読んでないけど。
お前が感じている感情は精神的疾患の一種だ。治し方は俺が知っている俺に任せろ
4 :
仕様書無しさん :04/06/19 00:00
C言語も知らずにエンジニアを名乗れるとは、とんだご時世ですな。
7 :
仕様書無しさん :04/06/19 00:23
世の中のSEって
>>1 みたいな人ばかりなんですか?
就職活動どうしようかな…
ポインタ以外の初歩ってなに?????
9 :
仕様書無しさん :04/06/19 00:27
10 :
へなちょこSE :04/06/19 00:28
―終了―
>>1 >何か上達するコツがあったら、教えて下さい^^
機械語をやる。BrainFuckをやる。それでもダメなら転職する。
アマチュア以下の知識で金貰おうなんざ、世間をなめてるな。
>>1 SEならプログラムは出来なくてもいいから人に迷惑をかけないための一般常識と実力を身につけろ。
苦手分野に時間を費やすぐらいなら一芸に秀でろ。
>>12 プログラムもできない奴にSEすすめないでください。
14 :
仕様書無しさん :04/06/19 07:14
ポインタ以前の難しい部分って何かあったっけ? たぶん、・・・無いな それって、ようするに理解していないというよりは、 C言語の文法そのものを覚えてないって事なんじゃないの?
皆々様〜 セミコロンが難しいですよ〜!! 間違えてコロン打ち込んでエラー出したり あっ、括弧も難しいですよ〜!! 閉じ忘れて訳のわからない所でエラー出したり
ネタニマジレスw
プログラミングどの程度に出来たら食ってける?
無理。
プログラミングどの程度に出来たらお小遣いになる?
23 :
仕様書無しさん :04/06/19 11:11
>>1 みたいな奴が多いから、優秀なSEは高給が取れる。良い時代です。
Cなんかもう必要ないよ
それと理解できない事は無関係だな
Cは必要ない。理解する必要も無い。 俺は貞操を守りぬく。
>>22 コメントをローマ字で書いてもいいですか?
28 :
仕様書無しさん :04/06/20 01:10
>1君ラブラブすぎ!!(><)
29 :
仕様書無しさん :04/06/20 05:37
アセンブラはPGの必須科目から完全に消えたとは、16年ぐらい前の月刊『ASCII』の記事。 同様に、C言語もPGの必須科目から消えるでしょうな。 これからは、Java、VB、Perlなどの時代でしょうな。
30 :
仕様書無しさん :04/06/20 06:42
SEの仕事ってなんだ?
31 :
仕様書無しさん :04/06/20 06:50
>>30 システム設計、アプリケーション設計、コーディング、進捗管理
バカなSEに理解して欲しいことは、ポインタとかそういう次元の話ではない。 ハードウェアから作ったり、OSを改造したり、時間軸を捻じ曲げたりしなければ できなさそうな話をしなくなるだけで、オレは満足だ。
33 :
仕様書無しさん :04/06/20 08:00
include "studio.h"; main{ cout( "Hello Wold!" ); } Cはこれでじゅうぶん。
#(ry
typodef
include "studio.h"; 。。。。。「;」?
#include <stdio.h> #define NULLPO 'ぬるぽ' void main(void){ while(1){ printf(NULLPO); } }
>>38 文字列定数はね、シングルクォーテーションではなくて、
ダブルクォーテーションで括るんだよ
>>29 C#がのびることはあれ、VBの時代になることはないだろうよ。
C#は作るのがラクだったなぁ。 Cはちょっとムズイ。 ヘタレPGの独り言でした。
42 :
仕様書無しさん :04/06/20 11:36
>>42 そう?。printfの第一引数は書式指定文字列だよ。
自分のいつもの使い方と違う使い方していたとしてもねぇ
マニュアルを再度参照してみたら?
44 :
仕様書無しさん :04/06/20 12:05
VB.NETがうまく.NETフレームワークに統合されちまっただけに C#の優位性が働かないな。 逆に大文字小文字を判定するのでIDEのインテリセンスが機能しないだけ不利。 あえてVBからC#を学ぶ事はしなくてもいいと思われ。 VBは消えるがVB.NETは生き、C#は死ぬと思う。
>>37 これってOKなん?
前に常駐先の新人が軒並みこう書いてて、コンパイルも通ってたんだけど。
>>44 俺はC++野郎だから、VBはよくわからんのだが、
VB->VB.NETは言語使用が大幅に変わったというか、
VBしか使えない奴は理解できません、
みたいな話を聞いたんだが、そうでもないんか?
難しい(らしい)から消えるとふんだんだが・・・。
47 :
XleN ◆ZtXjKqCmiQ :04/06/20 12:49
w
>>44 VBを選んだ時点でMSと心中する覚悟が必要なのに、さらにC#で
心中スパイラルにはまる必要は無いと思うんだけどなぁ。
素直にJavaの方がいいじゃん。
>>45 Cでは;だけを書いてもエラーにならない。
ということは、無くても良い所に;をいくら書いても大丈夫ってことだ。
流れ読まないでカキコ こういう香具師がいるからデスマーチ
>>45 俺は34に突っ込みを入れたんだけど、
#includeの後ろにセミコロンはいらないよね。ってこと。
あと3年もすりゃC厨はCOBOLerと同然の扱いにされるだろう
53 :
仕様書無しさん :04/06/20 14:42
54 :
仕様書無しさん :04/06/20 14:51
>>46 VBできればVB.NETもできるよ。
よくVBやってたら他は理解できない、とか2chでよく言われてるけど、
それほどVBって簡単なわけじゃないよ。
VB→VB.NETへ移行が出来ないヤツはこの業界自体向いてない。
VBでもオブジェクト指向の真似事をしているプロジェクトは多々あるよ。
ゲッターセッターも理解できない人には難しいかもしれないけど。
VBでもそれと同じ事やってるとこもあるから、さほど難しいわけじゃないと思う。
55 :
仕様書無しさん :04/06/20 14:59
VBでプログラミングの楽しみを教わりました VBありがとう!
>>50 いや自分も突っ込みを入れたつもりだった。
gccじゃエラーになったと思ったけど常駐先のコンパイラでは通るので
不思議だなあと。
>>48 セミコロン書いてもいいのか。知らなかった_| ̄|○
> セミコロン書いてもいいのか。知らなかった_| ̄|○ まあ、たまたまエラーにならないだけで、おバカな行為には違いないけどな。
うっかり2個かいちゃったときも安心だYO!
59 :
仕様書無しさん :04/06/20 19:13
>>1 1.C言語のテキスト中に書かれているプログラムを打つ。
2.そのプログラムを改造して、予想通りの操作をするか確認する。
この2つは面倒だけど、コンパイルエラーとその対処法の勉強にも
なるので、プログラムを眺めているだけの時より、遥かに勉強になる。
疑問に思ったら、とりあえずその部分をいじってみるべし。
あと、プログラム言語のテキストも色々あるので、分からない部分
は他のテキストを調べるというのも手だな。
「自分で調べろヴォケ」というレスが多いマ板で、こんな良心的なレスは初めて見ました。 感動です。
61 :
仕様書無しさん :04/06/20 22:12
はぁ?マクロで書かれた部分の \ 以降にセミコロン 入れたらエラーになるだろうが 嘘教えたらいかんよ
べつにマクロに限ったことでもないのでは?
> はぁ?マクロで書かれた部分の \ 以降にセミコロン セミコロンじゃなくてもアウトだろ。 んなもん、根本的に文法崩れじゃねーか。ばか。
64 :
仕様書無しさん :04/06/21 19:41
C言語の初歩−MissionC
CD−ROMで簡単マスター
著者/訳者名 : StackArt 日経ソフトウエア
出版社名 : 日経BP社 (ISBN:4-8222-1696-9)
発行年月 : 2003年09月
販売価格 : 1,995円(税込)
内容は保証できないが、ゲーム感覚でC言語が学べる本らしい。
超初心者向けみたいなので、
>>59 の前にテェっクしてみては?
K&Rまず読め。 わからなかったら、他をあたれ。
66 :
仕様書無しさん :04/06/21 21:39
67 :
仕様書無しさん :04/06/21 21:48
>>1 早く退職してくれ。ある会社では、新入社員に対し、2週間。さらに
別の会社では、新入社員に1週間でCを覚えさせる。当然それで理解
できない奴は退職以外に道はない。つまり、「適職」が違うということだ。
68 :
仕様書無しさん :04/06/21 21:51
より簡単にプログラムを組める言語が残る。 よってVB.NETが残る
>>65 K&Rは訳がめちゃくちゃで
>>1 に読める代物じゃないと思うが。
>>52 > あと3年もすりゃC厨はCOBOLerと同然の扱いにされるだろう
高給で雇われて良いかも。
学生時代にこれができなくて落ちこぼれました 同輩はほぼみんな大学行く前からそれらしき言語を習ってました 専門家の担任の講義も何のことだかさっぱりで聴覚を切っていました ポインタって何?ぬるぽなら解るのにCになると全然わかりません (↑できればガガッガッで)
ブレイク!ブレイク! / コ _ ( ゚∀゚)=三Я---R\ 人 スパイラルバンカー ガガッガッ (ヽ□=( ̄[口-口)=≫< >__Λ∩ > > -U-///-U)-> V`Д´)/<<71 /
>>67 君のいう「適職」とやらは、何年くらい続けられるのかな?
74 :
仕様書無しさん :04/06/22 13:14
>>69 訳はカナーリわかりにくいね。
原著の方が断然わかりやすいのは確か。
K&Rが理解できない人なら35でリストラされそうだから、
適正試験としていいんでないか。
75 :
天下一の天才 ◆fYPuzeyYVY :04/06/22 13:24
>>1 できないなら上達してるふりしてればいいじゃん。
俺は学生時代に趣味で覚えられたから楽だった。 質問できる人もネットもなかったけど仕事や学業じゃないから、 プレッシャーはぜんぜんなかったし。
77 :
仕様書無しさん :04/06/22 14:02
大昔、先輩から「これを読め」と言われた。 ・プログラミング言語C K&R ・アルゴリズム+データ構造=Pascalプログラム N.ヴィルト ・コンパイラ エイホ&ウルマン 今にして思えば「なるほど」だけど、初心者に読ませる本じゃない。 じじぃでスマソ
78 :
剛万太郎 ◆uuJAVAsys2 :04/06/22 14:40
習うより慣れろ と、どの本にも書いてあったなぁ
79 :
神 ◆pCtwmccF5s :04/06/22 17:53
>>77 なかなかの先輩だな。
コンピュータアーキテクチャは言われなかったの?
80 :
神 ◆pCtwmccF5s :04/06/22 17:55
C言語をわしが教えてやろうか。
81 :
神 ◆pCtwmccF5s :04/06/22 17:59
C言語というのは何か? それはプログラミング言語の一種であり、広く使われていて、 この言語から派生している言語も多い。これから学び はじめるのは中々いい選択かもしれない。
82 :
神 ◆pCtwmccF5s :04/06/22 18:05
さて、プログラミング言語とは何だろうか。 それは、プログラミングする際に使用する人工言語である。 プログラミングとは何だろうか。 それは狭い意味で言うと、プログラムを書くことである。 さて、プログラムとは何だ? これはだな、コンピュータ が行う処理を記述したものである。
83 :
神 ◆pCtwmccF5s :04/06/22 18:16
コンピュータが行いうる処理は無限である。 だがそれは原始的な処理を組み合わせることによって表現されうる 処理は無限ということである。原始的基本的処理の集合ごく小さい。 原始の種類より少ないのが一般的だろう。 コンピュータはこの基本的処理を一つずつ順番に実行していくことになる。 だからプログラムは基本的処理を並べたものになる。 その基本処理の中には実行の順番を変える命令も含まれている。 しかもある条件に基づいて実行順番を変更することもできるのである。
84 :
神 ◆pCtwmccF5s :04/06/22 18:21
この基本的処理の集合をマシン語と呼ぶ。 そしてそれで記述されたプログラムを実行コードという。 C言語のプログラムもマシン語と同じように基本的な処理を ならべたものであろうか? 以下に一例を示すのでみてみよう。 #include<stdio.h> main(){ printf("にんにく\n"); }
先生! mainに戻り値がありません。
神様、「処理」という言葉が未定義で理解できません。 言葉自体が古臭い印象を受けるのは私だけでしょうか
先生! argc, argvがありません。
先生!プロトタイプ宣言がありません。
先生! コメントを書いてください。
そこでVisual E++だ。諸君。
91 :
神 ◆pCtwmccF5s :04/06/22 18:29
このどれ一つとしてマシン語の集合に属さないのだ。したがって このプログラムをコンピュータは実行することができない。 ではなぜプログラムと呼べるのだろうか? 実はこのC言語のプログラムを、マシン語のプログラムに変換する ことができるからである。その翻訳を行うプログラムが存在する。 それはインタープリタとかコンパイラとか呼ばれている。
神様。なんでコードを一行おきに書くのですか? #なぜに大蒜?まさか人肉のことではないと思うけど
93 :
神 ◆pCtwmccF5s :04/06/22 18:43
C言語のプログラムを翻訳するにはどうしたらいいだろうか。 まずCのコンパイラを手に入れインストールする。 Bolland C/C++ Compiler とか gcc とかあるぞ。 ここではBolland製のコンパイラである、bcc32 を使用する。 OSはWINDOSとする。 さてインストールしたらコマンドプロンプトを起動する。 そしてつぎのようにする。
Bolland C/C++ Compiler
95 :
神 ◆pCtwmccF5s :04/06/22 18:53
cd C:\ これでちかちかするやつの左にC:\ と表示されるはずだ。 md C\ dir <DIR> C と <DIR> borland が表示されていればOKだ.OKの場合、次に進むことができる。 cd boland dir とすると、 <DIR> bcc55 があるだろう。あれば次にいく。
神様。WINDOSはどこで手に入れればよいのでしょうか。
98 :
神 ◆pCtwmccF5s :04/06/22 19:08
>>95 cd bcc55
dir
<DIR> Bin が表示されれば、次に行く。
cd bin
dir
そうすると
bcc32.exe や bcc32.cfg があるだろう。bcc32 の数字が違っても問題はない
が覚えとけっと。さて
bcc32.cfg
と入力してENTERだ。
するとメモ帳が起動される。
「cがわかんない」って言ってるのに cの一言語処理系の使い方を延々と解説してどうなるのかね
100 :
神 ◆pCtwmccF5s :04/06/22 19:25
>>98 何か表示されたらすべて消去だ。そして次のものをコピペすること。
-I"C:\borland\bcc55\Include";"C:\C\"
-L"C:\borland\bcc55\Lib";"C:\C\"
-nF:\C\
上書きして閉じる。そして
cd C:\
を入力だ。ENTERを忘れるな。 次は
path
を入力だ。<警告>path の後には何も押さずにENTERを押すこと。
すると
F:\WINDOWS\system32\;F:\WINDOWS\System32\Wbem;
みたいのが表示される。メモ帳を開き、
path F:\boralnd\bcc55\bin;
と入力した直後にF:\WINDOWS\system32\;F:\WINDOWS\System32\Wbem;
をコピペする。結局↓なるのでそれをコピーだ。
path F:\boralnd\bcc55\bin;F:\WINDOWS\system32\;F:\WINDOWS\System32\Wbem;
そしてそれをコマンドプロンプト上に春。そしてENTER
path F:\boralnd\bcc55\bin;F:\WINDOWS\system32\;F:\WINDOWS\System32\Wbem;
そして path と入力して同じものが表示されればOKだ。
101 :
天下一の天才 ◆fYPuzeyYVY :04/06/22 19:28
馬鹿が張り切るとやっかいなことになる良い例だな。
>>100 × -nF:\C\
○ -nC:\C\
しかし、最近のマ板は上は馬鹿がいる、とはっきりしてるなー。
104 :
神 ◆pCtwmccF5s :04/06/22 19:38
>>100 はF は C で置換ね。
では
copy con ninniku.c
#include<stdio.h>
main(){
printf("にんにく\n");
}
と入力して、Ctrl+Z を押す。そして
type ninniku.c と入力し、上のプログラムが表示されたら、
bcc32 ninniku.c とする。そして
ninniku と入力して
にんにく
と表示されればOKだ。
さらばだ。
次には上のCプログラムを説明しよう。
一つだけ言えるのはマ板にいるコテは害基地ばっかってことだな。
>>105 そうでないコテもいるんだけど、こうも基地外が増えるとな。
外注業者あたりからか、こういうのを相手にする奴がいるからな。
>>天下一の天才 ◆fYPuzeyYVY おまいもコードを書いてみろ。 C/C++でもJavaでもVBでも良いぞ。
なんで OS が Windows なんだよー
コテの数が少ないので吉外一人がキチパーセントを多く増やしてしまう。
111 :
神 ◆pCtwmccF5s :04/06/23 10:07
息子達よ、どうもわしの実力がわかってないようだなw。
112 :
仕様書無しさん :04/06/23 10:12
先生 bccはいりません gccでの例を出してください
113 :
天下一の天才 ◆LbzUraxIck :04/06/23 10:23
BOOL quotedPrintableDecode(char *srcpath, char *dstpath) { u_char c, c1; FILE *src, *dst; u_int lineCnt, loopSw=1; u_short shex; if((src= fopen(srcpath, "rb")) == NULL ) return FALSE; if((dst = fopen(dstpath, "wb")) == NULL ){ fclose(src); return FALSE; } lineCnt = 0; //76行オーバで改行するカウンタ while(loopSw){ c = fgetc(src); if(feof(src)){ loopSw = 0; break; } if(c == '='){ c = fgetc(src); if(c == '\r'){ c = fgetc(src); if(c == '\n'){ //エンコード時に付加した「行の最後の改行文字」ここではなにもしない } }else{ //'='の後の2バイト目を読み出す c1= fgetc(src); shex = quotedPrintableGetBinvalue(c,c1); fputc(shex, dst); } }else{ //その他はそのまま印字 fputc(c,dst); } } fclose(src); fclose(dst); return TRUE; }
先生。コピペは止めて下さい。
>>111 天下一よりはお前の方が少しはマシな気がする。
>>113 逐一説明してくれよ。
まあ無理だろうけどね。
windowsかぁ。関数参照してるからなんとも。それとも quotedPrintableGetBinvalue ってなんかのライブラリなのかね
参照されない変数があるね
>>1 君はC言語以前に基礎体力不足だ。
もっと走り込みなさい。
先生。 fgetcはエラーか終端でEOFを返します。
121 :
天下一の天才 ◆fYPuzeyYVY :04/06/23 10:55
俺は金にならないコードは書かないが。 程度の低そうな偽者ですね。
122 :
神 ◆pCtwmccF5s :04/06/23 10:55
いちいち説明するのは面倒だ。俺がプログラムを簡単なものから 書くからわからなければ手を上げて質問しなさい。 まずは #include<stdio.h> main(){ printf("かめ\n"); }
>>121 俺は金にならないコードは書かないが。
↓
俺のコードは金にならないが。
かわいそうですね。
とりあえず
>>122 のあからさまな間違いを指摘しろよ。
124 :
天下一の天才 ◆fYPuzeyYVY :04/06/23 11:00
>>123 金を払うなら教えてやってもいいが。
ちなみに俺の単価は最低でも一時間6000円となってるがね。
引篭りにしかみえん
先生。時給と日給を勘違いされては困ります。
先生、時給と月の小遣いを勘違いされては困ります。
129 :
神 ◆pCtwmccF5s :04/06/23 11:16
/* form: sum m n func: m から n までの和。 m と n を含む */ #include<stdio.h> #include<stdlib.h> int main(int argc, char *argv[]){ int i, from, to, sum; if(argc != 3){ if(argc < 3) printf("引数が足りない。\n"); if(argc > 3) printf("引数が多い。\n"); exit(EXIT_FAILURE); } from = atoi(argv[1]); to = atoi(argv[2]); sum = 0; for(i=from; i<=to; i++){ sum += i; } printf("sum = %d\n", sum); return 0; }
神様。 引数がintに変換出来ない時は警告メッセージが欲しいです。
神様には腹立たないんだけど、凡才には腹が立つ。 なんでだ?
132 :
神 ◆pCtwmccF5s :04/06/23 11:25
わしに意見するとは。。。 神を何だと思ってるんだ!
神様。 from > to のときも警告が欲しいです。
135 :
神 ◆pCtwmccF5s :04/06/23 11:52
/* form: sum m n func: m から n までの和。 m と n を含む */ #include<stdio.h> #include<stdlib.h> #include<string.h> #include<ctype.h> int main(int argc, char *argv[]){ int i; int from, to; int len; long sum; if(argc != 3){ if(argc < 3) printf("引数が足りない。\n"); if(argc > 3) printf("引数が多い。\n"); exit(EXIT_FAILURE); } len = strlen (argv[1]); for(i=0; i < len; i++){ if(!isdigit(argv[1][i])) { printf("error:\n 引数には以下の文字しか使用できません。\n"); printf("0,1,2,3,4,5,6,7,8,9\n"); exit(EXIT_FAILURE); } }/* for */ /* 続く*/
136 :
神 ◆pCtwmccF5s :04/06/23 11:53
>>135 の続き
len = strlen (argv[2]);
for(i=0; i < len; i++){
if(!isdigit(argv[2][i])) {
printf("error: 引数には以下の文字しか使用できません。\n");
printf("0,1,2,3,4,5,6,7,8,9\n");
exit(EXIT_FAILURE);
}
}/* for */
from = atoi(argv[1]);
to = atoi(argv[2]);
if(from == to){printf("sum = %ld\n", to); exit(EXIT_FAILURE);}
if(from > to ){printf("error:\n 第一引数が第二引数より大きい。\n"); exit(EXIT_FAILURE);}
sum = 0;
for(i=from; i<=to; i++){
sum += i;
}
printf("sum = %ld\n", sum);
return 0;
}
間違えた。 if(from == to){printf("sum = %ld\n", to); return 0;} ではさらばだ。
138 :
仕様書無しさん :04/06/23 12:43
引数が足りないじゃ不親切すぎます。Usageくらいだしてください。 あとソースが見づらいです。見やすいソースを書くの大事だと思います。
神様。正の整数しか対応しないのですか。
そのインデントの仕方は正直金貰ってプログラミングする人が書くソースじゃないと思います。 視認性を良くするために{}は必ず単独で一行使ってください。
なるほど、 こうやって神は死んでいくわけだな。(w
神様のバグフィックスが必要だ
かみはバラバラになった
#include <sys/types.h> #include <signal.h> int main() { kill( 1, SIGKILL ); }
>>140 タテに長いクソ読みにくい表記を勧めるな、ド素人が
>>145 そうそう、プログラムって言うのは3次元的に書くものだよね。
奥行きがないと。
ネタなら別に構わんが、自分流のインデントを 他人に押し付けるのは人として最低。
148 :
わからない :04/06/23 15:13
フロッピーディスクのライトプロテクトのチェックって どう書けばいいんですか? 知ってる人教えてください。
>>148 穴が開いているか閉じているかを目視する。
これをコードにすればいいだけさ。
>>148 マジレスすると、
ボリュームラベルだっけ?
あれを読んで保存してから、適当に書いてみて
書ければ、元の値を書き戻してから、プロテクト無しと判断。
書けなければ、プロテクトされてると判断、
とか昔やった希ガス。
もっと良い方法あるのかも。
筋肉ドライバ
亀はコピペしたからTab が無効になったんだろ。
154 :
仕様書無しさん :04/06/23 18:34
天下一の天才 ◆fYPuzeyYVY < 神 ◆pCtwmccF5s
まずどの環境か書けよ。
157 :
仕様書無しさん :04/06/23 23:05
よ〜し、今日はイッパツ、奇妙なプログラムをみせちゃうぞ。 #include<stdio.h> void main(void) { int a[2]; a[0] = 10; 1[a] = 20; printf("a[0] = %d, a[1] = %d\n", a[0], a[1]); }
>157 1[a]=*(1+a)=*(a+1)=a[1] なんて、ガイシュツなので没
コンパイル通るのかえ?
逝ってくる_| ̄|○
162 :
仕様書無しさん :04/06/24 10:50
例外処理はどのプログラムでも似たようなもんだから、 丁寧にやると同僚に神の正体がバレちゃうだろw。
>>157 これが通るのか。
すげーな…。
だから、例のCの作者のネタだったとかいう談話が
マジネタに見えるんだな。
>>157 おわ、おもしれー
始めて見たよ。
それ実際に使う奴がいたら確実に殺す。
ここは本当にマ板なのか
「a[1]」は「*(a+1)」のシンタックスシュガーである ってことを理解すればカンタンだろ
167 :
仕様書無しさん :04/06/24 11:17
「天下一の天才 ◆fYPuzeyYVY 」が、ここでも偉そうなことほざいている
>>166 それはわかるが高級言語でそんなコード書くなら素直にアセンブリ言語使ってくれ
知らない事と使う使わないは別次元の話
とりあえずトリビアで食ってる奴のレスキボン。
char itoh(int a){ return a["0123456789abcdef"]; } ネタならもうひとひねり欲しいところだな
a>=0&&a<=15 の時しか正しい結果を返さないな
173 :
仕様書無しさん :04/06/24 14:30
174 :
仕様書無しさん :04/06/24 14:36
char itoh(int a){ int p = a % 16; return p["0123456789abcdef"]; }
>>174 int p = a & 0xf;
こっちの方がいいと思われ
>>173 char itoh(int a){
const char *str = "01223456789abcdef";
return str[a];
}
こういうこと
ごもっとも
いっそこれくらいやっちゃえ。 char *itoo(char *s, int a) { 2[strncpy(s, &(a % 0xf * 2)["00010203040506071011121314151617"], 2)] = '\0'; return s; }
int p = a & 0x0f;
>>177 もうお分かりでしょうが
× a % 0xf * 2
○ (a & 0xf) * 2
death。
さすがマ版、混沌としてきた
>>177 このくらいやるべし
char *r_itoo(char *s, unsigned int a){
return 1 + &(*(a & ~7 ? r_itoo(s, a >> 3) : s) = (a & 7) + '0');
}
char *itoo(char *s, unsigned int a){
return *r_itoo(s, a) = 0, s;
}
さすがマ版、単に複雑なコードをUpする流れに
可愛い奴らだ、もうkissしちゃうぞ。 Keep it simple, stupid !
184 :
仕様書無しさん :04/06/24 18:48
「天下一の天才」 ◆fYPuzeyYVY が、バカの集団で能書きたれて 結局は同類じゃねーか 馬鹿に向かってしか能書きをこけねー おまいは死んだ方がいいよ,「天下一の天才」!
185 :
仕様書無しさん :04/06/24 18:53
全身ちんぽの「天下一の天才 ◆fYPuzeyYVY」! おまえは、あっちこっちで毒吐いているな! おまえは、「天下一のくそ ◆fYPuzeyYVY」の方がふさわしいぞ!
brainfuckのほうがまだわかりやすいんじゃないのか
ふつーにこれでいいじゃん。stringクラスがnullターミネートを保障してくれるなら。
void itoh( string& s, unsigned int a )
{
if( a )
{
unsigned int n = a&0xf;
itoh( s, a
>>4 );
static const char *hexChar = "0123456789abcdef";
s.push_back( hexChar[n] );
}
}
>>183 シンプルな書き方?。以下でどうか
int p = a & 0x0f;
return p<10 ? p+'0' : p-10+'a';
でもこれってaが負のときマズイネ(w
unsigned
>>187 志村ー、a=0の時、なんも起こらんぞー
ついでにsprintf(buf, "%x", a);でいいじゃん!
難しそうな話してると「天下一の天才」は来ないんだね。
>>190 そうかー!
すまん、ポイしといてくれ。
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄」
―――――――――――――‐┬┘
____.____ |
| | | |
| | ∧_∧ | |
| |( ´∀`)つ ミ |
| |/ ⊃ ノ | |
 ̄ ̄ ̄ ̄' ̄ ̄ ̄ ̄ | [
>>193 ]
|
>>181 みてて思ったけど、三項演算子を左辺にもってこれる意味って
素人いじめ以外の何者でもない気がするなぁ…
__ i<´ }\ , - 、 ヽ.._\./ .ンく r-兮、 __ ∠`ヽ.! / ヾニEヲぐ ,ゝ-> さすがマ板だ、 /_`シ'K-───‐-、l∠ イ 複雑なコードでも l´__,/l\、_ ̄0¨0)゙@Yヘ, -┤ なんとも無いぜ! l'___|⌒ヾ''ー==、ーr='イ i二| / .」 i /./7r‐く lー! f. ヽ‐i人.∠'< _i. l,.-ゝ. トiヘヘ「ト〈 `X トレi7__| 〉ト:トハj`! i. / トー┤lルj,リ /‐+----+‐l iー--i---ヾ'〃 l_i____i__| |___i,__i_|
>>195 条件演算子は左辺には持ってこれないよ
あの場合はそれを括弧で括って*で間接参照しているから右辺値になっただけで
>>197 C言語で止まってる人ですか?
C++ならできます
199 :
仕様書無しさん :04/06/26 21:11
>>198 それって何かメリットあるの?
197ではないがC++は捨てたオレ
202 :
仕様書無しさん :04/06/28 01:22
いじめばっかやってるから昇格できねぇんだよ。きっと 終身プログラマ?
203 :
仕様書無しさん :04/06/28 10:20
無知を指摘されて逆ギレするバカが多いな
サクッと答えられるのには答えたほうがいいな。 あとで大変なことになってそうだ。
無償Borland C++Compiler ではカンソぅアプリしか作れない(-Wスイッチ付ければWinMainが通るが) ので、まずカンソぅアプリについて詳細に知らねばならない。 しかしNT系統のOSでは標準でANSI.sysが入らないので、 エスケープシーケンスが使えないなど不都合がいろいろとある。 自分は手動で入れて使えても、他人にアプリを渡すとき ANSIを入れてくれない人は使えない。 これは困った。 しかしWindowsプログラムはまだ早い。 さあどうする
>>206 > しかしWindowsプログラムはまだ早い。
> さあどうする
あきらめろ。
1.諦める 2.無念あとを頼む
DOSをインストール汁
>>206 自分でカーソル制御汁。難しくない。
HANDLE co;
CONSOLE_SCREEN_BUFFER_INFO info;
if ((co = GetStdHandle(STD_OUTPUT_HANDLE)) == INVALID_HANDLE_VALUE) {
printf("ガチョーン Σ(i゚Д゚)\n");
return;
}
printf(" ABC");
GetConsoleScreenBufferInfo(co, &info);
info.dwCursorPosition.X -= 7; // カーソル位置を7文字分左へ
SetConsoleCursorPosition(co, info.dwCursorPosition);
printf("DEF\n");
ガチョーン Σ(i゚Д゚)
m9(゚∀゚) コーディングの最高峰を教えてやるぜ。 #include <stdio.h> int main(void){ printf("Hello World!\n"); return(0); } アーヒャヒャヒャヒャhyahyahy
つまんね
return(0); この辺が最高峰だと思われ
一応エラーは吐かないと思うけど、無駄だよ。その括弧。
printf()はコストがかかるからなぁ
>>216 それは事実だが、そのコストを考えなければならない環境で
プログラミングしなければならない人の割合は1%以下だと思うぞ
#include <sys/types.h> #include <signal.h> void main() { kill( "1-217", SIGKILL ); }
return 0;とreturn (0);に違いなんかねーだろ。 つまんねーとこ拘んな。
return 0;はなんとなく文法的に違和感ある俺は かっこつける。
>>217 しかし、その1%の環境が、コンピュータ依存の世の中を支えているのだ。
223 :
仕様書無しさん :04/06/30 13:29
>>217 組み込み屋さんだったら普通に気にするよ。
>>223 だから、組み込み屋は全体の1%以内に含まれるんだって。
誰でもできる業務系がわんさといるからね。
>>220 >文法的に違和感ある俺は
これが解らない。
>>223 そうでしたか。失礼。
組込み屋さんが人員数構成比1%以下であるはずは無いと思います。
何%かは知りませんが
>>226 そう言えば()付けなくてもいい構文って何があった?
return
goto
他には?
>228 break continue
typedef
>>226 define切ってreturnに渡す時、どうしても括弧で括らんと落ち着かん。
そんなんで、全部括弧付けてやらんと落ち着かん。
それが癖になったという訳だ。
deleteだってfcloseだって括弧付けなくても通るじゃん。
>>232 C言語のスレだっつーの
deleteはまだしも、fcloseって釣りかよ!
優先順位覚えなくても括弧があればOkさ!という話はよく聞くね。
真面目に優先順位は覚えてないな 頭につける&や*が案外低いってのぐらいかなぁ? >> と */ とどっちが高い?といわれるとわかんないや
最近、括弧つけずにコーディングしてると、 MSのコンパイラが警告はいて来るんだよな・・・ ちゃんと解ってるんだから、むやみに括弧強要しないでくれ・・・> MSVC
>234 まったくもってその通り。 デバッグする時、本調べるのマンドクセ
*++p; ++*p;
239 :
仕様書無しさん :04/07/03 20:59
>>236 お前がわかってればいいって話しじゃないだろ
お前一人がわかってればいいって世界で仕事してるなら、警告ださない設定にすれば済むだけの話だろ。
>>231 >define切ってreturnに渡す時、どうしても括弧で括らんと落ち着かん。
意味が良くわからん。
初心者プログラマが集うスレはここですね?
いいえ、私はプログラマと言えません。
私はぷぐらまです
私はプマです
(プ
私はプーです
私はママです
マラーです
プログマラーです
私はプレデターです
素人Fカップです。
私はプログラマです。 そして、私は泳げません。 すべてのプログラマの中には、しばしば、泳げない者がいます。 そして、私は彼らのうちの一人です。 私はプログラマです。 しかし、泳ぐ能力は、むしろカブトムシに近いです。 すべてのプログラマは、カブトムシではありません。 そして、私はプログラマです。 ゆえに、私はカブトムシではありません。 ならば、私はプログラマを辞めて、カブトムシになります。 そして、私は泳げないでしょう。
もし 現在のプログラマ統計比率をきちんと盛り込んで、プログラマ人口100人の村に縮小するとしたらどうなるでしょう。 その村には・・・・ 57人の無能PG 21人の無能SE 14人の天才PG 8人の有能SEがいます。
>>253 私が抜けるので、それは99人の村になりましょう。
なぜなら、私は既にカブトムシであるところのものになるはずだからです。
瀬戸内海は、小さな島がたくさんあって、風景がきれいです。
そして、私は海苔をこしらえます。それは、太陽の下で行われます。
瀬戸内海、海苔なんか出来るのか? 最近は汚染が酷くて貝が大分減ってるんだが…俺の島の側だけかな
>>253 プログラマ村にSEがいるのはおかしいと思ふ
258 :
しょぼSE :04/08/03 20:04
RedHatLinuxのカーネルってC言語で書かれてる? どうやって見れるのか教えて下さい。
>>258 とりあえず、エディタを使えばいいんでないの?
260 :
しょぼSE :04/08/03 21:51
カーネルの場所ってどこですか? ファイル名はなにになってますか?
261 :
仕様書無しさん :04/08/03 22:02
その名はカーネルサンダース
>>260 お前はまずLinuxの基礎...いやソフトウェアの基礎知識から勉強した方が良いな。
263 :
しょぼSE :04/08/03 22:07
↑貴方も答えれてないじゃないですか。 一緒に基礎から勉強しませんか?
てか板違い
265 :
仕様書無しさん :04/08/03 22:13
8bitのアセンブラでも勉強したら? ポインターなんて難なく理解できるようになるよ?
Linux板へ行けば懇切丁寧に教えてくれると思う。
267 :
仕様書無しさん :04/08/03 23:13
別に8bitである必要はあるまい >265
こういうときこそ、基本情報技術者試験だな。 ポインタが含まれるが、余計なものは含まれない 最低限のアセンブラが用意されている。 勉強には最適。
269 :
しょぼSE :04/08/03 23:17
どうもありがとうございます。
270 :
仕様書無しさん :04/08/03 23:28
アセンブラ(機械語)なんて難しくありません。 AとBを足してCに格納せよ… てなカンジです。 そこに、アドレッシングモードなんて概念が入って来ますが それも難しくはありません。 そういうのを理解した上で、Cを見ると、なぁーんてコトはありません。
271 :
仕様書無しさん :04/08/04 13:23
ちょっと質問です。 これからC言語始めようとしてるんですけどどれがおすすめですか? 種類がたくさんありすぎでどれがいいのかさっぱりわかりません;; 自分は初心者なのでできれば使いやすくでわかりやすいのがいいです。 是非参考程度に聞かせてください。
C99だな、これはもうC++とか関係なしに
274 :
仕様書無しさん :04/08/04 14:09
276 :
仕様書無しさん :04/08/04 14:16
OSと切り離せないと思うのだが、まぁWindows+VCとかにしとけば。
逆転ホームラン! Solaris + VC とかどうやろ
じゃlinuxでgcc
IDないとわけわかめ
わかれよ、使えねーな
CodeWarrior?
>>284 色々使えばよい。 理由がわからん奴は知障。
なんで?
291 :
仕様書無しさん :04/08/04 14:39
バカどもがっ!
292 :
名無しさん@お腹いっぱい :04/08/04 23:21
うーん、こうだろ。 itohex(int i) { return "0123456789abcdef"[i]; }
293 :
仕様書無しさん :04/08/05 22:11
294 :
仕様書無しさん :04/08/05 23:03
>>293 itohex(int i)
{
return "0123456789abcdefghi"[i];
}
295 :
仕様書無しさん :04/08/05 23:16
itohex(int i) { return strcpy((char*)malloc(i),"0123456789abcdef")[i]; }
296 :
仕様書無しさん :04/08/05 23:27
itohex(int i) { return ("0123456789abcdef"[i])==("0123456789abcdef"[i])?("0123456789abcdef"[i]):-1; }
297 :
仕様書無しさん :04/08/05 23:30
素朴な質問いいですか? たとえば sin(17) みたいな微妙な値の正弦値って、プログラムだと簡単にもとまりますよね? あれや、平方根とかって、三角関数表(高校の教科書みたいに)が PCに内蔵されてたりするの?それとも毎回計算してるんですかね。 便利だから全然気にしてなかったけど、自力でsin(26)とかって計算できるんですか?
>>297 >PCに内蔵されてたりするの?
もっとコンピュータに関して勉強しましょう・・・学生さん
コンピュータより数学の勉強をしっかりやるべきと思う。
>>297 >自力でsin(26)とかって計算できるんですか?
それができないとすると
>三角関数表(高校の教科書みたいに)が
これは神が作ったのかっつー話ですよ。
まぁ、高校の教科書だしてるってことは高校生だろ sinを多項式で求めるには、微分知ってないと無理なんじゃないかな? 公式丸暗記、って方法もあるが
出力値の種類数が有限である場合(toupperとか)、 表引きで実装するのが定石である様だが
その表は神が作ったのかっつー(ry
そんなことを考えるのは外から来る者だけさ。 エジプト人はこう答えるだろうね。 「決まってるさ。神が創ったんだよ。」 と。
305 :
仕様書無しさん :04/08/07 17:09
マクローリン展k(ry
306 :
仕様書無しさん :04/08/07 17:46
307 :
仕様書無しさん :04/08/07 19:28
308 :
仕様書無しさん :04/08/07 21:39
C#のほうが美しいと思うけどな
Cの上位言語HSPで決まりに決まってるだろ。
>297 PCの中の人が、三角形を書いて その斜辺と高さの比率を求めてるんだよ。
Java 最高。
>>297 の三角関数表内臓PCが妙にツボにはまった
夜中だけどさっきから笑いが止まらん
…寝たほうがいいな
アセンブラが最も美しい
ぴゅうた日本語ベーシック最強
え、三角関数って90度分は教科書の表があって それより細かい値は線形補完で求めてるんでしょ?
コプロが付いてりゃH/Wに問い合わせるだけ。
317 :
仕様書無しさん :04/08/31 14:01
C言語やった後にVBAやると気持ち悪くなる
318 :
GROAD ◆4C1MajRa36 :04/08/31 15:35
信長が最強に決まってるだろうが。
プログラミング言語 織田信長ねぇ...
321 :
仕様書無しさん :04/09/04 00:36
char itohex(int i) { return i["0123456789abcdefghi"]; }
ポインタ全然わからないよ・゚・(つД`)・゚・ ウワァァァン 。 やっぱりあれって難しいのかな? もうね、ぜんぜんっ、わからに!
324 :
仕様書無しさん :04/09/04 01:46
>>323 char itohex(int i)
{
return (0xF & i)["0123456789abcdefghi"];
}
325 :
仕様書無しさん :04/09/04 01:54
拝啓、お変わりありませんか? そうそうこの間、電気料金を口座振替にしたんです。 こいつは便利で支払日を忘れて、 「あ、いっけね」ってな間違えがないし手続き簡単だし。 それじゃ母さん、口座振替が便利ですよ。
【itohex 仕様書】部門コード: 担当: 検印: インデックス付きアドレス相対アドレッシングを用い レジスタ0が示すアドレスを基本アドレスとし レジスタ1の下位4ビットが示す値を指標とする 実効アドレス位置にあたるデータを1バイト分返送する。
327 :
仕様書無しさん :04/09/04 02:42
>>322 >ポインタ全然わからないよ・゚・(つД`)・゚・ ウワァァァン 。
ってポインタの何が全然わからないんだか全然わからないよ (;-_-) =3
>>1 よ、初歩レベルには達しているつもりなのか?
だが
>>1 よ、ポインタはCの入門書で説明してあるぞ。
入門書の内容が理解できないなら
>>1 よ、初歩レベルにも達していないことになるが…。
>>1 よ、
おりは、
>ほんと初歩程度レベルしか達してません。
>ポインタなんて話の外。
のところがどうしても理解できないんだ。詳しく説明求む。
つまり初歩程度レベルには達したんだろ?
つーことは初心者向けの入門書に書いてあることは理解したんだろ?
でないと初歩程度レベルに達したとは言わんからな…
ところで
>>1 よ初心者向けの入門書にはポインタの説明がしてあるが…?
>>1 よ、詳しく説明求む。
330 :
仕様書無しさん :04/09/04 08:48
331 :
仕様書無しさん :04/09/04 23:27
>>325 ○放送時期
昭和53年から54年頃
○タイトル
口座振替〜母への手紙
○歌 詞
拝啓 お変わりありませんか。
(僕は、花の東京でうまくやってます。)
そうそう、この間電気料金を口座振替にしたんです。
こいつは便利で、支払日を忘れて、あっいっけね、
てな間違いが無いし、手続き簡単だし
(母さんご存知でしたか。)
(この間送ってくれたお見合い写真
僕の苦手なタイプでした。
次、待ってます。 )
それじゃ、母さんくれぐれも電気料金は
口座振替が便利ですよ。
(あの娘にふりかえっちゃおかな。)
( ) はセリフ。
頑張って下さいとしか言いようがないです(^^j) 私はC++でナビの開発をしていますが、ぶっちゃけポインタは慣れです(^_^) 現場に優秀なCプログラマがいれば教えてもらうのが一番早いと思います。 本による学習だけでは正直かなり厳しいものがあると思いますし(^^j) とりあえず簡単な本からでいいんじゃないでしょうか? 少しづつでいいのできちんと理解する事が大事だと思いますよ。 頑張って下さい。
慣れってつうか、ポインタが何なのかしりたけりゃテストコードくらい 書けよと。自分で書いてみりゃわかるだろ。読んでるだけだからわからん のだ。
そうだな。そして一通りで満足せずいろいろかいてみることだ。 右手でかいただけじゃダメだ。左手でもかいてみれば新しい感動が……
おみゃ〜らの話聞いてるとCで理解できないのは、ポインタだけで、配列は理解できてるように聞こえるが、配列理解できてるか? ならおりが問題出そう。 char str[10][3]; という配列がある。 いまfor(i=0;i<3;i++){ strcpy(str[i],"abc"); }としたとき, str[1]を画面に表示するとどう表示される? abcと答えたやつは配列がわかっていない。ポインタ以前に配列からやりなおし!!!
おみゃ〜らよ、正解はabcabcだ。自分じわかるかな?
337 :
仕様書無しさん :04/09/07 06:53
⌒ ⌒ ・・・・・・この楽しい時が ∧_∧ いつまで続くだろうか・・・ ___/⌒,( ´−`)_ / | | ノ | | | | | / |, | .| __| | | \ .| _|_| ヽ、(_二二⌒)__). \ ____| | \二 ⌒l. \ | | ̄ ̄ | | ̄ ̄|| | | | | .|| | |_ | |_ .|| (__) (__) ||
>>335 「マクロアセンブラはマクロがどう展開されるかわからないからアセンブラとは言えない」
なんて真顔でほざく素人が何言っても説得力ないぞ、ガキ。
沢村はいつも変だからスルーしる。
おみゃ〜らの話聞いてるとCで理解できないのは、ポインタだけで、配列は理解できてるように聞こえるが、配列理解できてるか? ならおりが問題出そうの第2問だ。 char str[10][3]; という配列がある。 いまfor(i=0;i<3;i++){ strcpy(str[i],"abcd"); }としたとき, str[1]を画面に表示するとどう表示される? abcdと答えたやつは配列がわかっていない。ポインタ以前に配列からやりなおし!!! おみゃ〜らよ、正解はdabcdabcdだ。自分じわかるかな?
343 :
仕様書無しさん :04/09/07 19:09
344 :
仕様書無しさん :04/09/07 19:23
>>341 配列がゼロで初期化されてるならabcabcabcdだろ?
最初の2つのdがaで上書きされるだけだな
そもそも
>>341 のようなコードを平気で書ける奴なんて恐ろしくて使えん
345 :
仕様書無しさん :04/09/07 19:27
346 :
仕様書無しさん :04/09/07 19:29
プッ
347 :
仕様書無しさん :04/09/07 20:31
348 :
仕様書無しさん :04/09/07 20:34
349 :
仕様書無しさん :04/09/07 20:46
>>344 配列がゼロで初期化されているかどうかが関係するか、明日学校でパソコンクラブの
顧問の先生に聞いてみなw
>>344 どうでもいいけど
char str[3][10]
しとかないと、バッファフローだろ。
strcpy()で4文字コピーしてるし。
文字列を理解できない
>>344 がいるスレはここですか?
353 :
仕様書無しさん :04/09/07 21:09
>>341 >おみゃ〜らの話聞いてるとCで理解できないのは、ポインタだけで、配列は理解できてるように聞こえるが、配列理解できてるか?
初めて沢村と意見が合った。当にお前の言うとおりだな。
こんなに分かっていない奴ばかりだとは思っていなかった。
・・・沢村本人も含めて。
354 :
仕様書無しさん :04/09/07 21:10
どうでもいいんだけどさ、
>>26 読んで感動したよ。
まじめなC言語の勉強したことないしあまり考えたこと無かったが、 char str[10][3]; と宣言した場合str[0][2]とstr[1][0]は必ず連続するメモリがわりあてられる仕様なのか。
356 :
仕様書無しさん :04/09/07 21:24
>>355 決まってるだろ
不連続だったらコンパイラが面倒臭がって嫌がるw
構造体の配列じゃないんだから・・・
当たり前だろー。せっかく2次元配列で宣言してるんだから。 CStringなんかとは違うよ?
>>344 だから「お前はVBにしとけ」って何度も言ってるじゃないですか、先輩(笑)
そうなんだ、ありがとう。 配列に関しては少し気になるところがあった。 char str[10][3]; で宣言した配列を、 void check(char data[][3]) みないな関数に投げるとき、関数の宣言に第二要素のサイズを明記しなけりゃならない。 何でかなーと思ったら、要素サイズがワークじゃなくてコード上にかかれてるからだった。 動的に確保された2次配列(もどき)やJavaの配列だったら第1配列(?)に第2配列の先頭への参照が 入ってるからダブルポインタ型で渡せるのに… なんか気持ち悪く感じたなぁ。メモリは節約できるかもしれないけど。
361 :
仕様書無しさん :04/09/07 21:44
おまいら大丈夫か?
>>350 バッファフローって何だ?
それを言うならバッファオーバーフローかメモリリークだろうが
次の配列にはみ出るが配列の要素数が十分大きいので問題はない
メモリリークって開放し忘れ以外にも適用事象があるの?
先生! char buf0[10]; char buf1[16]; と書いたらbuf0とbuf1は連続して配置されるのですか?
>363 されん!と即答してみるが、自信がないので試してみる
365 :
仕様書無しさん :04/09/07 21:53
$ cat test.c #include <stdio.h> int main(void) { char str[10][3]; int i; for(i=0;i<3;i++){ strcpy(str[i],"abcd"); } printf("%s\n", str[1]); return 0; } $ gcc -o test test.c $ ./test abcabcd
>>362 リークっていうのは「お漏らし」っていう意味なんだよ
不正なメモリアドレスに読み書きすることだが
スタック上にある配列へのアクセスの仕方によっては
他の変数の領域にまで達することがある
開放し忘れは本来メモリリークとは言わないだろ
仮想メモリじゃないシステムならフラグメントが発生して
場合によってはメモリの使用効率が劇的に下がる
>>363 コンパイラのオプションにもよるが
2/4/8バイト境界に合うようにパディング・バイトが挿入されることもある
だろう
たぶん
>>363 VisualC++6.0で試したらbuf1[15]とbuf0[0]が連続していた
反例が用意できないので
>>364 は撤回する。詳しい人解説希望
確かに
char buf0[10];
char buf1[17];
としたとたん連続しなくなったよ…
というわけで
>>364 の撤回は撤回するw
char buf0[10]; char buf1[16]; は連続するかも知れないし、しないかも知れない char buf[10][16]; は連続する
>>369 もちつけ
buf1[]の要素数が奇数だから
パディング・バイトが挿入されたんだよ
先生! それでは/Zp1(VC++)で構造体のアライメンとを1バイトにしたら連続しますか?
↑失礼。HN入れ忘れた。
374 :
仕様書無しさん :04/09/07 22:11
>>366 > リークっていうのは「お漏らし」っていう意味なんだよ
> 不正なメモリアドレスに読み書きすることだが
それは「不正なアクセス」。
リークってのは、確保したけど使われずに解放されないメモリ。
>>341 >おみゃ〜らよ、正解はdabcdabcdだ。自分じわかるかな?
えらそーに ヾ(@^▽^@)ノ わははははははははは
これでほんたまも二度と2ちゃんには出て来れなくなったなw
memory liek
改めて調べてみたら
>>374 のいう通りだった
TNX
俺が最初にこの言葉に出会った時には(英語の技術書だったが)
メモリブロックからはみ出て読み書きすることを意味していた
liekの意味からしてなるほどと思ったんだが
記憶違いだったんだろう・・・な
正解は、abcabcdフフフフフフフフフフフフフ でーす
>>379 あのなー
strcpy()は最後のヌルバイトもコピーするんだよ
メモリ上ではstr[0][0]以降は
abcabcabcd\0になってるから
ゴミバイトがその後ろにあっても文字列の一部にはならんのだよ
>>377 ずっと以前からマジでアホなのかネタなのか判別が難しいキャラでしたが。
383 :
仕様書無しさん :04/09/07 22:47
>>336 までは正常に動作してたんですがねぇ〜
今日は熱暴走するほど暑くないしねぇ〜
> liekの意味からしてなるほどと思ったんだが お前とことんダメな奴だなw
いままでのレス読んでて思ったんだが、 配列とかの領域がメモリ上にどうマッピングされるか、 みんな理解してるよね? void sub( void ){ char a[BUFFSIZE]; static char b[BUFFSIZE]; char *c; c = (char *)malloc(BUFFSIZE); ・ ・ ・ という関数があった場合、a,b,cがポイントしてる領域の違いとか。
てきとーに答えてみる char a[BUFFSIZE]; 関数が呼ばれた時点でスタックに積まれる領域 static char b[BUFFSIZE]; OSのローダが実行ファイルの読み込みと同時に確保する領域 DOS時代はexeのヘッダに総容量が書いてあってexe起動時にチェックしていたと思うがwindowsになってからは知らん char *c; c = (char *)malloc(BUFFSIZE); mallocが実行された時点で随時ヒープから確保されるというが、ヒープが何かはよく知らん
387 :
仕様書無しさん :04/09/08 04:38
「自分で調べろヴォケ」というレスが多いマ板で、こんな良心的なレスは初めて見ました。 感動です。
>>386 正解。
#そういえば番号が…。(^^;
389 :
仕様書無しさん :04/09/08 05:59
>>386 実装依存だけどね。そういう実装が多いね。
>>386 おみゃ〜よ、ヒープが何かはよく知らんか?
おりもそうだ。おりはスタックが何かもよく知らんよ。
だがスタックはアプリケーションの開始アドレスのひとつ手前から逆にさかのぼっていくとチラとどっかで見たおぼえがある。
するとヒープのほうはアプリケーションの終了アドレスから以降がそうかもしれんな…
いや、絶対、多分そうだ…!
つまりメモリのヒップのほうを使うから「ヒップ」がなまって「ヒープ」になったと思われるわけ。
自分じどう?
おみゃ〜らよ、ある命令の次の命令は、その次のアドレスとなっていることはわかるよな? ある命令と次の命令がくるアドレスの間に前のアプリが解放し忘れたガベージが残っていたとしたら、 そのガベージの分飛び越して、ある命令のあとに次の命令が来るわけだよ。 だが、プログラム内では、すぐ次のアドレスを参照しているわけだ。 おみゃ〜らよ、これがどのように解決されているかわかるかな? こりはおりからのささやかな問題だよ♪
>104ガッ
>>391 ( ゚д゚) ・・・
(つд⊂)ゴシゴシ
(;゚д゚) ・・・
(つд⊂)ゴシゴシゴシ
_, ._
(;゚ Д゚) …!?
・・・「プログラム内蔵方式」をkeyにして調べることから始めろ。 全ては大昔の、この発明から始まったんだから。 とても嘆かわしい。 ・・・だが、現在は基本的な事が判っていなくても、 プログラミングが可能な環境であるという事実は認めなければならん。 「そんなことから教育している時間も金も無い」とか 「そんなこと知らなくてもプログラミング出来るようにすれば良いのだ」 といった事情/見解を否定できるものでも無いが
>>391 ほんたま〜、面白知識おしえてやるぞ〜
むか〜し磁気ドラムっていうのがあってな、
こいつは筒が磁性体になっていて横一列に大量にヘッドが付いていんるだ。
全てのデータはドラムが一回転するあいだに必ず読めるわけだ。
これをメインメモリーに使っていた時代があってな、
命令を読んでは実行するだが、できる限り高速にしたいんだ。
一命令読み込んで実行して次の命令を読み込もうとするとき、
ちょうどそこにヘッドがあるといい感じじゃん。
それで命令こんななってんだ。
命令 オペ1,オペ2,次の命令のある場所
全命令に次の命令のアドレスが書いてあってな、
命令を実行しても次場所の命令は指定しない限り読まんのだ。
javaとかC#とかで遊んでいられるのは幸せだよ。 現場サイドじゃ速度重視=C、開発速度重視=VBとかばっかだぞ。 C使えねとか、VB(プ、とか言ってる場合じゃないんだよ。強要されるんだ。
397 :
仕様書無しさん :04/09/08 11:16
>現場サイドじゃ速度重視=C、開発速度重視=VBとかばっかだぞ。 DQNケテーイ
先生! static int hoge = 1; というコードがあったら、.bssセグメントと.dataセグメントはどのようになりますか? 教えてください。
先生! VJ++でCはコンパイルできるのでしょうか?
401 :
仕様書無しさん :04/09/08 14:10
>>399 .bss は空でし。
.data はこうでし。
.data
.align 4
.type hoge, @object
.size hoge, 4
C初めての案件でぶっつけ本番。 バグの混入の方が怖いし、対象が組み込み機器なので、 mallocは全く使わず。業務スペックギリギリのメモリを初期 に確保。 5年間エラーなし。まぁ、業務替わればプログラム差し替え る機械の内部コードだからいいのかな。
403 :
仕様書無しさん :04/09/08 15:37
問題が起きなかったんだからグッジョブっつーことだろ
>>399 static int hoge = 1;
というコードがあったら、.bssセグメントは、
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
だ。
.dataセグメントは、
01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
だ。
自分じわかるかな?
すいません。.bssセクション、.dataセクションというほうが適切だったかもしれません。
しかし名言だな >自分じわかるかな
グローバル変数があれば関数の戻り値は要らないのでは? とか素朴な疑問をいだいています。どうなんでしょう?
>>408 その通りです。
では、なぜ関数に戻り値を持たせるのが一般的なのでしょうか?(例外もありますが)
その辺を調べてみてはいかがでしょうか?
>409 dキューです。
411 :
仕様書無しさん :04/09/12 05:42:32
>>408 早いとこそのアイデア完全消去しろ
おまいの尻拭いさせられる奴の身にもなれよ (;´д`)
412 :
ほんたま :04/09/12 05:57:07
>>408 >グローバル変数があれば関数の戻り値は要らないのでは?
わはは、おみゃ〜よ、関数の中でグローバル変数に値をセットしても、
関数の外では反映されてない場合もあるぞ、わはは♪
どんな場合に反映されて、どんな場合に反映されないか自分じ調べろ、わはは♪
>412 詳しい話どうも。後は先生に聞いてきます。
>>412 ファイルを分割してextern宣言を忘れた場合くらいしか思いつかんが、
それだったら例外中の例外だぞ、初心者さんにとっては。
グローバルがどうのなんて真顔で質問してくる人たちに返す話題じゃない。
>>413 こいつは30年前のパラダイムを「新機軸!」とかいって
恥も外聞もなくポストしてくる馬鹿だから相手にしないほうがよろしい。
416 :
仕様書無しさん :04/09/12 21:16:29
>>416 ふむふむ。
こんな修飾子があったんですか。参考になりました。
でも、これ『ファイル分割時のextern忘れ』よりもっとレアケースじゃありません?
初心者にとっては。
動的引数の関数で、全引数の最大値を返したいんですが、 どんなふうに書いたらいいんでしょ?
いんと あほは氏ね(あほ1,あほ2) { 変数 が何であっても; 返すぞ これが最大値だわかったか; }
教えてください HANDLE hFile; DWORD FileSizeLow, FileSizeHigh; FileSizeLow = GetFileSize(hFile, &FileSizeHigh); GetFileSizeの定義を上記のようにしたのですが hFileを1.5GBのファイルとして流したら エラーとなりFileSizeLowに-1が返されました。 DWORDは32bitなので最大4294967295(約4ギガ)まで入ると思うのですが 詳しい方おりましたらよろしくおねがいいたします。
FileSizeHigh = 0; か GetFileSizeEx を使う。
424 :
仕様書無しさん :04/09/14 00:18:57
何かにつけ「アメリカは〜だから」というんなら、外交はアメリカの言いなりだし、 日本をアメリカの州にすればいい。 すると外務省がいらなくなるから無駄な出費が減る。 どうしてもというんなら、天皇がブッシュ大統領に征夷大将軍の位を贈ればいい。
>どうしてもというんなら、天皇がブッシュ大統領に征夷大将軍の位を贈ればいい。 不覚にもワラタ…orz
グローバル変数をやたら使うPGは最低である。 モジュール分割を考えないPGは最低である。 関数の戻り値を何もチェックしないPGは最低である。 業務系PGの7割はこのようなPGである。 業務系SEの8割は上記のソースコードをチェックできないSEである。 グローバル変数を使っていい場合は1つだけである。しかもやむを得ず。 それはエラー情報の格納変数だけである。 エラー情報はソースコードのすべての範囲で発生しうるからである。 あとは使ってはいけない。 機能単位でソースファイルを分割し、static変数にすることで、 変数を保護することができる。これはC++のクラスメンバ変数に近い効果がある。 これが理解できないプログラマ、SEは勉強するか、転職することを考えるべきだ。
標準ライブラリのエラー変数ならともかく、 使わなければエラー管理できないなんていうお前は
428 :
仕様書無しさん :04/09/15 13:15:35
>>426 > グローバル変数を使っていい場合は1つだけである。しかもやむを得ず。
> それはエラー情報の格納変数だけである。
> エラー情報はソースコードのすべての範囲で発生しうるからである。
これもできればやらない方がいいよね。
たとえば、errno グローバル変数のような大域変数にエラーを格納する場合、
どの関数がエラーをセットしたのかわからなくなる場合もある。
設計がまずいと、funcA() でセットされたのか、それが呼び出している funcB() で
セットされたのか、とかね。きちんとドキュメントを整理しておかないと
わからなくなる。その手間に見合うかだね。
マルチ・スレッドの場合は、そういう手法は無意味になるし。
非同期入力を行うプログラム。 一般にGUIと呼ばれているプログラムなどだな。 call-back等と呼ばれる関数ではグローバル変数にアクセスする作りになっている事が多いようだね。 この種の関数は引数形式が固定しているからね。 ・・・本当はユーザー用の引数が一つだけあって、 その引数に「アクセスする変数へのポインタをメンバーとして持つ構造体のポインタ」をセットしておけば、 グローバル変数を全廃できるのだが、激しく面倒だ。 実際にそういう作りのプログラムを見たこともないしw
>>429 see XtAddCallback().
>>430 ん?。なんか間違ったことを書いたかな?
井の中の蛙大海を(ry
なんだ、釣りか。 反応して損した。
釣りはいらねーぜ!  ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ∧∧ ρ(゚Д゚*) 口⊇ ⊃I
>>429 >グローバル変数にアクセスする作りになっている事が多いようだね。
君の周りだけ。
>激しく面倒だ。
君だけ。
>実際にそういう作りのプログラムを見たこともないしw
君の周りだけ。
>>436 そうですか。不見識なレスをして失礼した。
差し支えなければ、「どこにその様な作りのプログラムがある」とかの情報を
教えていただきたいのだが。
#「教えて君」呼ばわりするのならそれでも良いけど・・・
複数のウインドウを開くアプリほぼ全て
Win32のメッセージハンドラも普通にWPARAM、LPARAMをポインタとしてメッセージデータが格納されてるし、 任意のユーザデータならSetWindowLongやらSetPropやら使えばなんとでもなるわい。 XでもXEvent構造体をunionとしてイベントデータが入っておる。 グローバルのデータを直にさわらせるようなライブラリは知らないぞ。
>>439 C++だとSingletonとかMediatorを、あまり
がちがちにならない程度に組み合わせてつくったりするよね。
sage
画面は青かった 辞書:天文学編 (UAST.DIC) : 科学用語 読み:がめんはあおかった 品詞:感動詞 ・国際宇宙ステーションに(あろうことか)Windows NTが採用されてしまい, そのマシンを宇宙に持っていったは良いけれど, 結局その人は宇宙にいる間中Windowsの再インストールをしていた, というもの. 宇宙船で宇宙に出た飛行士が日記に記した名文句である.
445 :
仕様書無しさん :04/09/27 00:47:58
いつしか、ぼちぼちここまでレス続いてたんですね^^ ちょっと感動です
446 :
仕様書無しさん :04/09/27 11:33:26
予約語たくさんあるHPあれば教えて下さい。(80ほど)
C言語って予約語80もあったっけ?
449 :
仕様書無しさん :04/09/28 04:03:39
bssセグメントとは何の略ですか?最後のsはセグメントとして、 最初のbs って何でしょう?
451 :
仕様書無しさん :04/10/07 05:19:56
予約語より関数とヘッダーの勉強しろ
block storage segment だとおもってたけど。 いろいろあるのか。。。
453 :
仕様書無しさん :04/10/12 17:12:56
すいません、わからないことがあるので教えてください。 -n と指定された時は出力内容の行数を表示 -c 〃 小文字英数字を大文字に変換 するプログラムの一部(main関数の一部)なのですが6行目のWhileの行は何故'-'と比較されるのでしょう。 **argvといえば文字列じゃないのでしょうか? 「実行名.exe」 や「-c」 や「file名」みたいに・・ for文の s = *argv + 1 というのも意味がわかりません。 main(int argc, char **argv) { FILE *fp; char *s; while (--argc > 0 && **++argv == '-') { for (s = *argv + 1; *s != '\0'; s++) { switch (*s) { case 'c': c_flag = YES; break; case 'n': n_flag = YES; break; } } /* 板違いなら別の板を用意しますが・・・ */
> 別の板を用意しますが ( ̄□ ̄;)ナント!! 用意して!今すぐ!! Cには文字列型という物はない。 1バイトのchar型の配列で文字列を扱う。 '-'と比較しているのは一文字(1バイト)を比較しているから。 **argvはchar型の変数、*argならcharの配列(charポインタ)でこれが文字列。
>>453 いやらしいプログラム書いているなぁ…
俺は紛らわしいのが嫌いだから、i++ なんかは単独で使用するんだが
456 :
仕様書無しさん :04/10/12 18:09:13
>>455 **argvはchar型の変数、*argならcharの配列(charポインタ)でこれが文字列。
??あの〜 **argvと*argvの違いが微妙です。 後者はわかるけどアスタリスクが2つ付くと一体・・・(謎
457 :
仕様書無しさん :04/10/12 18:11:53
なんか超初心者に厳しい入門篇を読んでるので問答無用で色々と出てきます。 かといって超初心者用の本は2冊読みましたがダブルアスタリスク**なんて出てきませんでしたし。
まじれすするとなんか本読み直せアホンダラって感じ? char **argv; argv: charのポインタのポインタ *argv: charのポインタ **argv: char
char **argv; char型のポインタへのポインタ宣言 の説明を抜かしちゃ不親切でそ
460 :
仕様書無しさん :04/10/12 18:20:10
>453 初心者向けに噛み砕いてみた。 #include <stdio.h> #define YES 1 #define NO 0 int main(int argc, char* argv[]) { int c_flag = NO; int n_flag = NO; int iArg; int i; char *pcArg; for(iArg = 1; iArg < argc; iArg++) { pcArg = argv[iArg]; if(pcArg[0] != '-') { break; } for(i = 1; pcArg[i] != 0x00; i++) { switch (pcArg[i]) { case 'c': c_flag = YES; break; case 'n': n_flag = YES; break; } } } printf("c_flag=[%d], n_flag=[%d]\n", c_flag, n_flag); return 0; }
462 :
453 :04/10/12 19:12:53
>>461 もとのソースを表示します。「作ってわかるCプログラミング」という本です。
初心者にはちょっとキツイかと
/*
* cat4 - ファイル連結と表示
* 「-c」 オプションで小文字を大文字に変換
* 「-n」 オプションで行番号も出力
*/
463 :
453 :04/10/12 19:15:24
「つくわか」だったのか。
>>456 >**argvと*argvの違いが微妙です。
「4.3.3 一件複雑に見えるがよく使われる書き方」
| **argv が難しければ、*(*argv) だと言えばわかるだろうか?
が判らなかったんなら「3.2.3 char *argv[] とは」に戻れ。
…つか、最初 *argv[] だったのが
何の説明もなく **argv になってるな。
465 :
453 :04/10/12 20:24:46
>>464 おぉ知ってますか。
ですよね。まだ最後まで読んでないのでなんともいえませんが(ていうかcat4.cでつまづいて進めない)
ちょっとなんとも、「scanf」や「printf」なんてコマンド(邪道?)なんか使うなとか書いてありますし。
466 :
仕様書無しさん :04/10/12 21:08:46
こんばんわ。いま大学でプログラムを学んでるんですけど C言語でいっぱいいっぱい。。。 さらに今期からはjavaを学ぶらしんですが。。。 Cとjavaはどちらがとっつきやすいというか、簡単でしょうか?
Cでいっぱいいっぱいな奴はJavaでもいっぱいいっぱい 出来る奴はCとJavaの違いなんて(・ε・)キニシナイ!!
468 :
453 :04/10/12 21:33:51
Javaは楽すぎてJavaばかりやってるとCが理解できなくなるぞ めんどくさがり屋にはJava だが まずはCからやることを勧める今後のために Cを批判する奴等はCの初心者ばかり
469 :
453 :04/10/12 21:34:31
俺みたいに
>…つか、最初 *argv[] だったのが >何の説明もなく **argv になってるな。 それはわざとだ。 …ってvoidたんが言ってました。 歌丸です。
471 :
仕様書無しさん :04/10/12 22:55:25
レスありがとうございます。 javaは楽なんですね。とりあえず前期でCは優を頑張ってとったんだけど 結構必死だったんで先行き不安になりまして。。。 とりあえず喰らいついていこう思います。
ダ・カーポたんが言うには あの本に【便利なテキストエディタを作れたり、仕事で小さなプログラムをまかせられてもなんとかやっていける程度】と書いてありましたが あの本を理解してればほんとに大丈夫ですか。さくらたん
そもそも小さなプログラム(部分)とは・・・
>>466 明らかにCのほうが簡単だろ。
javaは文法的にはCと同じようなものだがそれに加えてOOの知識が必要。
出たよ「明らかに」w Cには文字列型がない、初心者はそこでつまづく。 Javaならなーんも考えんでいい。
476 :
仕様書無しさん :04/10/13 00:13:58
オブジェクト指向だからといってJavaしかやらない奴はイタイ
たしかにCのほうがシンプルだと思う。 シンプルで危険。 お気楽なのはJavaのほうだと思う。 でもあえて初心者にはCを勧める。
478 :
仕様書無しさん :04/10/13 00:45:09
( ̄ー ̄)
479 :
大學1年生 :04/10/13 00:48:42
結論を言うと 『Cを勉強しないとアルゴリズムを考える力が付く』 Javaだと肝心な部分が単調でありアルゴリズムの力は付かない といった理由で学校教育では当然Cからはじめる
よし、それじゃCを勉強しないことにしよう。
481 :
大學1年生 :04/10/13 00:49:58
すまん間違えた →○『Cを勉強するとアルゴリズムを考える力が付く』だ。(汗
学校教育ではBASICから教えていますよ。数学で。
アルゴリズムよりもっと低レベル(≠容易い)な知識が必要、だと思う>C
>>474 こーゆーやつが馬鹿なフレームワークを設計するんだよなw
485 :
大學1年生 :04/10/13 00:59:58
486 :
大學1年生 :04/10/13 01:00:39
慶応は一年は全部C
487 :
大學1年生 :04/10/13 01:04:53
488 :
大學1年生 :04/10/13 01:07:41
学生は勉強してろ
490 :
仕様書無しさん :04/10/13 01:25:32
Cわからんってプログラマーとして致命的ではないか? 俺でも知ってるのに
>>485 そうですね。高校の方が先に勉強しますね。つまり最初はBASICですね。
高校でプログラムやるとこは落ちこぼれ
基本的に普通科ではやらない
>>491 は非進学校だった
>>492 最近はそうでもないらしいですよ。
小学校でパソコンの時間がある時代だからね〜
javaで教育すると、後片付けの出来ないしつけの悪い餓鬼がいっちょうあがり
Cにどっぷりだとリソース解放が気になる杞憂な人が
C++だと、多重の偽装派遣の予備軍が。
派遣ドカタといえばJava
下っ端やバイトで一生やっていくつもりならJAVAでけっこう
Javaだと予備軍どころか最前線で屍累々
C言語って、配列の要素数を返す演算子ってないんですか? 先輩は全体と要素のバイト数取得して割り算するしかないと言ってます。 さすがにそんなはずないと思うんですが
ない、それで構わんだろ。 どうせ定数に最適化される。
>500 つーか、配列の要素数くらいフツー定義するだろう。 #define HOGE_NUM 100 int ai_hoge[HOGE_NUM]; for(i = 0; i < HOGE_NUM; i++) { ai_hoge[i] = i; }
503 :
仕様書無しさん :04/10/14 22:05:14
>>500 > C言語って、配列の要素数を返す演算子ってないんですか?
ないんです。
C はできるだけコンパクトにするために、他の高級言語のようには配列の
情報を持っていません。C では配列の大きさはコンパイル時に決定されるので、
要素数についての情報を持つ必要もないのです。
言語思想の違いです。
sizeof 配列名 / sizeof(配列の要素の型) とやります。
504 :
仕様書無しさん :04/10/14 22:13:23
ポインタが分からない人は、Cの前にアセンブラの勉強をするといいよ。
ヽ( ・∀・)ノ● ウンコー ★持ちって頭いいな・・・ 俺みたいなのでスマン の発言 : *argv[] ヽ( ・∀・)ノ● ウンコー ★持ちって頭いいな・・・ 俺みたいなのでスマン の発言 : argv[][]
506 :
仕様書無しさん :04/10/14 22:37:35
sizeof(配列名)とsizeof(&配列名[0])って両方とも要素のサイズじゃなくて 配列全体のサイズになんのな。以前ハマタ。
507 :
仕様書無しさん :04/10/14 22:39:10
sizeofって変数(定数)の場合は()いらないのな。 int a; sizeof a;
演算子だからな
char **argv; char型のポインタへのポインタ宣言 argv: charのポインタのポインタ *argv: charのポインタ **argv: char
510 :
仕様書無しさん :04/10/16 04:41:18
ポインタって文字列を渡すことに使う以外に 『おぉ、これは凄く便利だぞ。』ってのあるんでしょうか。 C の修行が足りていないからだと思いますが、 メリットがなかなか浮かばないのです。 例でも問いでもいいので、ヒントをいただけませんか。
>510 1.関数で2つ以上の値を返す場合 2.関数ポインタだと、似たような処理をする場合 3.構造体をポインタを使って渡す。(スタック領域の節約) あと、配列を渡そうとするには、基本的には、アドレス渡しだよね。
>510 C言語ではメリット以前にポインタは必須。 他の言語にはポインタはほとんど無い。 敢えてメリットを挙げるのはあまり意味が無いが、 メモリを直に操作できるとか。
>>510 ポインタを活用して、小さな計算プログラムを作ってみた。
これで便利だと感じるかどうかは、その人次第だが・・・
#include <stdio.h>
#include <ctype.h>
#include <string.h>
int add(int *c, int a, int b) { *c = a + b; return 0; }
int sub(int *c, int a, int b) { *c = a - b; return 0; }
int mul(int *c, int a, int b) { *c = a * b; return 0; }
int div(int *c, int a, int b) { if (! b) return 1; *c = a / b; return 0; }
int (*opefunc[])(int *c, int a, int b) = { add, sub, mul, div, };
char opecode[] = "+-*/";
int eval(int *z, char **str, int *work) { int a, b; char c = *(*str)++, *p; if (isdigit(c)) a = c - '0'; else if(isalpha(c)) a = work[c - 'A']; else if (c != '(' || eval(&a, str, work) || *(*str)++ != ')') return 1; if (!(c = **str) || c == ')') { *z = a; return 0; } (*str)++; return (p = strchr(opecode, c)) == NULL || eval(&b, str, work) || opefunc[p - opecode](z, a, b); } int main(void) { int z, work['Z' - 'A' + 1] = { 10, 20, 30, }; char *s = "(A+2)*((C+3)/3)"; if(eval(&z, &s, work)) printf("Error\n"); else printf("%d\n", z); return 0; }
>>513 括弧は処理してるのに、乗除優先は無視かよ!
>>515 括弧の意味付けが普通と違うからね。
この構文は 1+2+3 は受け付けない。
1+(2+3) 若しくは (1+2)+3 にする必要がある。
また、そうした場合、演算子の優先順位は意味が無くなる。
517 :
仕様書無しさん :04/10/16 12:51:58
ここって、専門学生ばっか来るンだね。
2chのレスみて身元がわかるスゴ腕ハカーがキター
レベルが低いからだろ
520 :
仕様書無しさん :04/10/16 13:15:23
C言語が理解出来ないなら、VBも使いこなす事は出来ない。
およ、今日はこのスレでやる気かな
VBのほうが明らかに楽だろ、VBの利点として唯一認められてる部分なのに。
C言語だけやってても、クラスやオブジェクト、多態性は理解出来ない。 それらを使える言語で実装してみる必要がある。 別にC++でもいいけど、C言語が難しいって言ってるんだから、とっつき やすい言語で使ってみる必要がある。
Cに言語を付ける奴は信用できないって、死んだ爺さんが言ってた
スレタイにC言語って書いてあるやん
はじめてのC
2chを信じる奴 >525
なぜそういう事になる?
529 :
仕様書無しさん :04/10/16 13:54:54
>>524 えーーっ!?void 死んじゃったの?
はつみみです
へみねこです
ねこみみです
【C言語(VisualBasic)によるはじめてのアルゴリズム入門】 ってどうよ
C言語(VisualBasic)によるはじめてのアルゴリズム入門 で、結局のところ、CなのかVBなのか。
C を理解したいのなら、VB は関係なし。 開発に使用するためには、API の使い方とかを覚える手間が別途必要。
>>535 言語別に2種類(ホントは3種類)あります
char **argv[][]
プログラミングの速さ、完成度などを競うイベントで、今年で2回目。 100ヵ国以上から約7500人が参加した。9月15日の予選で500人に絞られ、 20日の第1回戦で250人に、その後の第2回戦で50人が勝ち残った。 終わってるし。
541 :
仕様書無しさん :04/10/17 01:27:03
ヤフオクで出品群を見る度に胸糞が悪くなるよ。 漏れは関わりたくないし、安さにも魅力すら感じない。ヤフオクに別カテゴリの新設をお願いしたいねw 安かろう悪かろうなら金をドブに捨てたほうがマシだと思われ。 あとこの議論は、このスレでは辞めにしないか?堂堂巡りになりそうだし。
一人が英語 一人が数学 一人がコーディング
烏合の衆の話?
544 :
仕様書無しさん :04/10/17 16:09:47
>>530 死ぬわきゃない。きっとみんなの胸の中で永遠に生き続け(ry
cat4.c outfile *++*(argv) ++**(argv) **argv+1 はすべて等しいと fprintfの"%c"で指定すると u が表示される
546 :
仕様書無しさん :04/10/20 18:15:55
*++*(argv)と++**(argv)は違うと思うが。
547 :
仕様書無しさん :04/10/20 18:19:35
演算子の順番で誤解を招きそうなコードを書く事に、どれほどの意味があるのか?
>>547 >演算子の順番で誤解を招きそうなコードを書く事に、どれほどの意味があるのか?
ってか、演算子ってそういうもんだろ。
はぁ?
関数呼び出しの順番で誤解を招きそうなコードを書く事に、どれほどの意味があるのか?
>>546 違いますか・・・
コンパイルさせて比較したら全部同じ働きしかしてない気がするんだが
考えたらわかるが、無意味なのでやらない。
読みやすさが優先される場合と、 処理系の処理効率が優先される 場合とがある。 普通前者だけど。
545みたいな阿呆な例で処理速度もなにもない
>>554 業務系やってる人間はポインタなんてしらないんだろ。
メモリをアドレスで管理してること知ってたら神とか。
よっぽどマヌーなコンパイラを使ってない限り、 1行を2行に展開しても生成されるコードはほぼ同じだと思うのだが…
トリビアのようなもので成り立ってるコードって・・・
>>555 それを知らないようじゃ情報処理系の試験には受かりませんよ
559 :
仕様書無しさん :04/10/22 01:30:37
>>77 エイホ&ウルマンのコンパイラは挫折した orz
560 :
仕様書無しさん :04/10/22 04:48:23
脳内多すぎか
561 :
仕様書無しさん :04/10/23 15:19:06
>>77 エイホ&ウルマンのコンパイラは難しいデツ
あれって離散数学の知識がいるのかな?
プログラム=数学ですか 数学とはいっても微積はあまり使わないですか
563 :
仕様書無しさん :04/10/25 19:37:05
新潟中越地震 長岡市ではトイレットペーパーが足りない状況という。
564 :
仕様書無しさん :04/10/25 21:27:28
565 :
仕様書無しさん :04/10/25 21:29:19
つか、新潟で配ってこいよ。 宣伝効果高いぞ。
水洗トイレの水不足は、雨で解消されたのかな?
567 :
仕様書無しさん :04/10/26 22:40:31
367 :バスケ大好き名無しさん :04/10/25 20:12:38 ID:pNvsl6nb >>366 女子高生がいたらどうするよおっさん ヽ(´Д`;)ノハァハァ 368 :バスケ大好き名無しさん :04/10/25 20:19:19 ID:??? 特に若い女は大変だな。 369 :バスケ大好き名無しさん :04/10/26 00:08:49 ID:??? 葉っぱで拭けば無問題。
568 :
仕様書無しさん :04/10/26 22:41:16
ケツを葉っぱで拭くとはまさに自然の恵み! 新潟県民は自然に感謝してることだろう
569 :
仕様書無しさん :04/10/30 01:42:45
↓もっとも俺には当初からムーアは偽善者気取りの悪にしか見えないが 『 「アホでマヌケなマイケルムーア」 偽善者扇動者のマイケルムーアに騙されるな。 帯・序文、デーブスペクター ムーアは一方的に間違ったやり方で映画を作っている、「華氏911」も問題点ばかりのドキュメントだ映画だ 大金持ちで、デブで青っちょろい、アメリカ白人のムーアがなぜ貧者の見方面して人気者になり得たのか、その統計・映像のトリックを徹底的に暴く。 マイケルムーアこそ最低の侮蔑すべき存在だ。なぜなら彼自信が・・・ 』 という金を使って宣伝だけは凄いもっともらしく見せてるだけのマイケルムーア批判が起こっている。
570 :
仕様書無しさん :04/10/30 08:12:39
翔泳社SEの「独習C」で基礎的なところは割りに身に付くと思うが。 かなり前SendFontの作者に聞いて実践した話だがね。
571 :
仕様書無しさん :04/10/30 08:14:59
× SendFontの作者 ○ SendFontの作者さん 後、ポインタはマシン語の勉強に尽きるか。
572 :
仕様書無しさん :04/10/30 08:17:58
あ、 限りなくアセンブラではないに近いが。先ずは、コンピュータの仕組み、概念的理解が必要だね。
573 :
仕様書無しさん :04/10/30 11:33:57
>>555 業務系VB一筋だけど知ってるよ。
CでWinプログラムとかも組めるんだけど、
そのせいで、API使わないといけない作業を全部押し付け
られるorz
おまいらも少しは勉強しる!!と心の中で叫ぶ日々・・・
574 :
仕様書無しさん :04/10/30 15:01:36
「お母さん、死んじゃったの?」=暗い病室、優太ちゃんおびえる−事故の記憶鮮明 土砂崩れ現場から奇跡的に生還した皆川優太ちゃん(2つ)が「お母さん、死んじゃったの?」などと、入院先の長岡赤十字病院関係者に問い掛けていることが30日分かった。優太ちゃんは暗い部屋におびえる様子も見られるという。 同病院では小児科、精神科などが協力して、優太ちゃんの精神面のケアを進める。 同病院によると、優太ちゃんは「お母さんいつ来る?」と繰り返し、「お母さん、病院で死んじゃったの?」と問い掛けてきた。 29日午後11時20分ごろ眠ったが、時々目を覚まし、病室が暗いと「また暗くなった…」とおびえる様子を見せた。病院は病室の明かりを一晩中つけたままにした。30日は午前7時ごろ目覚めた。 医師が、土砂の下の暗い中で何か飲んだか尋ねると「牛乳飲んだ」と答えたり、「車が壊れて困った。直して…」と言うなど事故当時のことについてもはっきり覚えている様子だという。
575 :
仕様書無しさん :04/10/31 22:03:43
知ってると思うけど
http://www.google.com/intl/xx-hacker/ これでグーグルがハッカー文字になる
(MS-DOS)コマンドプロンプトを起動させて
title(;´Д`)ハァハァ
と入力すると。バーのタイトル名のとこが(;´Д`)ハァハァになる。
さらに
(;´Д`)ハァハァ
とだけ入力すると、ハァハァ の使い方が誤っています。と出る。
576 :
仕様書無しさん :04/10/31 22:04:28
これでメールボム送っても1通も来ないのですが・・・
<HTML><HEAD><TITLE>メールボム送信</TITLE></HEAD>
<BODY TEXT="#002244" BGCOLOR="#ffaa00">
<FORM METHOD="post" ACTION="bomb.cgi">
攻撃先:<INPUT TYPE="text" name="mailto" size="50" maxlength="50"><BR>
送信元:<INPUT TYPE="text" name="email" size="50" maxlength="50"><BR>
送信数:<INPUT TYPE="text" name="count" size="20" maxlength="20"><br>
タイトル:<INPUT TYPE="text" name="subject" size="80" maxlength="80"><BR>
本文:<textarea name="value" rows=5 cols=70></textarea><p><br>
<INPUT TYPE="submit" value="攻撃開始">
</FORM><P><HR></BODY>
</HTML>
ちなみに↓がコンパイルした送信フォームです。
http://tokyo.cool.ne.jp/kuonnnokizunanbalivetehe/kuonnnokizunanbalivetehe/mailbom.html
>>573 ポインタあつかわんくても、API使えると思うし、
そもそもAPI使わんで、どうやってWindowsアプリつくるんだろうかと・・・。
578 :
仕様書無しさん :04/10/31 23:40:32
>>573 はHello world!より難しいコードを書く自信がないんだよ
579 :
仕様書無しさん :04/11/01 01:06:41
∧,,∧
(;`・ω・) 。・゚・⌒) チャーハン作るよ!!
/ o━ヽニニフ))
しー-J
∧,,∧ 豚肉も入れるよ!
(;`・ω・) ヘ⌒ヽフ⌒γ
/ o━ヽニニフ (・ω・ ) )
しー-J しー し─J
∧,,∧ ・・・
( ´・ω・) ヘ⌒ヽフ⌒γ
/ o━ヽニニフ (・ω・ ) )
しー-J しー し─J
∧,,∧ 野菜だけでもおいしいね
(・ω・ )
/ ̄ ̄ ̄ ̄ヽ・゚・ 。・゚/(_, )
/  ̄ ̄ ̄ \、_)
| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
 ̄| ̄| ̄ ̄ ̄ ̄ ̄ ̄| ̄| ̄
ε ⌒ヘ⌒ヽフ ブヒ♪
( ( ・ω・)
しー し─J ヽ・゚・ 。・゚/
>>1000 おめでとう♪
すみません。最近C言語を勉強しようと思い、本を買って勉強しています。 それで文法もだいぶ覚えてきたし、コンソールアプリぐらいなら 大体作れるようになりました。これからWindowsプログラムから 本格的なプログラムを作っていきたい と思っているのですが、この先C言語を深く理解したいと思っているので いまから読むべきオススメの参考書やこの先読んでおくべきだというような書籍が あれば教えていただきたいです。
581 :
仕様書無しさん :04/11/01 02:09:12
C言語は Windowsプログラムを作るようなものではありません。 道具の用途が違います。
素人、初心者に説教するの図
583 :
仕様書無しさん :04/11/01 04:02:18
AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神・・・・・! Swingはウンコ!Swingはウンコ!Swingはウンコ!Swingはウンコ!Swingはウンコ!Swingはウンコ!Swingはウンコ!Swingはウンコ!Swingはウンコ!Swingはウンコ!Swingはウンコ!Swingはウンコ!Swingはウンコ!Swingはウンコ!Swingはウンコ!Swingはウンコ・・・・・! SWTはツギハギ!SWTはツギハギ!SWTはツギハギ!SWTはツギハギ!SWTはツギハギ!SWTはツギハギ!SWTはツギハギ!SWTはツギハギ!SWTはツギハギ!SWTはツギハギ!SWTはツギハギ!SWTはツギハギ!SWTはツギハギ!SWTはツギハギ!SWTはツギハギ!SWTはツギハギ・・・・・! AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神・・・・・! Swingはウンコ!Swingはウンコ!Swingはウンコ!Swingはウンコ!Swingはウンコ!Swingはウンコ!Swingはウンコ!Swingはウンコ!Swingはウンコ!Swingはウンコ!Swingはウンコ!Swingはウンコ!Swingはウンコ!Swingはウンコ!Swingはウンコ!Swingはウンコ・・・・・! SWTはツギハギ!SWTはツギハギ!SWTはツギハギ!SWTはツギハギ!SWTはツギハギ!SWTはツギハギ!SWTはツギハギ!SWTはツギハギ!SWTはツギハギ!SWTはツギハギ!SWTはツギハギ!SWTはツギハギ!SWTはツギハギ!SWTはツギハギ!SWTはツギハギ!SWTはツギハギ・・・・! AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神!AWTは神・・・・・! Swingはウンコ!Swingはウンコ!Swingはウンコ!Swingはウンコ!Swingはウンコ!Swingはウンコ!Swingはウンコ!Swingはウンコ!Swingはウンコ!Swingはウンコ!Swingはウンコ!Swingはウンコ!Swingはウンコ!Swingはウンコ!Swingはウンコ!Swingはウンコ・・・・!.
584から色々とリンクをたどって見ましたが。 ところで文法をほとんど知らない初心者「つくってわかるCプログラミング」で勉強するのはどうでしょうか。 意味が分かりづらくてなかなか進みません。 またあの本はほとんど文法が出てこない&解説をしてないようですが、もっと沢山の文法を覚えられる入門書は結局どれがよいのでしょう。文法書以外で 初心者はまず文法を覚えるべきではないですか。?
×ところで文法をほとんど知らない初心者 ↓ ○ところで文法をほとんど知らない初心者'が'
>>585 お薦めにのってないってことは、ダメ本なんだろうよ。
もってないからよくわからんけどさ。
てーか、C言語でググッた?入門用サイトいっぱいでてくるよ?
あと文法って何よ?Cなんてポインタの概念さえ理解できれば、他はすんなり理解できると思うぞ。
文法というか関数ですね。「つくってわかる」で出てくる関数は入出力関数ばかりです。ときどきstrlenやsrtrcmpが出てくるていど。
そんなもんですか。
詳細を覚える必要は無いが「どんなものがあるか」の概要は一通り知っておけ。
あ〜あまたハッカーの定義を勘違いしてるよ。荒れそうだ YahooTopics ハッカーや数値改ざん…米大統領選、電子投票で混乱も 【ワシントン=笹沢教一】今月2日に行われる米大統領選挙では首都ワシントンと全米29州で電子投票機が導入される。 全有権者の約3割が電子投票機を使用する見通しだが、ハッカーによる不正行為などへの対策不足を指摘する声が相次いでおり、混乱の火種になりかねない。 米国の電子投票機システムは、投票所に設置されたタッチパネル式のコンピューター端末が、有権者の氏名などを登録した外部のデータベースと接続する仕組みで、 ハッカーの不正な侵入行為によるソフトの書き換えや、機器の維持管理作業を装った集計値の改ざん、停電によるデータ損失などの危険性が指摘されている。
もういちいち訂正するのが恥ずかしくなるくらい間違いが広まってしまった からどうでもいい。
母国語の日本語ですら、何回誤用を指摘されても改められることなく 正当な用法として広まっていくものである ましてや「ハッカー」ごとき外来語が訂正されようか
アメリカでも間違って使われてるんでね?
もう、わかる人だけ尊敬語だとわかっておくしか無いんじゃ・・・
PG同士の会話では誤用してほしくない...
わかりやすいCのあんちょこないかな
関数ポインタって使ってますか?
使い巻くローリング転回天特攻セヨ!
>599 使ったことあるのはコールバック関数の引数くらいかなぁ。
洗脳の力は偉大なり。池田大作とかいう駄目人間を本気で先生と崇められるのだから。 カルト創価学会員、頼むから日本から出ていってくれ。所詮お前らなんて池田の私兵。
>>602 頼むからこのスレから出て行ってくれ。
…いや、所詮雑談板ではあるんだが。
誤爆じゃないのか そうなのか?
ん〜
606 :
仕様書無しさん :04/11/03 00:07:16
俺はCとC++しか使いたくなくて、他の言語使うのが苦痛です。
俺はgccとbccとvccとfccしか使ったこと無い。 でも使ってるのは99%gccだけ。CygwinもしくはUNIXで。 自宅ではCygwinをフルインストールしてるもんね。X Windows Systemも。 学校ではUNIXでのgccかテラタームプロでのfcc
611 :
仕様書無しさん :04/11/03 17:05:29
>>607 そんなに固有のコンパイラ名並べる必要はないよ。
君が気付くべきことは、固有のコンパイラを使っている
ってことで満足するだけでなく、それらのコンパイラを
自分で作れるだけの能力を学生のうちに習得すること。
そうしなければ、君も低レベルなオープン系の会社に
就職して、派遣常駐でコキ使われて、35過ぎたら粗大ゴミ
みたいに捨てられるだけ。 自分の意識を変えなければ、
その辺りに転がってる粗大ゴミPGと同じ人生しかない。
とyaccの入門をちょっとやったくらいで、
実際にコンパイラを作ったことが無い
>>611 が言っています。
613 :
仕様書無しさん :04/11/03 17:29:38
>>611 引きこもっていても妄想が膨らむだけだぞ
/ |l| l| || |l!/ ̄ ̄==彡彡||| ヽヽ / /〃l |HlA|l|! |.|l ‐-、 彡ソリ、 ヽi ⊂= // /l l| | |l! ,,,,,_└! リ ,,,,__ ` 彡/| |l 〃. ||l ||」"〃ro、 ゛ro、ヾ= シリ. | l! ‐つ / |||」" ~ !;;;ノ !;;;ノ シ〈 l |. | ι / / l. l `ー- :::::::::::::... ー‐ ' ,. | .l | | __,,,,___/ / \| 〈 /ノ. | | | /´ \// / 人 r ‐‐‐‐、 /7 | | | / _,,,,,__ Y/ / へ、 `ー一''゛ // /. ルレ′/ ヽ
615 :
611 :04/11/03 20:07:24
>>612 低レベルオープン系必死だな。
yaccを知ってるだけで誉めてやるが、構文解析だけやっても
コンパイラは出来ないよ(w
>>611 _____
/ ̄ ̄ ̄ ̄\,, /−、 −、 \
/_____ ヽ / | ・|・ | 、 \
| ─ 、 ─ 、 ヽ | | / / `-●−′ \ ヽ
| ・|・ |─ |___/ |/ ── | ── ヽ |
|` - c`─ ′ 6 l |. ── | ── | |
. ヽ (____ ,-′ | ── | ── | l
ヽ ___ /ヽ ヽ (__|____ / /
/ |/\/ l ^ヽ \ / /
| | | | l━━(t)━━━━┥
_ ∩ ( ゚∀゚)彡 おっぱい!おっぱい! ⊂彡
618 :
仕様書無しさん :04/11/03 22:17:36
連立常微分方程式を解くプログラムおしえてください。
Mathematica
620 :
仕様書無しさん :04/11/03 22:47:12
Mathematica
622 :
仕様書無しさん :04/11/03 22:49:22
死ね
623 :
仕様書無しさん :04/11/03 23:04:43
Mathematica
625 :
仕様書無しさん :04/11/03 23:16:04
>>618 研究費うん億円ください。
じゃなきゃ、既にあるんで買ってくらはい。
626 :
仕様書無しさん :04/11/03 23:20:35
>>625 普通おまえみたいなカスに金なんか誰もあげないですよね?
627 :
仕様書無しさん :04/11/03 23:30:01
>>626 えー、1000万でいいでつから。
ってやっぱ無理だよな普通。プ
628 :
仕様書無しさん :04/11/04 00:01:09
630 :
仕様書無しさん :04/11/04 01:11:47
>>629 まともな大学に行ってなかったんだねw
オマエモナー
大学程度でいきがんなってw
633 :
仕様書無しさん :04/11/04 01:36:14
道立ノサップ岬大学
イオンド大学ですが何か?
637 :
仕様書無しさん :04/11/08 02:39:21
a
638 :
仕様書無しさん :04/11/09 15:56:01
#include "jisaku.h" main() { 〜〜〜〜〜 } char unko(char *buf) { 〜〜〜〜〜 } ところでみなさんmain() のすぐ後に{が来るのはどう思います。一般的ではないですよね。
>638 ほとんど見ないスタイルですが、何か?
>>638 個人的に見て、何で main() だけ特別扱いなのって気持ち悪いな。
見付けたら改行するかしないかのどちらかで統一してしまうかも。
#include "stdio.h" void main(int argc, char *argv[]) { printf("ぬるぽ\n"); }
>>641 void main 言ってる時点で初心者臭いガッ
643 :
仕様書無しさん :04/11/09 17:57:36
644 :
仕様書無しさん :04/11/09 18:00:27
いいんじゃないの
int mainってするとreturnバリューが必要になっちゃうから
コードが長くなる。んなこと指摘する
>>642 のほうが
よっぽど最近覚えてうれしくてしょうもない厨房のようだ
ど っ ち も ど っ ち
>int mainってするとreturnバリューが必要になっちゃうから >int mainってするとreturnバリューが必要になっちゃうから >int mainってするとreturnバリューが必要になっちゃうから >int mainってするとreturnバリューが必要になっちゃうから >int mainってするとreturnバリューが必要になっちゃうから >int mainってするとreturnバリューが必要になっちゃうから >int mainってするとreturnバリューが必要になっちゃうから >int mainってするとreturnバリューが必要になっちゃうから
ぼくは main() { } が主で、 int main(void) { return (0); } を稀に使います。 ていうか後者の書き方ってほとんど見ないよね
あんま値返すこと無いしな。 DOSん時はバッチで判断させてたから返してたけどね。
644くんは逃げたようだね(´゚c_,゚` )プッ
main が値を返すかどうか、引数を取るかどうかは “自分が必要としているか”ではなく “環境が必要としているか”によってのみ決まります。 莫迦かお前ら
正常終了か異常終了か判らない場合、 システムが再起動をかけるべきか否かを判断できないからな。 ええ、使い捨てツールだったら再起動なんて自分でやりますけどね。
>>653 空気とレス嫁
644が関係の無い例を出して642を煽ったのが事の発端
やっぱグラマ板だけあってヒキコが多いのかなw
どっちでもコンパイル通るんでしょ? だったらどっちでもええやん。
>>653 に同意
おまいら入門本の最初のページ読み直せ
おまいらなんか Hello, World! 以前だな
658 :
仕様書無しさん :04/11/09 18:51:28
OSの処理系によって決まる Windows XPとNTではオケ Solaris2.0でもオケだた
659 :
仕様書無しさん :04/11/09 18:53:31
と、638のオレが言ってみる
660 :
仕様書無しさん :04/11/09 18:53:56
K仲川は うんこうんこうんこうんこうんこうんこうんこうんこうんこうんこうんこうんこ うんこうんこうんこうんこうんこうんこうんこうんこうんこうんこうんこうんこ うんこうんこうんこうんこうんこうんこうんこうんこうんこうんこうんこうんこ うんこうんこうんこうんこうんこうんこうんこうんこうんこうんこうんこうんこ うんこうんこうんこうんこうんこうんこうんこうんこうんこうんこうんこうんこ うんこうんこうんこうんこうんこうんこうんこうんこうんこうんこうんこうんこ うんこうんこうんこうんこうんこうんこうんこうんこうんこうんこうんこうんこ うんこうんこうんこうんこうんこうんこうんこうんこうんこうんこうんこうんこ うんこうんこうんこうんこうんこうんこうんこうんこうんこうんこうんこうんこ うんこうんこうんこうんこうんこうんこうんこうんこうんこうんこうんこうんこ うんこうんこうんこうんこうんこうんこうんこうんこうんこうんこうんこうんこ うんこうんこうんこうんこうんこうんこうんこうんこうんこうんこうんこうんこ うんこうんこうんこうんこうんこうんこうんこうんこうんこうんこうんこうんこ うんこうんこうんこうんこうんこうんこうんこうんこうんこうんこうんこうんこ うんこうんこうんこうんこうんこうんこうんこうんこうんこうんこうんこうんこ うんこうんこうんこうんこうんこうんこうんこうんこうんこうんこうんこうんこ うんこうんこうんこうんこうんこうんこうんこうんこうんこうんこうんこうんこ うんこうんこうんこうんこうんこうんこうんこうんこうんこうんこうんこうんこ うんこうんこうんこうんこうんこうんこうんこうんこうんこうんこうんこうんこ うんこうんこうんこうんこうんこうんこうんこうんこうんこうんこうんこうんこ うんこうんこうんこうんこうんこうんこうんこうんこうんこうんこうんこうんこ うんこうんこうんこうんこうんこうんこうんこうんこうんこうんこうんこうんこ うんこうんこうんこうんこうんこうんこうんこうんこうんこうんこうんこうんこ
おまえか犯人は
638は何も悪くないよな
>>741 だよな悪いのは
663 :
仕様書無しさん :04/11/09 19:00:32
>>653 ”引数を取るかどうか”は“自分が必要としているか”どうかだろ
>>655 煽る以外に何か出来る事はないんですか?
665 :
仕様書無しさん :04/11/09 19:14:30
main関数とランタイムルーチンとの関係に誰も触れないのはなぜだ?
667 :
仕様書無しさん :04/11/09 19:36:24
_ ∩ ( ゚∀゚)彡 おっぱい!おっぱい! ⊂彡
>>666 パラメータ受け取ったら戻り値を返さないといかんのかね
669 :
仕様書無しさん :04/11/09 19:48:36
main() { 〜〜 } だけでもreturnを要求されることってありますか
だから「main()」の先頭には「void」が隠れてると(ry
>>670 int main(int argc ,char *argv[], char *env[])
{
int result;
〜〜
return result;
}
だろ?
引数つけないと戻るときにコケたり そもそもエントリポイントが main じゃなかったり 時々は、そーゆー環境のことも思い出してあげてください。
ニヤニヤ・・・
675 :
仕様書無しさん :04/11/09 20:51:50
main() void main() void main(void) は全部一緒ですよね OS・処理系によってreturn (0);がいるかいらないかは違うけど
return は関数じゃないと何度言ったらわかるんだ。
え! main() は int main(int) void main() は void main(int) void main(void) は void main(void) じゃなかったっけ!?
678 :
仕様書無しさん :04/11/09 21:37:02
えっ644ってなんか変なこと言ってる?例えば、 〜足し算するプログラム sumsum.c〜 #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int sum = 0; int tmp; while( argc-- > 1 ) { tmp = atoi( argv[argc] ); sum += tmp; } return sum; } ってプログラムがあって cc -o sumsum sumsum.c でコンパイルかけて、 sumsum 1 2 3 と実行すれば6が表示されるはす・・・されない^^; あ〜returnは標準出力じゃないな〜 status・・・はMS-DOSにはないか・・・う〜ん、いい例が見つからん とりあえずおいらが言いたかったのは、何かしら返り値(答えの6)が欲しい場合はint等適当な型にするし、特に返り値が必要ない場合はvoidにするのかと思ってたのですが・・・違うのでつか? 誰か解説お願いします あと、 int main(){ ・・・ return 5; } とかした場合の返り値ってどんな場合に使えるのか誰か教えて〜
>>676 は?何を言ってるんだオマエ?
return 0 =return (0)
exit(1) = exit 0
exit(1) = return 1
ってことは分かってるよな。もう1回小学生からやり直したほうがいいよ
もっとソース読めウンコ
681 :
仕様書無しさん :04/11/09 21:50:28
お〜バッチとかスクリプトから呼んだ場合か・・・なるほどφ(..)メモメモ 仕事でcshスクリプト使って呼ぶってのはやってたのですがwindowsのバッチファイルは疎くて^^; ・・・ここでいうバッチ処理ってバッチファイルのことだよね?(xxx.bat) ちなみに、前半の返り値がいる場合はint型で〜いらない場合はvoid型って認識はあってるのかなぁ?
> exit(1) = exit 0 かなり疲れていませんか?
684 :
仕様書無しさん :04/11/09 22:05:24
$ vi hoge.c #include <stdio.h> void main(void) { printf("やあ、世界\n"); } $ gcc -Wall hoge.c hoge.c:4: 警告: `main' の戻り値の型が `int' ではありません $ mv hoge.c hoge.cpp $ gcc -Wall hoge.cpp hoge.cpp:4: error: `main' must return `int' hoge.cpp:4: error: `main' の return 型は `int' に変えました
686 :
仕様書無しさん :04/11/09 22:07:03
戻り値の型がintでreturnを省くとコンパイラが0を返しといてくれる 設定によってはワーニングが出ることもある 戻り値の型がvoidでreturnを書くとコンパイル時にエラーになるか 無視されるだろうな
678=681だが、644じゃないだす。 まっ疑問が解消されれば僕が644であろうがなかろうがどっちでもいいんだけどね〜^^
688 :
仕様書無しさん :04/11/09 22:10:17
C:\>hidemaru hoge.c #include <stdio.h> void main(void) { printf("やあ、世界\n"); } C:\>bcc32 -A hoge.c Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland hoge.c: エラー E2067 hoge.c 4: main の戻り型は int でなければならない(関数 main ) *** 1 errors in Compile ***
$ gcc -xc - -o hello #include <stdio.h> ← ソースをキーボードから直接入力 main() ← 〃 { ← 〃 printf("Hello World !\n"); ← 〃 return 0; ← 〃 } ← 〃 ← [Ctrl]+[D]を入力 $ ./hello Hello World ! ← ちゃんと実行できる
>>677 Cでは、戻り値の型を省略した場合、int型を指定したのと同じ。
引数を省略した場合は「引数がない」のではなく、「引数が不定」になる。
だから、「引数がない」ことを明示したければvoidを指定する必要がある。
ちなみにC++では引数を省略した場合は「引数がない」ことになる。
691 :
仕様書無しさん :04/11/09 22:13:07
>>689 あたりまえじゃん。int 型の関数で int を返してるんだから。
>>684 え〜こんなんなるんだ〜
明示的にvoid型にしてるのに怒られるのか・・・
なんか気持ち悪いけどコンパイラが怒るならint main()にするしかないのかなぁ・・・あ〜気持ちわり^^;
ちなみにこれはコンパイラがアホなんだよね?
それとも何かしらの制約でmainの型はintじゃなきゃダメってルールが存在して、それにコンパイラが従っているのかな?
693 :
仕様書無しさん :04/11/09 22:15:00
> 戻り値の型がvoidでreturnを書くとコンパイル時にエラーになるか > 無視されるだろうな 戻り値の型が void の関数で return; を書くのはまるで文法違反ではない。 だから、main 以外の void 型関数で return; を書いた場合は決して エラーにはならない。
694 :
仕様書無しさん :04/11/09 22:15:59
>>692 > それとも何かしらの制約でmainの型はintじゃなきゃダメってルールが存在して、それにコンパイラが従っているのかな?
ANSI 規格とか JIS 規格とか ISO 標準とかで決まってます。
UNIXを知らずにCをマスターしたとかしないとか
ゲイツを恨め
main() { alldigit(s+1) } int alldigit(char *s) { if (*s == '\0') return 1; return 0 } ifが成立すれば1しなければ0 あれ、main()の指定が間違ってる?
698 :
仕様書無しさん :04/11/09 22:19:09
$ vi fuga.cpp #include <stdio.h> main() { printf("やあ、世界\n"); return 0; } $ gcc -Wall hoge.cpp fuga.cpp:4: 警告: ISO C++ forbids declaration of `main' with no type /tmp/ccRCd21o.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0' collect2: ld はステータス 1 で終了しました
>>686 >>693 ていうかmainがどんな型であれ
returnを書くと絶対にエラーにはならないんじゃない?
700 :
仕様書無しさん :04/11/09 22:22:01
main() { ... } みたく、関数のプロトタイプ宣言を省略するのは C にしても C++ にしても 古いスタイルです。
701 :
仕様書無しさん :04/11/09 22:23:30
>>699 main は次のいずれかでなければならない。
int main(void);
int main(int, char **);
こうなった↓ $ gcc -xc - -o hello #include <stdio.h> void main(void) { printf("やあ、世界\n"); } 「Ctrl+D」を入力+Enter <stdin>: In function `main': <stdin>:4: warning: return type of `main' is not `int'
しかしコンパイルは通って実行はできた やあ、世界
704 :
仕様書無しさん :04/11/09 22:26:45
>>703 それは未定義の動作。運がよかった。
コンパイラによっては規格外のコードを実行できるコードをはいてくれる場合もある。
mainの振る舞いなんて、全てはライブラリの為せる技。
↓これをベースにした時、 { printf("やあ、世界\n"); } void main(void) → ワーニングは出たがコンパイルも実行もOK main(void) → OK main() → ワーニングは出たがコンパイルも実行もOK int main(void) → コンパイルすら出来ない int main() → コンパイルすら出来ない int main(int) → コンパイルすらできない return もしくは return (0) や exit(0) の場合は誰か試してくれ わしはくだらない実験に付き合ってもう疲れた
707 :
仕様書無しさん :04/11/09 22:32:03
もっとも基本的な C の関数である main のプロトタイプさえきちんと 守れないなら、C 言語マジわかんなくて当然だろう。 原則として規格どおりの文法でコーディングすること。 特殊な環境で ISO を満たしていない場合のみ、規格外のコーディングを してもよい。その場合でも、そのコンパイラのマニュアルに照らして 正しいコードを書くこと。
ちなみにWindowsXPで開発環境(コンパイラ?)はCygwin
ライブラリ(ぷ
と、コンパイラも開発環境もリンカの違いがはっきりと分かってないオレ 開発環境ってのはOSも含めて言うのか? コンパイラって・・・何処までが
711 :
仕様書無しさん :04/11/09 22:34:18
>>706 だから、ISO の規格書を読めば
>>701 のみだとわかる。
もっとも、C に標準的な規格がなかった時代(K&Rのみのころ)との
互換性のために main() も使えるけど、推奨されない。
712 :
仕様書無しさん :04/11/09 22:35:51
>>710 コンパイラはソースからリロケータブル・オブジェクト・モジュールを作る
ソフトウェア。リンカはリロケータブル・オブジェクト・モジュールから
実行ファイルを作るソフトウェア。
開発環境は 例えばひとえにCygwinと言った場合は何なんだろう(コンパイラ?)、BorlandC++とか VisualC++は開発環境かな
>>694 まじっすか〜嘘じゃないよね〜信じちゃうよ^^;
そうなんだ・・・VCエラー出してくれよ〜ゲイツ〜〜〜
>>695 ちなみに仕事でUNIX使いまくってましたが、main関数なんてほとんど触る機会なかったもので・・・と言い訳を言ってみる^^;
でも自分で作ったちっちゃいプログラムがあったな・・・どうなってたかな?ちょっと調べてみまふm(_ _)m
あ〜でもなんかとても勉強になった、みんなありがとう
コマンドライン解釈の無いライブラリでリンクすれば、当然mainは void main(void) しか正しく動かせない。 ・・・その前に、内部関数が見つからないとエラー出まくりだけどな。
716 :
仕様書無しさん :04/11/09 22:43:22
つまりは初心者用の本に基本的なことが書いてないのも原因なのか?
ページ数が勿体ないけど
ところで
>>1 を読む限りは初心者スレですよねここ
スタートアップファイルも知らんのか。
718 :
仕様書無しさん :04/11/09 22:44:53
719 :
仕様書無しさん :04/11/09 22:45:13
そkっか詳しく載ってるサイトきぼん
720 :
仕様書無しさん :04/11/09 22:49:23
ちょっと待て、printf関数って#include <stdio.h> が必要じゃなかったっけ?
絶対要るかと問われれば、要らない。
722 :
仕様書無しさん :04/11/09 22:54:01
723 :
仕様書無しさん :04/11/09 22:59:09
>>714 VCはエラーでませんね。警告も最大レベルに指定しても出なかったと思います。
昔からVC/MS-Cはvoid mainでとおりますね(まあ、void型ができて以降の話だけど)。
VC/MS-Cのサンプル・コードもvoid mainだったりします。
VC/MS-Cをを使う限りにおいては正しい書き方かもしれませんが、それはVC/MS-Cローカルの
規格です。
正解が分かってる問題を、なんでこいつら… 理解不能
理解する必要はありません。 心で感じるのです。
726 :
仕様書無しさん :04/11/09 23:14:16
>>713 Cの文法に限った話であればOSとかは関係ないです。リンカも関係ないです。
コンパイラの部分だけの話です。
727 :
仕様書無しさん :04/11/09 23:15:37
>>725 実際のところ、初心者って言うのは、「理屈ではこうだ」とあっさり言われても
腹の底で納得した気がしなければ、「わかった」とは感じられないものでしょう。
初心者向けの助言としては習うより慣れろ。 正解を知っていれば、理由は後から自然と見えてくる。
729 :
仕様書無しさん :04/11/09 23:23:03
CってISO/ANSI/JISで決まる前の仕様があって、決まってからの仕様があって、 さらにコンパイラ・メーカーによる独自拡張構文や関数があって、こうしてみると 初心者が勉強するには紛らわしい言語だよね。
>>723 ・・・void型は始めはなかったんだ
僕も授業でvoid main(void)で習ったんだよね〜
>>724 理解を深めるために徹底的に知っておくことは重要だす。
同じような解答もいくつかみえるけどね、そこは解答がかぶったのではないかと・・・
ちなみに僕は723の参照ページで完全に納得しました。(疑い深くてすみません^^;)
仕事で、UNIXのソフトのWindows移植やってたけど(僕はテスター)UNIXとWindowsの違ってる部分で移植で苦労してきてるの見てるからなぁ〜
こういうことを他人に説明で切るレベルまでしっかり知っておくと後々便利だよ〜
731 :
仕様書無しさん :04/11/09 23:25:25
>>722 へ〜
つまりはどうなの
int main()
int main(void)
int main(int argc, char **argv)
の3つだけ?
ちなみにint main(int argc)や
int mina(int argc, char *argv)やint main(int argc, char argv)
は文法的に間違い?
??? 四捨五入する関数が見つからない。 A 四捨五入するための特別な関数はありません。浮動小数点の変数xに対して小数点以下を四捨五入する最も簡単な方法は、 (int) (x + 0.5) を実行することです。ただし、この方法は負の数に対して期待した結果を得ることができないかもしれません。 (参考: comp.lang.c FAQ 14.6)
いや、なんでもない
なんだ?
736 :
仕様書無しさん :04/11/09 23:51:31
そういえば昔、LSI C-86 Ver.3.30 試食版で double main(void) { ... } とか #include <stdio.h> FILE main(void) { ... } とか通ったな。 規格違反だけど。
JIS X3010 で規定されるプログラム開始処理 1. フリースタンディング実行環境に於いては、処理系定義。 2. ホスト環境に於いては、関数名は main。定義は、以下の何れか。 a. int main(void) b. int main(int argc, char *argv[]) c. 上2つの何れかと等価な引数型をもつ方法 d. 上3つのどれでもない、処理系定義の方法 ようするに、どうでもいいと。
なんかの本でmain には3つの引数を取るものもある、とか書いてたような
742 :
仕様書無しさん :04/11/10 18:23:12
おまいらCのmainルーチンがOSから直接呼ばれるとでも思ってるのか? ランタイムルーチンの存在を忘れてるか知らないから不毛な議論が続くんだよ
ランタイムルーチンじゃねーよカス(w
ほんたま臭い文章だ >742
747 :
仕様書無しさん :04/11/10 21:17:44
ほんじゃOSからmainが呼ばれるまでの過程を説明してみろや
748 :
仕様書無しさん :04/11/10 21:19:05
OSが無いとCで書いたプログラムは動かないのかと
749 :
仕様書無しさん :04/11/10 21:21:11
>>748 おまいはOS以外の環境でmainが呼ばれるまでの過程を担当しろ
750 :
仕様書無しさん :04/11/10 21:22:05
test
ランタイムの意味解ってんのwww
ヘッダライブラリの話をしたいの? こういう事を書いてる漏れは既に釣られてるの?
無知でなおかつ向上心の無い奴が一番たちがわるいという例
言語使用を正確無比に理解している事は、悪い事ではない。 ただし、必須の事でもない。
いつから哲学談義になっちゃったんですか。
よーし、 おとーさん、がんばって、メインしちゃうぞー。
main()に入らずんば、戻り値を得ず。
修正、得ざる。
>ランタイムルーチンの存在
ヘッダライブラリですか。 初めて聞く単語です。すみません不勉強で。
ぼくも ヘッダライブラリ(.hファイル?)の違いとライブラリ(関数?)の違いが分かりませんと
ぼくも ".h"と".hpp" の違いがわかりません。
僕も"return (1)" "return (-1)"のちg・・・
ppは++のファイル拡張子版、何か機能が追加されている ・・・らしいとしか言えない。 が、明らかに何かが違う
hppの拡張子は単にC++だという事を明示しただけだと思う。
今更だがスレタイに反応してみる C言語を知りたければ最も初期のC本を手に入れなければならない ヘタに組んでも動かないし、他人のソースを改変すると何時訴えられるかわからん 便利なソースのセット使うぐらいならCである必要はゼロ しかもC・C++はいいかげんなくせにまだ値が付いてるときやがる C言語やるぐらいならアセンブリ虫やっていた方が得だな
ニヤニヤ
なんかほんたまの亜流っぽいな
ネットをはじめたばかりの友人が、「面白いサイトをおしえてくれ」 としきりに言うので、2chを教えてあげました。 すると、彼は見事に厨房になってしまったのです(27歳ですが) 居酒屋に入り、席につくなり「さあ、マターリしようか!!」 会話中も「その話はサゲで!」「オマエモナー!」「やっぱJAVAはOFFだよな!(Lhacaの使い方さえ解らないレベルなのに)」 嬉々として覚えたての用語を連発しています。 先日など、河原でバーベキューをした時、あまり面識のない人に 「ドキュソって知ってる?元は目撃ドキュンの・・・」などと話し出し、 しまいには酔っ払って川べりに座り、人差し指を天に向かって上げ、 「イッテヨシ!イッテヨシ!イッテヨシ!!!」と叫んでいるのです。 一緒にいる私は痛さで恥ずかしくてしょうがありません。 現実で2ch用語連発するなよ、と言うと 「うるせえドキュソ!あぼーんだ!」 と訳のわからない事を言い、相手にされません。 どうすれば良いでしょうか?まさかこんな事になるとは思いませんでした。
774 :
仕様書無しさん :04/11/20 18:58:18
>>773 > どうすれば良いでしょうか?
どうしようもないよ。
775 :
仕様書無しさん :04/11/20 19:21:44
>>773 どこで拾ってきたのか知らんが
ワラターw
>>773 2ch用語はもうすぐ標準語になるから。
ここはひどいインターネットですね。 定年退職を迎え、息子に勧められてパソコンを始めた初心者ですが、 ここに来て衝撃を受けました。何というひどいところですか、ここは。 私もパソコンを始めてから色んなインターネットを閲覧しましたが、 こんなにひどいところはありませんでしたよ。 こんな宣伝を言ったり、くだらない発言をしてりするのが現実でも 当然のように錯覚してしまうことが怖いのです。特に若者達は・・・。 それにこの「名無しさん」という人はものすごく書き込んでいますが、 こんな時間と労力+お金があれば他のスポーツ等でも素晴らしい成績がおさめられる のになと思います
778 :
仕様書無しさん :04/11/22 01:31:52
>>777 2チャンネルは日本最大の公衆便所または痰壺と呼ばれています。
まともな人は寄り付かないところです。
OS再インストールすれば使えるよ♪(^-^)
>>777 いっつも思うんだけど、初心者とか言っときながら、
漢字変換も専門用語の使い方も問題ないってどうよ。
もう少し初心者っぽさとか、痛さのある文章つくれないの?
釣りとしてダメダメだね。やる気あんのかと(ry
釣りにダメ出し、カコイイ!!
785 :
仕様書無しさん :04/12/02 09:26:47
糞初心者です。 割り込み質問すみません。 >整数型配列aに100から199までの数字を格納し、4けたの書式付10進数で出力 >せよ。また、書式なしの10進数で出力した結果と比較せよ(両方の結果を示す事)。 for(i=100;i<200;i++); 書式付が調べてもわかりません。教えてください。
書式付って何?書式指定文字列?とかでググって見れば?
#include <stdio.h> int main() { int a[100]; int i; int j = 0; for(i=100; i<200; i++) { a[j]=i; printf("%4d\n", a[j]); printf("%d\n", a[j++]); } return 0; } 実行結果 100 100 101 101 (略) 199 199
>>4けたの書式付10進数で出力 意味不明
789 :
785 :04/12/03 02:01:31
書式付って言葉が意味不明ときますか・・・・・。 実は、これが教授の出した問題なんですけど・・・・・。 うちの教授、どうしようもないんですかね。 いや、こんな問題で詰る私も十分駄目なんですが。
>>790 たぶん解凍にはなってないよ
書式付10進数=
書式指定指定文字のなに?
>>792 オレは789の態度に文句をつけてるの。
少なくとも、あのソースを実行してみれば %d と %4d の違いは判るわけで、
それを元に教授のところに設問の意味を聞きに行けばいいわけ。
それが勉強ってもんでしょ。
やる気のないバカ学生はどんどん単位を落せば、ってこと。
>>785 違う違う。
そんな問題で質問をしてくる、あんたの行動が意味不明ですから。
ドラえもん、ここのスレは何をやってるの? \  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄V ̄ ̄ ̄ ̄ ̄ ̄ ̄ __ / ___ ヽ /  ̄  ̄ \ | | /, −、, -、l /、 ヽ | _| -| ・|< || |ヘ |―-、 | , ―-、 (6 _ー っ-´、} q -´ 二 ヽ | | -⊂) \ ヽ_  ̄ ̄ノノ ノ_/ー | | | ̄ ̄|/ (_ ∧ ̄ / 、 \ \ | / ヽ ` ,.|  ̄ | | O===== | `− ´ | | _| / | | (t ) / / | ____∧_______ /さぁ?基地外の言葉は僕には |理解不能だよ。
みんな、親切もほどほどにしとけよ。 この程度の問題もこなせない785みたいな猿がマ板にいる資格なんてないだろ。 ていうかこんなのがまかり間違って卒業して、○○大卒なんて肩書きで俺達の 会社にSEやPGとして採用でもされたらどうするんだ? 俺は態度の悪い教えて厨の教育なんてしたくないぞ。
会社に採用されたら無視すりゃいいだけ。オシエテ君はオシエタガリ君にしか 粘着しないからな
オシエテ君が,周りの人間がオシエタガリ君かどうかを判断するまでのうざい時間はどうする?
数学もできないのにプログラマになっても仕方ないという事実を教えるべきなのか、 それとも現状のコボラー(業務系PG)に気配りをし、そうでなくてもプログラマーというのは 立派な仕事なのだ!と偽の職業観を撒き散らすほうがいいのかどっちなのだろう。 土方は少なくとも、自分らの仕事があまり夢のあるようなものではないことぐらいは 知っている。それぐらいの知性はPGにも持ってもらうべきだと思うんだがどうだろう? 労働人口をIT方面にシフトしてる最中なので、事実は依然隠されたままに留まるだろうが。
>>798 しょうがない。あきらめる。そこまで虫のいい話もないと思ってるから
>>うちの教授、どうしようもないんですかね。 亀だけど、自分が馬鹿だと絶対最初に思わないんだよね
802 :
ほんたま :04/12/08 21:17:57
>>787 にーよ、そのソースは使えんぞ!わかるか?
にーよ、int a[100];
と配列の要素数を100までしか宣言してないのに、
for(i=100; i<200; i++) {
a[j]=i;
}
はないぞ。わかるか?
つまり配列外の未定義の領域に不正に代入したことになり、プログラムは強制終了するぞ。
にーよ、おりはコンパイラそのものをつくって公開している2ch唯一の神だ♪何でも聞け!!
もういいじゃん、文系、理系関係、数学好き・嫌いとか関係ないって。 それより、単位欲しくて教えて君なんだろ、ほっとけって。 お金欲しくて教えて君も、ほっとけ。
804 :
ほんたま :04/12/08 21:23:32
>>787 にーよ、そのソースは使えんぞ!わかるか?
にーよ、int a[100];
と配列の要素数を100までしか宣言してないのに、
for(i=100; i<200; i++) {
a[j]=i;
}
はないぞ。わかるか?
つまり配列外の未定義の領域に不正に代入したことになり、プログラムは強制終了するぞ。
にーよ、おりはコンパイラそのものをつくって公開している2ch唯一の神だ♪何でも聞け!!
>>802 お前もバカ学生と同列か。
コピペしてコンパイラに食わせてみろ、低能。
>>804 釣りだ、釣りだ!すごい大胆だ!これなら、釣られても良いかなぁ、なんて思った漏れはバカだ!
メモリの構造が分からないバカはVBでもやってて下さい
808 :
ほんたま :04/12/08 21:33:46
>>805 ハゲ!!
こんなものコンパイラに食わせなくても見た瞬間にわかるわい!!
いいか、にーよ、正確には、
int a[100];
int i;
int j = 0;
と宣言しているから、
for(i=100; i<200; i++) {
a[j]=i;
}
ループの中で、a[100]となったとき、iの値100は、
int a[100];の後の、
int iに代入され、
a[101]となったとき、iの値101は、
さらにその後の、
int jに代入されることになるんだよ、ハゲ!!
そして102から、変数はどこにも宣言されてないので、未定義の領域にアクセスしたことになり強制終了するんだよ!!
またint j=0;だが、プログラム中のどこにも使われてないから、エラーは出ないが無駄なコードだぞ。わかるかな?
もし、たまたまその102以降のデータを格納する部分のメモリがあいてたら?
配列変数aの添え字に使われてるのはiじゃなくjなんだが。 アイじゃなくジェイなんだが。
>>808 >またint j=0;だが、プログラム中のどこにも使われてないから、エラーは出ないが無駄なコードだぞ。わかるかな?
あ〜ん、もう、釣らないでぇ(はぁと
812 :
ほんたま :04/12/08 21:45:50
>>809 にーよ、鋭いな!!
にーよ、おりのスリムドカンでコンパイルすればそのエラーは出ないこともあるよ。
というのは、おりのスリムドカンではデータはコードセクションの一番最後の格納され、余った領域は0で埋められるから、その0が並んだ領域に書き込まれる可能性がある。
そうすればエラーは出ないな…だがそれ以外では、実行時エラーとなる。
つーか、Visual C++でコンパイルすれば、これはコンパイル時エラーになるな。
つーか、よく見たら、a[j]=i; の[]中はiではなくjだったのね…
道理でiの左下に変な髭がついてると思った…スマソ
>>810 ああっ、先に書かれた。orz
つーわけだ、大した神様だな、ハゲの沢村よ。w
スリムドカンってどっかで聴いた事あるなと思ったらダイエット薬品じゃねぇか
815 :
ほんたま :04/12/08 21:49:29
>>813 にーよ、おりは神には間違いないが、最近視力が落ちてきたんだ。
これは神の唯一の弱点といえるな♪
ハゲなのにかみ様
warota
818 :
ほんたま :04/12/08 21:56:49
にーらよ、そもそも
>>787 が、
int a[100];と紛らわしいこと書いてるから、
配列の添え字がiと思っちゃったじゃねーか!!
a[0]とa[1]の2つしか使わねーんなら、
int a[2];でいーじゃねーか、ハゲ!!
おりは神であることには間違いないが視力が悪いんだから、ちゃんと書け!!
にーらよ、これは無駄なコードを書いてはいけないという教訓にするといいぞ♪
にーらよ、為になるかな?どうじ?
ここまでワロタ
どっかのスレで「波形がなんとか」とか言って鬼の首取ったみたいに騒いでいた奴がいたよな。 あれ、誰だったっけ?な、ほんたま。 いやぁ、傑作だねぇ、「コンパイラに食わせなくても見た瞬間にわかる」か。w
>>818 顔真っ赤にして照れ隠ししなくてもいいよ、お坊ちゃん。
俺は無知な厨房を責めたりしないからサ。
厨な787です 一気にスレが伸びてますが、一体なんなんでしょう(謎 ちなみにボクはプログラム歴半年の大学生なので冗談半分で書いたのですが・・・ 【int a[100];】 ではなく 【int a[101];】とするべきでしょうか
学校の授業で習ってるレベルなのでまだ入門者です。
とりあえずありったけ確保しとけば問題なし
>>787 大学生は大学生らさいくSEXしてなさい
配列は1つぶん多く確保しとけって言われますが、コンパイルしてもエラーにならないのは何故です?
コンパイラが低脳だから
>>1-828 ,へ、 /^i
| \〉`ヽ-―ー--< 〈\ |
7 , ''''''、, '''''' 、 ヽ
/ / \、i, ,ノ ヽ ヽ
| ((●) -(●) ) | ・・・・・・・・ゴクリ
/ 彡 ノ(、_, )ヽ ミミ 、
く彡彡 `-=ニ=- ' ミミミ ヽ
`< `ニニ´ ミミ彳ヘ
> ___/ \
/ 7 \
| /
>>823 いや、問題はない。
コードの質はともかく、ちゃんと動作するし、書いたとおりの結果も出力される。
単に馬鹿がバカな勘違いをしたというだけ。
宿題の回答としてなら、普通は
for(i=0;i<100;i++){
a[i] = i+100;
}
for(i=0;i<100;i++){
printf("%d\n",a[i]);
printf("%4d\n",a[i]);
}
として格納と出力を別のループに分けるけどね。
それくらい。
キミなら
>>785 とか、ほんたまみたいにはならないと思うよ。
がんがれ。
まぁ、回答は好みの問題もあるからいんだけど、、、
iとjが紛らわしいから、jを使うなとか言われると、
胸くそ悪くなるんだよ、ボケェ!
>>818
>>831 あ、たしかに押しつけがましかったかも。申し訳ない。
>iとjが紛らわしいから、jを使うなとか言われると、
>胸くそ悪くなるんだよ、ボケェ!
>>818 同感。
特に自分の失敗を誤魔化すための屁理屈だから余計に腹が立つ。
絶対に仕事で組みたくないタイプだよな。
833 :
ほんたま :04/12/08 22:54:03
にーらーーーーーーーーっ、勝ったーーーーーーーーーーーーっ!!! にーらーーーーーーーーっ、配列の添え字がじぇーでもエラーが出るぞ、ぎゃははは♪ いいか、にーらよ、 ループに入る前j=0;だろ? すると、 for(i=100; i<200; i++) { } ループの中で最初のループが、 a[j]はa[0]、 a[j++]がa[1]になるわけだ。 ではループが最後に達したときはどうなるかな? iは199までループする。 すると、 a[j]はa[99]のとき、 a[j++]a[100]になるわけだ。 だが、宣言はint a[100];だぞ。 つまりaの添え字はa[99]までしか使えねーんだよ。 わはは、a[100だと不正なアクセスになるじゃねーか!!! わははははーーーーーーっ、勝ったーーーーーーーーーーーーっ!!! おりは正しかったーーーーーーーーーーーっ!!!! やはり神ーーーーーーーーーーーーーーーーーーーーーーーっ!!!わはは♪
ほんと精神年齢低いんだな、感動した
>>833 後置記法インクリメント演算子が評価されるのはいつなのかな、神様?
>>833 一つだけ教えてくれ。
お前仕事してるか?してるとしたら、どこに勤めてるんだ?
いやな、お前のとことだけは仕事したくないから、教えて欲しいんだ。
盛り上がってる?
得意げな顔して何が、エラー出た、だ。
喧嘩両成敗、ほんたまも大学生もクズさ というよりもな 死んで!!
ネットをはじめたばかりの友人が、「面白いサイトをおしえてくれ」 としきりに言うので、2chを教えてあげました。 すると、彼は見事に厨房になってしまったのです(27歳ですが) 居酒屋に入り、席につくなり「さあ、マターリしようか!!」 会話中も「その話はサゲで!」「オマエモナー!」「やっぱJAVAはOFFだよな!(Lhacaの使い方さえ解らないレベルなのに)」 嬉々として覚えたての用語を連発しています。 先日など、河原でバーベキューをした時、あまり面識のない人に 「ドキュソって知ってる?元は目撃ドキュンの・・・」などと話し出し、 しまいには酔っ払って川べりに座り、人差し指を天に向かって上げ、 「イッテヨシ!イッテヨシ!イッテヨシ!!!」と叫んでいるのです。 一緒にいる私は痛さで恥ずかしくてしょうがありません。 現実で2ch用語連発するなよ、と言うと 「うるせえドキュソ!あぼーんだ!」 と訳のわからない事を言い、相手にされません。 どうすれば良いでしょうか?まさかこんな事になるとは思いませんでした。
>>841 あんた、間違い。
int a[101];
にして、return(0);の前に
for(i=0;i<101;i++){
printf("%d,%d\n",i,a[i]);
}
を入れて実行してみ。
>>833 おまえがどんなコンパイラ使ってるかしらんが、ワシのはERRORなんて出ない
なんか昨日、神戸三宮のアニメイトに行ってんけど、 通路の狭いところで革ジャンのオタク野郎がとおせんぼする形で 立ってたんだが、 俺は紳士的に「どいてくれますか」っていったら 「・・・フッ」って笑って、俺の顔に寸止めのパンチを打ってきた。 それは紙一重でかわしたんだが、「何すんねん!表出ろよ!」っtえ、言った! そしたら「俺、ボクサー経験、マジで喧嘩は負けたことないぜ。ここでもだいぶ片付けてやった」 っとかいいおんねん!プッ、きしょいねーw 俺はそいつを殴り倒した。アニメグッズの山に倒れて、泣き出した!爆笑。 サクラ大戦のキーホルダーとかが絡まって、「動けないよおおおおお!!!!」とか、 周りの客、皆爆笑! 店員がすぐに来て、「監視カメラで見てました。こいつは常連で通り魔みたいなもんですねんありがとう!」っていって 俺はなぜか感謝されてしまった・・・。おいおいw
今日友人と歩いていたら 1111111 1111111 1111111 o o 1111111 大 大 ーーーーーーーーーーーーーー こんな感じで、居れと友人 との5m先に大雨が降っていました。 でね、居れのいる所は快晴。 したの雨降ってるとこの境界はどうなっ ているのかと思い 近ついて手を伸ばしてみると手を入れたとこ ろばかり濡れます。面白いので頭だけ突っ込んで いれて「シャンプー!」とか言って 遊んでたら雨がゆっくりとこちらに移動してきました。 ただ濡れたくないので逃げたら、ソレに合わせて とろとろスピードを上げてきます。で、 ーーーー1 1ーーーー1 ●○1 1−−−−1 ーーーー1 けっきょくこんな↑袋小路に追い込まれてずぶぬれに なってしまいました!!! !!!!!!!みなさんもこんな経験ありま す? 929 名前: 水先案名無い人 投稿日: 03/07/15 03:59 ID:xsnjrW+1 いつばれるって縦書きされても騙しって感じでもないし・・・なんか微妙だ・・・・
ここはひどいインターネットですね。 定年退職を迎え、息子に勧められてパソコンを始めた初心者ですが、 ここに来て衝撃を受けました。何というひどいところですか、ここは。 私もパソコンを始めてから色んなインターネットを閲覧しましたが、 こんなにひどいところはありませんでしたよ。 こんな宣伝を言ったり、くだらない発言をしてりするのが現実でも 当然のように錯覚してしまうことが怖いのです。特に若者達は・・・。 それにこの「名無しさん」という人はものすごく書き込んでいますが、 こんな時間と労力+お金があれば他のスポーツ等でも素晴らしい成績がおさめられる のになと思います
ハウルの動く城 ny d391ecd8ba7a4d5495a0e1b0d1b6f21b Share 58960c15e62e0e256bd462f5e0cdb8ba0d38ae19
城が動くわけねえだろ。 寝言は寝て言えカス
ハウルの動く城ってさ 城動きすぎw ハウルはしゃぎすぎwwwwwwwwww もうちょい落ち着けやwwwwwwwwwwwwww
最後のオチがしょぼすぎ
いうなよ、絶対いうんじゃねーぞ! まだ見てないんだから
ずばり、言うわよ?
月にかわっておしおきよ?
はんにんはヤス
ラスボスはカイル
おまいらはホントにショボいのか?だったらこのスレの住民に問題w出すスレ これが出来ないとか言わないでくれよ 任意の数の整数を(コンソール)入力し、値の小さい順に並び替えろ。 入力する整数は最小で1個、最大で10個。
もちっと上手に煽ってもらいたいもんだ。 ほんたまのほうがまだマシだな。
どこか違うか? #include <stdio.h> void main (void){ int in[9],i; //入力部 for(i=0;i>=9 || in == NULL;i++){ printf("整数を入力してね :"); scanf("&d",in[i]); } //ソート int iremono; for(i=0;i>=9;i++){ if(in[i] > in[i+1]){ //順番に比較 iremono = in[i]; //比較して、大きければiremonoに入れる in[i+1] = iremono; //iremonoに入っていた数を入れ替える } } //出力部 for(int i=0;i>=9;i++){ printf("%d番目の整数:%d",k,in[i]); } }
>>860 全て違う。
#include <stdio.h>
#include <stdlib.h>
int main (void) {
int in[10], i, num;
//入力部
for(i = 0; i < 10 && in != 0; i++) {
char buf[64];
fputs("整数を入力してね :", stderr);
fgets(buf, sizeof buf, stdin);
in[i] = atoi(buf);
}
num = i;
//ソート
for (i = 0; i < num; i++) {
if (in[i] > in[i + 1]) {
int temp = in[i];
in[i] = in[i+1];
in[i+1] = temp;
}
}
//出力部
for(i = 0; i < num; i++) {
printf("%d番目の整数:%d", i, in[i]);
}
return 0;
}
>>861 それもソート部分が機能してないよ。
バブルソートだったらこう
int in[10], i, j, num;
:
:
//ソート
num = i;
for (i = 0; i < num; i++) {
for (j = num; i < j; j--) {
if (in[j-1] > in[j]) {
int temp = in[j-1];
in[j-1] = in[j];
in[j] = temp;
}
}
}
>>861 入力部の
for(i = 0; i < 10 && in != 0; i++) {
~~~~~~~~~
これなにさ?
in[i] = atoi(buf);
if (in[i] == 0) break;
こうだろ?
後置判定じゃないといけないから、
どうしてもループ条件にしたいならdo〜while構文使うしかないしね
>for(i = 0; i < 10 && in != 0; i++) { > ~~~~~~~~~ ワロタw こんな入門者用の本にでも出てきそうな問題相手に4レス以上使わなくちゃいけないなんて・・・
a
d
868 :
仕様書無しさん :05/01/07 15:04:17
ふぇ
869 :
仕様書無しさん :05/01/07 21:33:02
ちょっと質問したいのだが、 一般にC言語が使えるって言えるのは どのくらいのプログラムが組める場合なんだ?
Cマガの電脳パズルが解けるぐらい
>>869 「ファイルの入出力が意のままになる」、これだけ。
872 :
仕様書無しさん :05/01/07 22:06:53
>>871 は?マジでそれだけ?
そんなの言語の勉強はじめてから一ヶ月以内にできるようになるだろ。
C、VB、Java、C#とやってきたけど余裕だったぞ。
なーんだ、ベーシックマガジンに載っていたような
ゲームが作れなくてもC言語が分かるって言って良いのか。
874 :
仕様書無しさん :05/01/07 22:23:14
871の意味が解らない香具師は高性能なスクリプトでも打っていろ
>>874 じゃ、互換性のないファイルをメディアプレイヤーで簡単に再生できるムービーとして書き出してみてくれ
ん? 出来ない? じゃぁプログラム上で再生する事は?
はぁ? そんなの言語の勉強はじめてから一ヶ月以内にできるようになるんだろ?
簡単な事じゃぁないか
屁理屈か。
878 :
仕様書無しさん :05/01/07 22:32:37
あんまりウンコをいじめないでくださいね
879 :
仕様書無しさん :05/01/07 22:34:50
∧_∧ ┌───────── ◯( ´∀` )◯ < ぼくは、ウンコちゃん! \ / └───────── _/ __ \_ (_/ \_) lll
880 :
仕様書無しさん :05/01/07 22:36:09
872 は逃げ出した。
sageろよ荒らしが来る
882 :
仕様書無しさん :05/01/07 22:40:42
カタカタ ∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ (・∀・ )< ここはひどいインターネットですねww _| ̄ ̄||_)_\___________________ /旦|――||// /| | ̄ ̄ ̄ ̄ ̄| ̄| . | |_____|三|/
屁理屈か。屁理屈か。屁理屈か。屁理屈か。屁理屈か。屁理屈か。屁理屈か。 屁理屈か。屁理屈か。屁理屈か。屁理屈か。屁理屈か。屁理屈か。屁理屈か。 屁理屈か。屁理屈か。屁理屈か。屁理屈か。屁理屈か。屁理屈か。屁理屈か。 屁理屈か。屁理屈か。屁理屈か。屁理屈か。屁理屈か。屁理屈か。屁理屈か。 屁理屈か。屁理屈か。屁理屈か。屁理屈か。屁理屈か。屁理屈か。屁理屈か。 屁理屈か。屁理屈か。屁理屈か。屁理屈か。屁理屈か。屁理屈か。屁理屈か。 屁理屈か。屁理屈か。屁理屈か。屁理屈か。屁理屈か。屁理屈か。屁理屈か。 屁理屈か。屁理屈か。屁理屈か。屁理屈か。屁理屈か。屁理屈か。屁理屈か。 屁理屈か。屁理屈か。屁理屈か。屁理屈か。屁理屈か。屁理屈か。屁理屈か。
884 :
仕様書無しさん :05/01/07 22:55:52
886 :
仕様書無しさん :05/01/07 23:02:39
,rrr、 | |.l ト /つ))). _ _ _ ⊂ ヽ | __ ☆ __ _/ 巛 / /-LLl /\___/ヽ.`ー \ | |l / \ __つ /_/ |_| / 'ヽ,,,)ii(,,,r''''''´'\/|| , \.|||/ 、 \ ☆ ロ /l .|-=・=- -=・=- 、/ __从, ー、_从__ \ / ||| /__| | `⌒,,ノ(、_, )ヽ,,`、/ / / | 、 | ヽ |l _ _ _ 働け、貧乏人ども .| ,rェエェ、 (/ ) `| | | |ノゝ☆ t| | |l \ / /-LLl \ |,r-r-| ./ `// `U ' // | //`U' // l /_/ |_| `ー `ニニ´/ / W W∴ | ∵∴ | ロ /l / ☆ ____人___ノ /__| / /
×適正 ○社会性
888 :
仕様書無しさん :05/01/07 23:09:59
i ...::::::|'、ヽ;::::::::::::::|,!:!__リ,,'iヽ::l''、:'、 / / | ..::::::::;:::i!:i ヾ:、ヽ:::::::::| リ , -─ リ i;il:ヽ, i / あはははは〜 l:::::::::::::::i',i ':i ,メ、 \;:l '゙ `、 !::::/l ...::::::/``ヽ l::ヽ:::::ヽ:i,レ',.゙-‐'''' ',/'/..::::::::::/ l'ヽ;、 こいつら正月も正月あとも i:::::>、:ヾ,' / _,.. -‐'ヾi ,レ'::::::::::;r':.. / i_\ i:::i. `'‐,ゝ i" '! ,.‐''" :::::::::::i゙::::::::.../. ノ 'i 2ちゃんねるしてるよ !::\ `ヽ ':, l{ ..:::::/::L,. ‐'":::::;/ ! l::::::::`''‐r\ ヽ.,__,.ノィ'‐-‐''"'ォ‐--,゙弋''''"::::::;.ノ |::::::::;ィ:::}、 ``'''─--、-‐ニ┤ ___ハ,`''ーヽ-'=‐''":::
889 :
仕様書無しさん :05/01/07 23:12:18
ビシッ / ̄ ̄ ̄ ̄\ / ̄\( 人____) , ┤ ト|ミ/ ー◎-◎-) | \_/ ヽ (_ _) ) | __( ̄ |∴ノ 3 ノ <かかってこいよおら。 | __)_ノ ヽ ノ ヽ___) ノ )) ヽ.
>>507 処女観については同様じゃ。
かわいい者が好みでな、すると好きなのは童女になるのかの。
童貞も丈の低く、可愛らしい顔をしておったらよいの。
誤爆スマソorz
荒らしは早く芯でねw
893 :
仕様書無しさん :05/01/07 23:22:18
おまえが氏ねよww __ /:::::\ /:::::::::\ /∵-=・=-∴-=・=- ( __//. ヽ,, ,) \1 八. !/ ζ, .八. j i 丿 、 j | 八 | | ! i 、 | | i し " i '| |ノ ( .. i .. i| ( '~ .. .! ‖ /:: | ` `二´' |:\ /::::|___/:::\ /::: / \:::::\ /::/ \:::::| |::| \:::| __/ ) ( \__
895 :
仕様書無しさん :05/01/08 00:34:16
ガキをいじったら、ろくな事ないな
>>894 http://www.realintegrity.net/~nbatehe/ <TITLE>Real Integirity擬似</TITLE>
<P><FONT size="7">稲田健二のページ</FONT></P>
<P>このページは管理人の趣味である○○○と○○○と○○について気ままに作成されたページです。</P>
<P style="background-color : black;"><BR>
稲田健二君のサイトらしいぞ。
なんかリンクがメール以外ことごとく、
ftpリンクになってるな。
>>896 いや、それは俺のページだよ<( ̄^ ̄)>
気になったからかのえあスマッシュの解説をレンタル鯖にうpしただけだ
898 :
仕様書無しさん :05/01/08 19:33:12
constが使えない厨房は氏んでください。いやマジで。
constってなんですか?
すげー頻繁につかうよ。
javaで使うよ
904 :
仕様書無しさん :05/01/09 11:45:46
905 :
仕様書無しさん :05/01/09 11:46:23
906 :
仕様書無しさん :05/01/09 11:50:06
CとかC++って理解できる方が不思議。
const 使わない同士だとそれなりにスムーズに行くし const 使う同士だとやっぱりスムーズに行く 問題は、const_castが大量にあるソースが出来る事態…
908 :
仕様書無しさん :05/01/09 12:02:14
他の言語と大差ねえだろ バーカ
909 :
仕様書無しさん :05/01/09 12:11:16
通常言語的で理解しすい順 COBOL > PL/I > BASIC > Java > C/C++ > Assembler > マシン語 CはOS記述用に開発された中水準言語だから、理解しやすいと言う方が世間から外れとる
910 :
仕様書無しさん :05/01/09 12:35:02
理解しやすい言語ほど使いにくい アセンブラ、マシン語は使ったことねえけど やっぱりc++が最もバランスのとれた実用的な言語だよな
911 :
仕様書無しさん :05/01/09 12:46:52
いやいや。 なんでもそうだが、 「理解しにくい(低水準な)ものほど、馴れれば使いやすい」 自動車も洗濯機、細かく制御したくなるとマニュアルに近い方が便利。 プロは全自動なんて使わない。 単に事務計算を記述したいなら、今でもCOBOLが簡単で確実。 ちょっと文字列処理したいならPerlは手軽。 MS製品買って済ませたい程度ならVBも手軽。 マシンを速く細かく制御したいなら、今でもやっぱりアセンブラ。 だから、何をどうしたいかで、「便利」の基準が違う。
912 :
仕様書無しさん :05/01/09 12:58:39
と考えると、生産性・実行速度・柔軟性・ツール・ドキュメントの充実度などを考えると、 やはり最もバランスの取れた言語はc++だな
>>907 const使わない奴は糞だと思いますが、const_castは使ったことありません。
キャストはC++ではなくCスタイルです。
C言語やアセンブラは覚えることが少ないので楽だな。
使いやすいから、才能ない馬鹿でも理解できるから素晴らしいってわけでもねーけどな Cが最も普及してるように
916 :
仕様書無しさん :05/01/09 18:50:35
917 :
仕様書無しさん :05/01/09 19:10:46
簡易言語や4GLは、一時もてはやされたが、今はほとんど残ってない。 今でも古典であるCOBOLやC(発展系のC++やJava)が主流。 基本に返るというか。
918 :
仕様書無しさん :05/01/09 19:19:26
C#はいつ主流になりますか?
920 :
仕様書無しさん :05/01/09 20:24:05
てか、Cにconstあるの? 俺が学んだ本にはなかったような・・・。 最近のCにはあるんか? C++だとconst使うけどさ。
>>922 あんまし、意識したことなかったけどね。
あるんだってさ。
924 :
仕様書無しさん :05/01/09 21:53:50
>>922 K&Rにはない。ANSI C (C89)からはある。
928 :
仕様書無しさん :05/01/10 15:23:02
今年の四月で入社3年目になるんだが未だに製品開発(C言語)を 1回しかやったことが無い…。(期間にして約1ヶ月) テストや文書作成ばっかりで未だにCがよく分からんよ(;´Д`)
929 :
仕様書無しさん :05/01/10 15:28:39
931 :
仕様書無しさん :05/01/10 18:59:43
C++とCの違いがわからないんです。 どなたか端的に教えてください。。。
930 × 929 ○
935 :
初心者 :05/01/10 23:38:42
すみません質問です。 あるオープンソースに PACKET->L3.header = (u_char *)DECODE_DATA; とあったのですが、 ->の意味が分かりません。 どなたかヒントでも教えていただけないでしょうか。
936 :
仕様書無しさん :05/01/10 23:45:11
Win32APIとかcの標準ライブラリの関数のプロトタイプをよく見てみよう w 変更したくない領域へのポインタは const char* とか使ってるでしょ・・ 自分で関数書いたり関数内でポインタ使うときも まわりを見回すと使わない人が大半ですが 使ったほうが安心な気がする っていうか使えよバカ コンパイラがいろいろ検出してくれたりするし便利でしょ
937 :
仕様書無しさん :05/01/10 23:47:11
コンパイラが頼りなんですね:-)
938 :
仕様書無しさん :05/01/10 23:56:17
そうですね 最近のコンパイラは、凡ミスを検出してくれる道具として、非常に優れたものです const使ったりするのは、 品質の良い巨大なコードを書いて行くための、 ちょっとしたテクニックのひとつだと思います。
939 :
仕様書無しさん :05/01/10 23:57:22
っていうか使わない人はconstの意味がわかってないんだろうなあ
940 :
仕様書無しさん :05/01/11 00:03:52
と、思いたいのですね:-)
あ〜あ、const粘着のせいで、もう誰もこんす、とか。。。
山田君、全部ざぶとん持ってっちゃって〜!
新宿君、全部命持ってっちゃって〜!
if (zabton == void) って無理かな?NULLか\0か0じゃなきゃだめ
946 :
69式フリーPG ◆hND3Lufios :05/01/12 01:06:00
K&Rにvoidはなかですばい。
947 :
仕様書無しさん :05/01/12 01:07:17
crazy[945] == 能無し;
948 :
仕様書無しさん :05/01/12 01:09:32
void jisaku() { for (i=0; i<947; i++) crazy[945] == 能無し; }
949 :
仕様書無しさん :05/01/12 01:10:15
違った。 void jisaku() { for (i=0; i<947; i++) crazy[i] == 能無し; }
950 :
仕様書無しさん :05/01/12 01:22:43
なあ、VC++でドラクエT風のゲームが作れたら人に自慢できるかな?
951 :
仕様書無しさん :05/01/12 01:35:11
俺は尊敬してやる。 俺もゲーム(RPGやギャルゲーやアクション)作りて〜
952 :
仕様書無しさん :05/01/12 07:25:30
>>専門学校生へ 既出かもしれないけど、本当はただ道具として使うだけで十分なのに プログラミングを学ぶ事自体が目的になってしまっている奴が多くないか? 将来はプログラミング言語の研究をしたいとかならいざしらず、 このままだと、ただプログラミングが出来るだけのオタになる可能性が高い。 周囲にそういう人を時折見かけるので、ちょっと気になるな。 ある分野の学問や研究、ソフト作成を行う上で派生が生じてくるだけで、必要最低限でそれ以上のことは必要ない。 大事なのはそのメインの分野で活躍することだ。 まぁ大学に行ってる人はこのことを理解できるだろうけど。
>まぁ大学に行ってる人はこのことを理解できるだろうけど。 よぉ、お前の大学コンプレックスはなかなかだな でもな、大学ってのはお前の思っているような場所じゃないぜ
ちゃんと理解しているやつが宿題スレに来るはずが無い。
>>950 俺も尊敬してやる。
プログラミングじたいは
そんなにむずかしく無いだろう。
俺だったらキャラクタそのたのデータ作りに
途中で飽きる。
言語の研究開発やりてえなぁ。 いやむしろ全裸でOSを作りたい漏れは変人ですか、そうですか。
958 :
仕様書無しさん :05/01/12 16:14:51
>>956 勝手にやればいいじゃん。
何をためらっているんだ?
960 :
仕様書無しさん :05/01/12 23:37:49
できないし、苦労して時間を費やしてまでやる気もないから。
961 :
仕様書無しさん :05/01/13 08:02:36
今、アメリカのIT技術者は失業の危機に立たされている。海外から流入したIT技術者に仕事を奪われたのと、仕事そのものが海外に流出しているのである。 年収1000万円クラスの上級のIT技術者やプロジェクト・リーダーにも、その影響が及び始めたところを見ると、ソフトウェア開発の仕事が丸ごと海外に流出しているのであろう。「インターネットは国境を無意味なものにする」ことの典型例である。
962 :
仕様書無しさん :05/01/18 03:14:19
a
963 :
仕様書無しさん :05/01/19 00:17:16
964 :
仕様書無しさん :05/01/19 01:15:35
納期を決めれば、覚えられるよ(笑
965 :
仕様書無しさん :05/01/19 22:41:10
変数aが2の場合で、 w = a++; って言ったら3じゃないんでしょうか?教えてください
ド素人ならそんなもんを1行にまとめんな
968 :
仕様書無しさん :05/01/19 23:29:22
w = ++a;なら3.
w = (a)++; も3。
970 :
仕様書無しさん :05/01/20 00:24:48
てかさあ、いまどきC言語なんて必要ないだろ?
971 :
仕様書無しさん :05/01/20 00:28:31
cでoopしようぜ サンプルコードよろしく↓
972 :
仕様書無しさん :05/01/20 04:17:05
>>965 自分の記憶採掘ためにマジレスするだけだが
++aはaが評価される前に1を足す
a++はaが評価された後で最後に1を足す。
a=2;
w=a++;
だとw=aが評価された後でaに1を足しているからwは2だ。
struct foo{ int hogehoge; int func(void); }; ってしてやって、funcに関数ポインタ代入しれ。 そうすりゃ、foo.func()って使えるから。 あんまり意味ないけど。