C言語なら俺に聞け(入門編)Part 118
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2013/08/11(日) NY:AN:NY.AN★前スレ
C言語なら俺に聞け(入門編)Part 117
http://toro.2ch.net/test/read.cgi/tech/1373675124/
★過去スレ
http://makimo.to:8000/cgi-bin/search/search.cgi?q=%82b%8C%BE%8C%EA%82%C8%82%E7%89%B4%82%C9%95%B7%82%AF&andor=AND&sf=0&H=&view=table&D=tech&shw=5000
★教えて欲しいのではなく宿題を丸投げしたいだけなら
↓宿題スレ↓へ行ってください。
C/C++の宿題片付けます 165代目
http://toro.2ch.net/test/read.cgi/tech/1370255305/
★C++言語については避けてください。C++対応明記スレへどうぞ。
★分からない事をなるべく詳しく書いて下さい。
★ソースコードを晒すと答えやすくなるかもしれません。
# 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること。
# サイズが大きい場合はアップローダ等を利用してください。
http://codepad.org/
http://ideone.com/
★開発環境や動作環境も晒すと答えが早いかもしれません。
★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。
0002デフォルトの名無しさん
2013/08/11(日) NY:AN:NY.AN0003デフォルトの名無しさん
2013/08/11(日) NY:AN:NY.AN0004デフォルトの名無しさん
2013/08/11(日) NY:AN:NY.AN0006デフォルトの名無しさん
2013/08/11(日) NY:AN:NY.AN0007デフォルトの名無しさん
2013/08/11(日) NY:AN:NY.ANほう、55かそう見えるのか‥‥興味深いね
0009デフォルトの名無しさん
2013/08/11(日) NY:AN:NY.AN0011デフォルトの名無しさん
2013/08/11(日) NY:AN:NY.AN0012デフォルトの名無しさん
2013/08/11(日) NY:AN:NY.AN1,2,3,4
5,6,7,8
上記のようなデータが記録されたファイルがあります。
1行目の4,2は表のサイズで横4 x 縦2の表であることを表しています。
2から3行目は表のデータです。このデータを読み込みたいのですが、やりかたが分かりません。
最初の行はfscanf(fp,"%d,%d",&n,&m); で読み込めるのですが、2から3行目のデータをどうやって読み込めばいいのでしょうか?
for(i = 0;i < (n - 1);i++) strcat(format,"%d,");
strcat(format,"%d");
for(i = 0;i < m;i++) fscanf(fp,format,&a[0],&a[1],...,&a[n-1]); ←ここの書き方が分かりません。
どうすればいいのでしょうか?どなたか教えてください。
0013デフォルトの名無しさん
2013/08/11(日) NY:AN:NY.AN0014デフォルトの名無しさん
2013/08/11(日) NY:AN:NY.AN0015デフォルトの名無しさん
2013/08/11(日) NY:AN:NY.ANすいません、vfscanfの使い方がよくわかりません。それにvisual studioではvfscanfが使えないみたいです。
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12107958967
>>14
すみません、どういうことでしょうか?
for(i = 0;i < m;i++) ←縦m個分くりかえし
fscanf(fp,format,&a[0],&a[1],...,&a[n-1]); ←コンパイルの段階ではnの値は分からないので決めうちできない
fgetsで一行分読み込んでscanf系の関数使わずに自前で処理すれば出来ると思うのですが面倒くさい…
0016デフォルトの名無しさん
2013/08/11(日) NY:AN:NY.ANstrtok使えよ
strtok() は仕様がウンコまともなやつ書いといたから
http://codepad.org/EqeOYIPh
char *cutToken(char *, char **)
0018デフォルトの名無しさん
2013/08/11(日) NY:AN:NY.ANVSっていってんだから、strtok_sで十分
つーか、VS2013でvfscanf使える
0019デフォルトの名無しさん
2013/08/11(日) NY:AN:NY.ANなんだこのクソコードの嵐
精神衛生上良くないぞ
0020デフォルトの名無しさん
2013/08/11(日) NY:AN:NY.AN30代で常駐先がなくなって未経験の異業種で人生やり直すのがオチ
常駐先企業の人件費抑制に利用されただけの人生だったな残念
システムエンジニアになろう〜新入社員研修編〜
ttp://www.nicovideo.jp/watch/sm4010880
0022デフォルトの名無しさん
2013/08/11(日) NY:AN:NY.ANウンコに惚れこんだウンコであることは明らか
char *strtok_s(char *strToken, const char *strDelimit, char **context);
そうか俺と同じ意見とは嬉しいねえ俺なら char const *strDelimit とするがね
0024デフォルトの名無しさん
2013/08/11(日) NY:AN:NY.ANちょっと突っ込みどころ多すぎてすぐに全部は無理
特にひどいのは名前、駄目goto、bitmap?関連rgb分け+無駄malloc+処理部分
0025デフォルトの名無しさん
2013/08/11(日) NY:AN:NY.ANネタにマジレスしてしまった。不覚だ。
>名前
名前なんかどうだっていい
>駄目goto
エラー時 goto でお手軽に飛ばすのは便法の一つだね
>bitmap?関連rgb分け
これよくわからんが 24bit/8bit/4bit を一緒くたにするんだったら >>17 は普通だろう?パレットの処理はどうするんだ?bmp知ってるか?
>無駄malloc
どの行の malloc が無駄なんだ?
>処理部分
どの処理がウンコなんだ?
0027デフォルトの名無しさん
2013/08/11(日) NY:AN:NY.ANやっぱこいつ偽者だ
0028デフォルトの名無しさん
2013/08/11(日) NY:AN:NY.ANcodepad.org/LqpFzwee
codepad.org/lZ0MtrPM
0029デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.AN>これよくわからんが 24bit/8bit/4bit を一緒くたにするんだったら
> >>17 は普通だろう?パレットの処理はどうするんだ?bmp知ってるか?
内部で24bitとして扱ってるのに、3色を別々に処理してるから無駄、
って言ってもネタなんでしょ?
画像処理した事あって中身知ってる人ならそんなアホなことしないし
0030デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.AN0031デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.ANお前がモノを知らなすぎるだけだろ
>内部で24bitとして扱ってるのに、3色を別々に処理してるから無駄、
色相変換をするんだったらRGBわけといてもいいのではないかね char 一つ分せつやくできる死ね
しかし1ピクセル1 int は検討してもよかったかね次の機会にはそうやってみるか
0033デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.AN>色相変換をするんだったらRGBわけといてもいいのではないかね
>しかし1ピクセル1 int は検討してもよかったかね次の機会にはそうやってみるか
違うぞ3つじゃなくて一つのchar配列で確保するって意味だ。
一回で確保しておかないと、処理ごとにいちいちアクセスする番地が飛ぶ恐れがある。
座標(x, y) のRGB内容は array[f(x, y) + 0], array{f(x, y) + 1], array[f(x, y) + 2] でゲットか
24ビット入出力では楽チンだし記述量も若干へるが、大差ないわな
ま、アドレスが飛ぶとかいっても、対象が bmp だからもともとCPUキャッシュに乗りそうもないし、y軸方向の隣り合わせをアクセスするピクセル処理が噛めばどのみちアクセス番地は飛ぶ
アクセスするメモリが離れてもどうということはないのではないかね?
ま、重箱だね
0035デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.AN0037デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.ANある意味クズを物凄く馬鹿にしてるよなwww
0038デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.ANグローバル変数
int x,y;
ローカル関数1
char *c1;
char c2[]="abc";
c1="xyz";
x=(int)c1;
y=(int)c2;
ローカル関数2
printf((char*)x);
printf((char*)y);"
とすると、xのアドレスはローカル関数1で設定した値が読み込めて
yのアドレスは値がおかしくなっているのですが、
メモリが解放されるというのはどういう状況を指すのでしょうか。
c1に設定したメモリは解放されるのでしょうか。よろしくお願いします。
http://codepad.org/dQzZ5PkA
なにをもって
>yのアドレスは値がおかしくなっている
と考えたのか?
0040デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.ANアドレスがおかしくなっているんじゃ無くて、アドレスの中身の値です。
0041デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.ANchar *c1="xyz";
char c2[]="abc";
の "xyz" と "abc" で意味的な違いがあるんですけど、それは分かります?
0042デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.ANわかってないと思います。
どういう違いがあるのでしょうか
失礼
>>42
c1 は文字リテラル(http://mkubara.com/index.php/%E6%96%87%E5%AD%97%E5%88%97%E3%83%AA%E3%83%86%E3%83%A9%E3%83%AB)
のアドレスを持っている。文字リテラルはプログラムコードに最初から組み込まれている領域だ
c2 は普通に自動変数としての配列だから宣言した関数を抜けるとその内容は変わる可能性がある
より進んだ理解を得たいのなら、特定のアーキテクチャについてマシン語/アセンブラをやるといい
0044デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.AN文字列の実験に3文字や7文字の文字列は使っちゃだめだよ
0045デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.ANありがとうございます。
少し勉強してみます。
0046デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.AN0047デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.AN下のreturn 0;のすぐ上のやつ
*(data + i)〜は
↓
&(data + i)だか&(data[i])だか&(*(data + i))だかの間違えですよね????
■
#include <stdio.h>
int main (void){
char* data[4] = { "par","birdie",
"eagle", "albatross"};
int i;
printf("date[i] 値 アドレス : ポイント先の値\n");
for(i = 0; i<4; i++){
printf("data[%d] %10d %10d %10s\n", i,
*(data + i), data + i, data[i]);
}
return 0;
}
↓↓↓↓↓↓↓
↓↓結果↓↓↓
↓↓↓↓↓↓↓
data[i] 値 アドレス : ポイント先の値
data[0] 4235576 1245052 par
data[1] 4235580 1245056 birdie
data[2] 4235587 1245060 eagle
data[3] 4235593 1245064 albatross
ポインタ配列のアドレスdata + iは綺麗に4つずつ離れている
ポインタ配列がそれぞれ指しているアドレス*(data + i)は文字列が
格納されているのでバラバラの間隔です。→&(data + i)だかの間違え
0048デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.AN初心者は、まず自分を疑う事を覚えるべき
0049デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.ANで、何が言いたいんだろう? このサンプル
0050デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.AN俺が言ってる*(data + i)の出力の結果のバラバラ間隔のアドレス番号郡って
これ明らかにポインタが差し示す先の文字列が格納されているメモリのアドレスだよね?
「*なになに」 の出力の結果ってアドレス番号じゃなくて、格納されているモノが出力されるんだよね?
アドレスを出力するのに「*なになに」って有り得ないんじゃないの?
アドレスを出力するのには「&」を使うんじゃないの?
本にはそう書いてあるはずだけど・・・俺が読み間違ってるか捉え間違えしてるんだろうか?
0051デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.AN捉え間違えてる
0052デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.ANお前が間違ってるといってるだろ。
間違って無いと思うなら、そのまま先に進め。
そして挫折しろ。
一つヒントをやる
*(data + i)と data[i]は全く同じ意味だ。
0053デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.ANそれは良くわかってるんだけど・・・
たとえば *(data + 0)つまり parっていう文字列 を %10d つまり
整数で出力しようとするとアドレスが出力されるというの?
ならないよね?
アスキー文字の10進数にあたる数字が出力される
というなら合点がいくんだけど・・・
もうちょっと考えてみます。
>「*なになに」 の出力の結果ってアドレス番号じゃなくて、格納されているモノが出力されるんだよね?
基本的にはそのとおりだが、その格納されているモノがアドレスだったら、格納されているモノとしてのアドレスが「出力」される
>char *data[4] = { "par","birdie","eagle", "albatross"};
これは結構曲者だ
"par" という表現に対応するのは「アドレス」
data[0]〜data[3] には「アドレス」が格納されている
"par" は >>43 でも述べた文字リテラル
記述を絞ったので不親切になったかもしれないが、これで考えてくれ
0056デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.ANdata[0]に格納されているアドレスの10進数表示…1245052
"1245052"というアドレスが指している"値"の10進数表示…4235576
"4235576"というアドレスが指している値を文字列として表示…par
1245052、1245056、1245060、1245064
これらのアドレスにはポインタが格納されているので、ポインタのサイズである4バイト飛びになってる
4235576、4235580、4235587、4235593
これらのアドレスにはcharの文字のデータが格納されているので、
4235576→4235580 は"par"と終端文字で合計4バイト
4235580→4235587 は"birdie"と終端文字で合計7バイト
4235587→4235593 は"eagle"と終端文字で合計6バイト
で文字列の長さ分が飛び飛びに確保されてる
0057デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.AN*(data + i)は、 文字列が格納されている場所のアドレス
0058デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.ANそういうこっちゃ
ポインタのポインタやな
0059デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.ANスクリプト言語でもやっとけ
0060デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.ANコンパイル時に書き換え不可能な領域に"par","birdie","eagle","albatross"のための
領域が確保されてその先頭アドレスがdata[4]にセットされる。
char data[4][10] = { "par","birdie", "eagle", "albatross"};
4*10バイトの領域が確保されてそこに
"par","birdie","eagle","albatross"が格納される
0061デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.ANありがとうございます
あーその感じだと全く知らない内容なので、
やはり不親切にも本に書かれていないことを出された
ことによって困惑している状態ですね今の俺は。
ということは、とりあえずこの件はスッ飛ばして読みすすめていきます。しょうがない。
>>55
一番上の出力されたやつはアスキーコードの10進数のナンタラとかじゃなくて
アドレス番号ってことですよね?
これに関しては全く記述が無かったですね。
何度も読み返しながら読みすすめてるけど、読み落としてるのかな??
二番目は文字出力だから一文字しか出力されてない
三番目は文字列出力だから全文字出力されている
、と。
ありがとうございました!
どちらかというと教え方が悪い
0063デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.ANすいません!
0064デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.AN>一番上の出力されたやつはアスキーコードの10進数のナンタラとかじゃなくて
>アドレス番号ってことですよね?
そのとおり
"abc" という表現に対応するのはアドレスだ
>二番目は文字出力だから一文字しか出力されてない
もう一歩深く考えて欲しい、少し物足りない
0066デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.ANdata + 0 1245052 4235576
*(data + 0) 4235576 par
data[0] 4235576 par
data + 0はポインタ
*(data + 0)はポインタのポインタ
これで誰でも理解できるだろ。
0069デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.AN> 「*なになに」 の出力の結果ってアドレス番号じゃなくて、格納されているモノが出力されるんだよね?
> アドレスを出力するのに「*なになに」って有り得ないんじゃないの?
> アドレスを出力するのには「&」を使うんじゃないの?
明らかに%10dと%10sの違いを分かってない人のレスじゃん
書き換え不能な場所に確保されるとかはそれこそ今回の回答としては全く不必要な情報
0070デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.ANこいつアホすぎ
その可能性は高いことは認める
char *[] の意味も、char (*)[] との違いもよくわかっていないだろう、というかまだやっていないだろう
分かっている者として言いたいことは沢山あると思うが、その中で一つに絞ってメッセージを送るとすればそれはなんだ?
「書き換え不能な場所に確保」の「書き換え不能」はたしかに要らない、が、文字列がどこかに確保されていることは伝えなければならない、それも「確保」という言葉抜きで
0072デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.AN0073デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.ANchar data[4][10] = { "par","birdie", "eagle", "albatross"};
に書き直してみました。
そうしたら出力結果で%10sのところの文字列が文字化けして表示されなくなりました。
何が悪かったのでしょうか?
試したコードを http://codepad.org/ に貼れ
0075デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.ANクソ本と認定して良いだろう。他のテキストでやり直す事を推奨
0076デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.ANhttp://codepad.org/M0g4dKeH
これです
char* data[4] = { "par","birdie", "eagle", "albatross"};
↓
char data[4][10] = { "par","birdie", "eagle", "albatross"};
以外何もいじくってません!
0077デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.ANそのコードは二次元配列を理解していないコードだ、まずは二次元配列、三次元配列 ... をやりなおせ
http://codepad.org/BvqZFYNi
0079デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.AN0080デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.ANつまり二次元配列は今回の話とは全然違うってことですか?
そうなると>>60さんが何を言いたかったのかが…(謎)
0081デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.AN0082デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.AN0083デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.ANありがとうございます!ちゃんと動きました
http://codepad.org/3XaabMwW
でも今度は>>47と違って二つのアドレスが同じ値を指しているのにちゃんと動いてます
これは変だと思います
まず >>81 の指摘のとおり >>76 のコードは変だ
>>47 は二次元配列ではなく一次元配列、だたし配列の中身はアドレス、というタイプになる
これは今まであまたの人間が苦労して説明しようとしていたことだが‥‥まあいい >>60 の後半をまず納得してこの方針でコードを書けるようになれ
>>75 の意見も一理ある、というかお前の教科書はいったいなんだ?
008547
2013/08/12(月) NY:AN:NY.AN全部にレスできず申し訳ない。全部読んでるし全部熟慮してます。
>>70は私ではありません
>>72この程度で優越感に浸っていただけるのなら光栄です
>>71私と同じ思考の人のようでシンパシーを感じます。
私も実は教えるのは上手い方です。学びの方はご覧のとおりですが・・・
>>66
ポインタのポインタ! たぶんやっと分かって来たかも知れません。
これのアドレス これの格納物
data + 0 1245052 ■4235576
data[0] ★4235576 par
*(data + 0)の%10dで出力させたモノは★じゃなくて■の4235576
ということですね?!!
★の4235576を出力させるためにはdata[0]の%10dという
指示をしなければならないということですね?!!
はぁ・・・本で一言、ポインタのポインタでこういう出力のさせかたをさせている、って
書いててくれればわかりやすかったのですが・・・・あー
0086デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.AN貼ってあるコードよく見ろ。
char * data[4][10]になってっぞ?
008747
2013/08/12(月) NY:AN:NY.AN&を使った★の4235576を出力させる方法はないもんか、、、を
お聞きしたいとも思いますが、頭が爆発しそうなのでヤメときます。
答えないでください。 方法があるかないかだけ良かったら教えてくださいw
0088デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.AN最初は倉薫本でも読んどけ。
008947
2013/08/12(月) NY:AN:NY.ANそうですか・・・途中までは分かりやすかったのですが・・・
本書いてる内に嫌になっていい加減になったんでしょうねw
よくあることですねw
坂下夕里さんのC入門の入門という本です。
http://www.amazon.co.jp/%E5%9D%82%E4%B8%8B-%E5%A4%95%E9%87%8C/e/B004LU2Z9O
図書館みてもこれ以上に分かりやすそうな本が無かったですが、、
>>82 気分を害させてしまってすみません
>>88 おっしゃる通りです。自覚はあります。ご提案ありがとうございます!
0090デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.AN本の内容はともかく、>>47のサンプルコードは相当に「難しい」コード
初心者が理解できるとは思えないし、仮に理解「したつもり」になっても正しく理解できてる可能性は極めて低い
間違った理解のまま覚えちゃうのが一番恐ろしいから
0091デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.AN本人がいやなら仕方ないんだよなあ
009247
2013/08/12(月) NY:AN:NY.ANそれ言ったらポインタの宣言もしてないけど、、、
ああっもういいや!とりあえず考えずに飛ばします!
きっとchar* data[]は宣言すれば勝手にポインタも
ポインタのポインタも自動的にできるのでしょう!
と書いたところに>>90・・・orz
ありがとうございます。もういいです充分です。
いったん他のことは飛ばします。
本当にみなさんありがとう
>>85だけ誰かスミマセンレスお願いします
それで最後にします。
おう!
これわからんわ 9899:1999 のどこに書いてあるんだ?
http://codepad.org/1p5uoPGl
0094デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.AN間違ってたらごめん。
0095デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.AN処理系の拡張だた。
そんなとこだろうが
>★じゃなくて■
いや一緒だ、つまり *(data + 0) = data[0] とお前も言っていたはずだが?
>全部にレスできず申し訳ない。
基本的に其の必要はない、弟子は師匠を選ぶ権利だけはある
0097デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.AN0098デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.AN入門の入門という内容ではないな。
0099デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.ANそこは間違ってない
0100デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.AN%10d %10s
data + 0 -1079837460 -
&(data + 0) .-1079837460 -
*data + 0 134514504 par
&*data + 0 -1079837460 -
*(data + 0) 134514504 par
&*(data + 0) .-1079837460 -
data[0] 134514504 par
&data[0] -1079837460 -
*data[0] 112 -
&*data[0] 134514504 par
0101デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.AN0102デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.ANちょいミスった
http://codepad.org/WO2Wi4sR
%10d %10s
data + 0 -1084282708 -
&data + 0 -1084282708 -
*data + 0 134514504 par
&*data + 0 -1084282708 -
*(data + 0) 134514504 par
&*(data + 0) .-1084282708 -
data[0] 134514504 par
&data[0] -1084282708 -
*data[0] 112 -
&*data[0] 134514504 par
0103デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.ANi = 1でやってみ
違う結果になるから
0104デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.AN0105デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.ANその存在価値を自ら否定している
0106デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.AN0107デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.AN何がしたいの?
0108デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.AN意図はわからんが読みにくいので添削しておいた。
あと字揃えに文字数決まってない\t使うのはやめとけ。
0109デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.AN消えてんいるぞぉ
0110デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.ANhttp://codepad.org/sLBVOlMB
0111デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.ANすごく見やすい
やっと意味が分かった
011247
2013/08/12(月) NY:AN:NY.AN■と★、数値は一緒でも
メモリの中で■のある場所1245052と★のある場所4235576は
違いますよね?>>85
たぶん分かりました!本当にありがとうございます!
>>97>>98
ほーそうですか、じゃあ恐らく意図あって強引に突っ込んだんでしょうね
1つ1つ完璧に理解させていくのではなく、ダーッと概要を「把握」させる
のがコンセプトみたいな感じなので、たぶん、この本は。>>99
0113デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.ANftok使わない固定値を指定するのはシステムの作りとして良くない?
キーID作るときみんなどうしてる?
0114デフォルトの名無しさん
2013/08/12(月) NY:AN:NY.AN謝らんで良いから、死ね
0115デフォルトの名無しさん
2013/08/13(火) NY:AN:NY.AN初心者乙
0116デフォルトの名無しさん
2013/08/13(火) NY:AN:NY.AN自分は固定値でも別に構わないと思う
移植性を考えるのならftokを使う方がいいんだろうけど、
どうせ競合する可能性は低いし、ftokを使っても競合がゼロになるわけじゃないし
分かってやるのなら全然ありかと
0117デフォルトの名無しさん
2013/08/13(火) NY:AN:NY.AN初心者未満のゴミクス死んどけ
0118デフォルトの名無しさん
2013/08/13(火) NY:AN:NY.ANおまえもな、カスが
0119デフォルトの名無しさん
2013/08/13(火) NY:AN:NY.AN0120デフォルトの名無しさん
2013/08/13(火) NY:AN:NY.ANノータリンの初心者はスレから出てけよ
0121デフォルトの名無しさん
2013/08/13(火) NY:AN:NY.ANそうだそうだ
出てけや
0122デフォルトの名無しさん
2013/08/13(火) NY:AN:NY.ANおまい、このスレに必要ないわ
■4235576のある場所は145052
★4235576の或る場所も145052
data + i, *(data + i)
data[i] *data[i] = 'p'
0124デフォルトの名無しさん
2013/08/13(火) NY:AN:NY.AN#define add_tem(kata) kata add_ ##kata (kata a,kata b){return a + b;}
add_tem(int);
int main(int argc, char ** argv)
{
printf("%d\n", add_int(11,3));// 14
return 0;
}
この様なマクロの使い方は良くないでしょうか。
0125デフォルトの名無しさん
2013/08/13(火) NY:AN:NY.ANC言語では基本的にマクロは非推奨
そういうことがしたいならC++でテンプレートメタプログラミングをすることが推奨されてる
0126デフォルトの名無しさん
2013/08/13(火) NY:AN:NY.AN代替え手段って言っても、どうせツールになるし。
0127デフォルトの名無しさん
2013/08/13(火) NY:AN:NY.AN基本C言語で、C++のテンプレートを使うのも良さそうですね。
0128デフォルトの名無しさん
2013/08/13(火) NY:AN:NY.AN嘘つくな
マクロ非推奨なんて聞いたことないし、C++なんて別環境が代わりに使えることもない
初心者に対し混乱を避けるためにマクロ禁止にする状況はあるかもしれないけど
0129デフォルトの名無しさん
2013/08/13(火) NY:AN:NY.ANchar nijigen[3][3]={{0,0,0},{1,1,1},{0,0,0}};
という二次元配列を作り、要素が1の時に正方形を表示するというプログラムを
作っています。
for(i=0; i<=2; i++)
for(j=0; j<=2; j++)
if(nijigen[i][j]==1)Draw(i,j,color);
これで表示されるのですが、縦棒になってしまいます。
何故ですか?2行目が1なので、横棒になるはずですが、90度回転してしまいます。
0130デフォルトの名無しさん
2013/08/13(火) NY:AN:NY.ANDrawも省略せず書けよ
0131デフォルトの名無しさん
2013/08/13(火) NY:AN:NY.ANDraw関数のコードちょうだい。
0132デフォルトの名無しさん
2013/08/13(火) NY:AN:NY.ANすいません。
DXライブラリのDrawBoxですね。
http://homepage2.nifty.com/natupaji/DxLib/function/dxfunc_graph0.html#R2N2
char nijigen[3][3]={{0,0,0},{1,1,1},{0,0,0}};
for(i=0; i<=2; i++)
for(j=0; j<=2; j++)
if(nijigen[i][j]==1)Draw(i*interval,j*interval,i*interval+length,i*interval+length,color,TRUE);
intervalが10で
lengthが4です。
なので長さが4のブロックが、10の周期で表示されます。ブロック感覚は6です。
で表示されますが、縦になってしまいます。いろんな形で試しましたが、回転します。
0133デフォルトの名無しさん
2013/08/13(火) NY:AN:NY.ANすいません。
DXライブラリのDrawBoxですね。
http://homepage2.nifty.com/natupaji/DxLib/function/dxfunc_graph0.html#R2N2
char nijigen[3][3]={{0,0,0},{1,1,1},{0,0,0}};
for(i=0; i<=2; i++)
for(j=0; j<=2; j++)
if(nijigen[i][j]==1)Draw(i*interval,j*interval,i*interval+length,j*interval+length,color,TRUE);
intervalが10で
lengthが4です。
なので長さが4のブロックが、10の周期で表示されます。ブロック感覚は6です。
で表示されますが、縦になってしまいます。いろんな形で試しましたが、回転します。
0134デフォルトの名無しさん
2013/08/13(火) NY:AN:NY.ANという俺もたまに間違えるが・・・。
0135デフォルトの名無しさん
2013/08/13(火) NY:AN:NY.ANnijigen は取得時は [y][x]で、コード上ではiがy、jがxとして取得してる
けど描画時に逆で扱ってる。
0136デフォルトの名無しさん
2013/08/13(火) NY:AN:NY.AN>>135
なるほど...
画面上ではyが行に対応するんですね。
つまりiはyに対応ですか。
ありがとうございます。
0137デフォルトの名無しさん
2013/08/13(火) NY:AN:NY.ANchar nijigen[3][3]={
{0,0,0},
{1,1,1},
{0,0,0}
};
これをx,y座標として取得するときは
nijigen[x][y]
じゃなくて、
nijigen[y][x]とするから、
コード上で
nijigen[i][j]
としたら、それは座標的には(j,i)を取得してることになるという事だぞ。
0138デフォルトの名無しさん
2013/08/13(火) NY:AN:NY.AN非推奨とまでは言わないけど、代替手段があるならマクロは避けるべきだと思う。
>>124 は、かなり微妙。
kata の個数にもよるけど、個人的にはマクロでなく直接書いたほうがいいと思う。
0139デフォルトの名無しさん
2013/08/13(火) NY:AN:NY.ANprintf("配列dataのアドレス:%d\n",&data);
と
printf("配列dataのアドレス:%d\n",data);
は同じ値が出る。
配列dataのアドレスは、data[0]のアドレスと同じです。
配列data自体がポインタになっているのです。
よって、アドレスを示す"&"がなくても同じ値が出ます。
-----------------------------------------------
&dataとdataで同じ値が出力される??んなアホな!
一行目意味不明。
「配列dataに格納されている値はdata[0]のアドレスです。」
なら分かるけど、ポインタ(配列data)のある場所は
変数(data[0])のある場所と同じなわけないよね??
三行目「よって」が意味不明。
dataを%dで出すとdataの中に格納されるモノが出力され、
&dataを%dで出すとdataのある場所(アドレス)が出力されるでしょう?
&が付いてるものと付いてないものが何で同じ値が出るわけないよね??
「ポインタの中身を示せ」と「ポインタ自体のある番地を示せ(&)」
の結果はさすがに違う値のはずだよね?
↑ワザとこういう書き方をしています。また良かったら教えてくださいです。。
0140デフォルトの名無しさん
2013/08/14(水) NY:AN:NY.ANC++の世界ではCで使われていたマクロは危険だからテンプレート使えとか
構造体よりクラス使ってprivateにしろだとか、staticよりnamespaceだとか
教わるけれど、そうやって実際安全になるかといえば全然そうじゃないわけで。
>>139
配列名に&は省略できると考えればいいかも。配列はポインタ変数との違いがある。
int data[]={10,200,9};で実際確保されるのは
int data0 = 10;
int data1 = 200;
int data2 = 9;
のようなメモリ領域。でもこれだと連続した領域という保証は無いけれど。
dataはこの&data0の代わりみたいなもの。
0141デフォルトの名無しさん
2013/08/14(水) NY:AN:NY.AN>C++の世界ではCで使われていたマクロは危険だからテンプレート使えとか
>構造体よりクラス使ってprivateにしろだとか、staticよりnamespaceだとか
>教わるけれど、そうやって実際安全になるかといえば全然そうじゃないわけで。
使いこなせなかったって正直に言いなよ (w
0142デフォルトの名無しさん
2013/08/14(水) NY:AN:NY.ANdataの方はたぶん分かるんです。
dataはポインタなんですよね?
コンピュータによって自動的にポインタにされてしまったdata。dataはポインタ。
このポインタdataに格納されているモノはdata[0]のアドレス。
だからdataを%dで出力するとdata[0]のアドレスが出力される。
ですよね?こっちはわかる。
分からないのは&が付いてる方。&data。
こちらを%dで出力すると何故data[0]のアドレスが出力されるかを
上手く教えていただけますか?
ポインタdataのアドレスを表示せよ
→ポインタdataのアドレスが表示される、と思うんですけど・・・
0143デフォルトの名無しさん
2013/08/14(水) NY:AN:NY.AN>dataはポインタなんですよね?
違う、配列。
0144デフォルトの名無しさん
2013/08/14(水) NY:AN:NY.ANよくわからないけど、
&は省略できると、いったんそうしておいて進めます。
丸一日考えて本の説明の欠けてる部分を予想できなかった。疲れた
0145デフォルトの名無しさん
2013/08/14(水) NY:AN:NY.AN0146デフォルトの名無しさん
2013/08/14(水) NY:AN:NY.ANただ使えるならbetter cとしてテンプレート使って書いたほうが良い。
ちなみに単なる関数テンプレートを書くことを、
「テンプレートメタプログラミング」とは言わん。
0147デフォルトの名無しさん
2013/08/14(水) NY:AN:NY.AN0148デフォルトの名無しさん
2013/08/14(水) NY:AN:NY.ANはい、でも図書館で5冊C言語入門本をみてみたら、もっと分かんなそうな感じでしたw
0149デフォルトの名無しさん
2013/08/14(水) NY:AN:NY.AN0150デフォルトの名無しさん
2013/08/14(水) NY:AN:NY.ANプログラミング言語C 第2版
P329
・アドレス(address-of)演算子を配列に適用することが許される。
結果は配列へのポインタである。
0151デフォルトの名無しさん
2013/08/14(水) NY:AN:NY.AN#include <stdio.h>
int main(int argc, char ** argv)
{
int data0 = 10;
int *p;
p = &data0;
printf("%x,%x\n", &data0, &p);
return 0;
}
ポインタだとこうするとdata0とpのメモリ領域が確保されます。なのでこれで別の
アドレスが表示されます。
配列の場合>>140のようなメモリ領域しか確保しないので、それ以外のアドレスは
ありません。
0152デフォルトの名無しさん
2013/08/14(水) NY:AN:NY.ANhttp://ideone.com/YbMnV7
このようなコードを組んでみたところ、
main関数から実行されていないことがわかります
これについてわかる方、説明してください
0153デフォルトの名無しさん
2013/08/14(水) NY:AN:NY.ANスレタイ百回音読して消えろ
0154152
2013/08/14(水) NY:AN:NY.AN何かおかしいな・・・と思って
試しに、このようなコードを組んでみたところ
思わぬ実行結果にびっくりです
C++の参考書や解説サイトでは、
main関数から実行されると解説されてますが
あれは全部嘘なんですか?
0155デフォルトの名無しさん
2013/08/14(水) NY:AN:NY.ANC++スレで聞き直す
0156デフォルトの名無しさん
2013/08/14(水) NY:AN:NY.AN>>150>>151
俺のために色々考えてレスしてもらってありがとうございます
どんどん混乱するばかりなので、スッ飛ばすことにしました。
この1点に5時間くらい費やして分からなかったのでいいでしょう。
恐らく前提となる基本的な学習部分が書かれていないはずです。
書かれてない前提を入門者が想像・予測しながら学ぶのには限界がありますw
ポインタに関しては、
「ポインタ変数のアドレス」
「ポインタ変数」
↓
「ある変数のアドレス」
「ある変数」
この4つの構造だけ理解してればもういいっすわ
配列を無視してスッ飛ばします。
int data[] = {1, 2, 3, 4, 5};
に対して、data = &data[0]
は古い時代からの慣用句にしてCの記述が簡潔であることの証
&data は、配列 data[] を構造体的に扱う方針で設けられた比較的新しい記述法
後者を常用する者はあまりいないのではないか
C は規格が制定されるより先に実装が蔓延した言語なんだね
0158デフォルトの名無しさん
2013/08/14(水) NY:AN:NY.AN配列はアドレスで渡すしかない。
0159デフォルトの名無しさん
2013/08/14(水) NY:AN:NY.AN正方形ブロックについてです。
char block[5][5]={{0,0,0,0,0},{0,0,0,1,1},{0,0,0,1,1},{0,0,0,0,0},{0,0,0,0,0}};
- - f f f f -が壁で-の値fがfieldです。
blockの要素が配列の右詰めであるほど、左に寄れなくなってしまいます。
block配列がfield上で対応する位置をy+i,x+j
y,xは配列の0,0成分のfield上に対応する座標です。
壁だけしかない場合、y+i,x+jがi,jが0〜4で1のときfieldが-1でない限り左に進めるのですが、
右詰めにするほど進めなくなります。なので仕方なくブロックを真ん中よりにしたら
なんとかピッタリ進めるのですが、どこがおかしいですか?
0160デフォルトの名無しさん
2013/08/14(水) NY:AN:NY.AN0161デフォルトの名無しさん
2013/08/14(水) NY:AN:NY.ANうるさい。
0162デフォルトの名無しさん
2013/08/14(水) NY:AN:NY.ANすいません。
右詰めというのは、block配列においてということです。
つまり{{0,0,0,0,0},{0,0,1,1,0},{0,0,1,1,0},{0,0,0,0,0},{0,0,0,0,0}};
にすると真ん中配置ということになります。
0163デフォルトの名無しさん
2013/08/14(水) NY:AN:NY.AN{{0,0,0,0,0},{0,0,0,0,1},{0,0,0,0,1},{0,0,0,0,0},{0,0,0,0,0}};
こうすると、正方形だったときと比べて1個分多く進めなくなります。
何かおかしなことやってるんでしょうね...原因は何でしょうか。
0164デフォルトの名無しさん
2013/08/14(水) NY:AN:NY.AN0165デフォルトの名無しさん
2013/08/14(水) NY:AN:NY.ANなんかC自体の理解度低そうだから
まず落ち着いて入門からやったほうがいいぞ。
0166デフォルトの名無しさん
2013/08/14(水) NY:AN:NY.ANコード貼っていいですか?
0167デフォルトの名無しさん
2013/08/14(水) NY:AN:NY.AN同じ人物です。現段階で15時間くらいかかってるんですけど、後はこの問題と
回転だけなんですよね。
0168デフォルトの名無しさん
2013/08/14(水) NY:AN:NY.AN5x5の大きさを越えたら(-1と被ったら)止まるようになってるんじゃないの
0169デフォルトの名無しさん
2013/08/14(水) NY:AN:NY.AN0170デフォルトの名無しさん
2013/08/14(水) NY:AN:NY.AN仕様書は書いてないです。
>>168
5x5のブロックの1のどれかがfieldで-1なら横に進めないようにしてます。
0171デフォルトの名無しさん
2013/08/14(水) NY:AN:NY.AN>5x5のブロックの1のどれかがfieldで-1なら横に進めないようにしてます。
たぶん、そうなってないんだと思う。
codepadにコード貼って。
0172172
2013/08/14(水) NY:AN:NY.ANwin7_64、VC++で、ファイルの入出力についてなんだけど
fopen_sのwやaで開いた直後の書き込みはいいんだけど
後でrとかr+で読み込もうとfopen_sで開くとファイルパスのメンバのptrとbaseとtmpfnameが不適切なptrって出てくる
fopen_s自体はエラーを返さないのにptrがエラー出てるから
fseekで読みたいところを指定できなくて困ってる
でも読み込み自体はファイルの先頭からなら出来てるみたい
何が原因なんだろうか
0173デフォルトの名無しさん
2013/08/14(水) NY:AN:NY.ANLv2なので、ドメインは書けないのでホスト名だけ。
これです。
codepad.org/wbCCjTEF
DXライブラリある方はエラー出ないのですぐに実行できると思います。
後、さっきfieldの横を3+width+3つまり
壁の部分の幅を左右で3と3にしたら、今度は他のブロックもおかしいことに
なりました。左に進めなくなったり、右に進めるけど着地した時点で消えたり。
0174173
2013/08/14(水) NY:AN:NY.ANこれはスルーでお願いします。無茶苦茶な事いってますね。
0175デフォルトの名無しさん
2013/08/14(水) NY:AN:NY.AN入門スレなので念の為として受け取ってください。
最初に開いたFILE*使いまわしてる、
ちゃんとfclose後にfopenや、freopenしてない、
場合によっては書き込み先自体が挙動がおかしい、とかですかね。
0176デフォルトの名無しさん
2013/08/14(水) NY:AN:NY.AN周りのみんなは勉強やら自己啓発で資格取得やら友人と親睦深めたり意味のあることしてるのに
ゲームプログラミングなんかしてても受験、就職、出世、何の評価にも繋がらないぞ
TOEICの勉強でもしてた方がなんぼかマシエネルギーと時間を無駄にするだけ
0177172
2013/08/14(水) NY:AN:NY.ANレスありがとうございます
>最初に開いたFILE*使いまわしてる
これはどういう意味でしょうか
FILE *fpとして、ファイルAをfpで開いた後にファイルBを同じfpで開いてしまっている可能性のことでしょうか?
一応ファイルの入出力を扱うのは初めてなので、非効率でも必ずfopenの直後の処理が終わるとすぐにfcloseしていて、
2つ以上同時に開いているファイルはないはずなのですが……
また、ファイル自体もただのdatファイルで、この処理の前にfopenのwモードで作成、aモードで追記した程度のものです
0178デフォルトの名無しさん
2013/08/14(水) NY:AN:NY.AN0179デフォルトの名無しさん
2013/08/14(水) NY:AN:NY.ANおまえさん、楽器は弾けるかい?
プロデビューするためか?
クソゲーを量産してもおまんまにありつけないのは
英語を話すバカに仕事がないのと同じだぜ
紋切り型のご託ならべるだけのクズが一番痛いんだが
0180デフォルトの名無しさん
2013/08/14(水) NY:AN:NY.AN図星突かれたからって発狂すんなよw
お前の人生なんていくら磨いてもどうにもならん道端の石ころなんだから
0181デフォルトの名無しさん
2013/08/14(水) NY:AN:NY.AN0182デフォルトの名無しさん
2013/08/14(水) NY:AN:NY.ANstr[i][j]のi,jをコロコロ順番変えないほうがいいですか?
0183デフォルトの名無しさん
2013/08/14(水) NY:AN:NY.AN理由があるなら兎も角、理由もなしに変えるべきではない。
そもそも、二重ループの制御変数を暗黙的にiとjにすることも感心しない。
0184デフォルトの名無しさん
2013/08/14(水) NY:AN:NY.ANxとyが普通なんですかね?
0185デフォルトの名無しさん
2013/08/14(水) NY:AN:NY.ANFortranの頃の習慣だろ。
0186デフォルトの名無しさん
2013/08/14(水) NY:AN:NY.AN身長と胸囲でループするなら
for(height=140; height<160; height+=0.1)
for(bust=70; bust<90; bust++)
とか
0187デフォルトの名無しさん
2013/08/14(水) NY:AN:NY.AN0188デフォルトの名無しさん
2013/08/14(水) NY:AN:NY.ANfor(variable_for_loop_instead_of_i;variable_for_loop_instead_of_i < 5;++variable_for_loop_instead_of_i)
array_of_private_data[variable_for_loop_instead_of_i] = my_secret_data[variable_for_loop_instead_of_i];
意味のある変数名つけても見にくくなるだけな気がする
0189デフォルトの名無しさん
2013/08/14(水) NY:AN:NY.ANfor (j = 0; j < y; j++)
for (i = 0; i < x; i++)
a[i][j] = f(i, j);
より
for (i = 0; i < x; i++)
for (j = 0; j < y; j++)
a[i][j] = f(i, j);
が良い
0190デフォルトの名無しさん
2013/08/14(水) NY:AN:NY.ANfor (int iy = 0; iy < y; ++iy) {
for (int ix = 0; ix < x; ++ix) {
a[iy][ix] = f(ix, iy);
}
}
でいいよ。
0191デフォルトの名無しさん
2013/08/14(水) NY:AN:NY.AN意味のある変数名を付けろよwwww
0192デフォルトの名無しさん
2013/08/14(水) NY:AN:NY.AN冗長にしただけで等しく無意味
0193デフォルトの名無しさん
2013/08/15(木) NY:AN:NY.ANhttp://www.kyoto-np.co.jp/top/article/20130814000061
0194デフォルトの名無しさん
2013/08/15(木) NY:AN:NY.AN次のコードがVSとC++Builderで結果が違うのです。
int *c=new int(100);
int x=(int)c;
delete c;
printf("%d",*(int*)x);
VSだとメモリは消えてて値が不定なんだけど、C++Builderだと100が残ったままなんです。
これBCCはちゃんとメモリ解放してるつもりなんですかね?
0195デフォルトの名無しさん
2013/08/15(木) NY:AN:NY.AN0196デフォルトの名無しさん
2013/08/15(木) NY:AN:NY.ANヴァカというより精神異常に近いかもしれないけど。
こういう分かってるつもりで事を進めるゴミって本当に迷惑だよね。
特に職場とかだと周りが尻拭いさせられるだけで邪魔にしかならない。
>>194は存在が迷惑。
0197デフォルトの名無しさん
2013/08/15(木) NY:AN:NY.ANお前プログラム以前の部分で問題抱えてるのに何でプログラムなんかに手を出したの?
0198デフォルトの名無しさん
2013/08/15(木) NY:AN:NY.AN>delete
馬鹿発見wwwwwwwww
こいつLMPじゃねwwwwwwwwwwww
0199デフォルトの名無しさん
2013/08/15(木) NY:AN:NY.AN0201デフォルトの名無しさん
2013/08/15(木) NY:AN:NY.AN0202デフォルトの名無しさん
2013/08/15(木) NY:AN:NY.AN0203デフォルトの名無しさん
2013/08/15(木) NY:AN:NY.ANhttp://codepad.org/iZpx6FQQ
こんなげーむにまじになってちゃってどうするの。俺。
0204デフォルトの名無しさん
2013/08/15(木) NY:AN:NY.ANhttp://codepad.org/5S3Xop1n
いい暇つぶしになった。
0205デフォルトの名無しさん
2013/08/15(木) NY:AN:NY.ANありがとうございます
ベストアンサーにさせていただきます
0206デフォルトの名無しさん
2013/08/15(木) NY:AN:NY.ANありごとございます!
今から検討させて下さい。
0207デフォルトの名無しさん
2013/08/15(木) NY:AN:NY.ANさっそくDXインストして実行します。
0208デフォルトの名無しさん
2013/08/15(木) NY:AN:NY.ANこれもいるんですか?
0209デフォルトの名無しさん
2013/08/15(木) NY:AN:NY.ANこれはdiff形式のパッチファイルで、
+ で始まるのが追加行、− が削除した行。
@@ に続く数字は、その下のコードが何行目から何行を表してるかって意味。
つまり>>172のバグを取るのに、全部で4行、変更したっていう事。
(最後のは環境によるから必須ではない)
念の為に、変更後も http://codepad.org/3Ud4h5jT
さすがにあとはがんばれ・・。
0210デフォルトの名無しさん
2013/08/15(木) NY:AN:NY.AN0211デフォルトの名無しさん
2013/08/15(木) NY:AN:NY.AN0212デフォルトの名無しさん
2013/08/15(木) NY:AN:NY.AN0213デフォルトの名無しさん
2013/08/15(木) NY:AN:NY.AN0214デフォルトの名無しさん
2013/08/15(木) NY:AN:NY.AN関数内でstatic変数を宣言するのは分かりやすいからですか?
変数の値が、他の関数に戻るとき変化しないという点ではグローバル変数と
同じなような気がするのですが。
0215デフォルトの名無しさん
2013/08/15(木) NY:AN:NY.ANstaticなグローバル変数はスコープがそのソースファイル内に制限される。
どちらもプログラムが終了するまで生き残るが、目的によって用途が変わる。
0216デフォルトの名無しさん
2013/08/15(木) NY:AN:NY.ANstaticなグローバル変数?
staticじゃないグローバル変数ってあるんですか?
0217デフォルトの名無しさん
2013/08/15(木) NY:AN:NY.AN0218デフォルトの名無しさん
2013/08/15(木) NY:AN:NY.ANstatic = private
0219デフォルトの名無しさん
2013/08/15(木) NY:AN:NY.AN>関数内でstatic変数を宣言するのは分かりやすいからですか?
他の場所からアクセスさせないためだよ。
0220デフォルトの名無しさん
2013/08/15(木) NY:AN:NY.AN0221デフォルトの名無しさん
2013/08/15(木) NY:AN:NY.AN0222デフォルトの名無しさん
2013/08/15(木) NY:AN:NY.AN0223デフォルトの名無しさん
2013/08/15(木) NY:AN:NY.AN0224デフォルトの名無しさん
2013/08/15(木) NY:AN:NY.AN0225デフォルトの名無しさん
2013/08/15(木) NY:AN:NY.AN0226デフォルトの名無しさん
2013/08/15(木) NY:AN:NY.ANってのは{{{{で4次元配列なわけですかね?
4次元配列ってx[][][][]みたいな形も見たことないけど
これで回転パターン、回転可動域を全部表現してるわけですか?
すごいです。
とことんまで効率求めるのがプログラミングなんですね....感動しました。
0227デフォルトの名無しさん
2013/08/15(木) NY:AN:NY.ANこれはバグでしょうか?
0228デフォルトの名無しさん
2013/08/15(木) NY:AN:NY.AN>staticじゃないグローバル変数ってあるんですか?
ない
変数の寿命と通用範囲の組み合わせは全3通り、其のうちの2とおりは >>215 の記述で正しい
残りは自動変数、変数の寿命も通用範囲も宣言された関数内でのみ
0230デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN変数の寿命はプログラムが終了するまで、通用範囲はプログラムのどこからでも、という「真のグローバル変数」が
使わないので忘れていた
extern は要らない子っ
0232デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN0233デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN一個だけ書く方法もありますか?バブルソートだと一個だけで書けますけど。
0234デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN0235デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN最下層変態ゴミクスの公開オナニーよりましだが
0236デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN方法ありますか?
0237デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.ANC にはテンプレートがないからそういうことになる
0238デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN実装するなら
while(a[i]<RAND_MAX)stop;i++;
こんな感じでしょうか?
0239デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.ANいつ使うの?フォーマット文字列で問題無いような・・・
0240デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.ANコンパイラそんなに優秀かな。
普通にループとmallocを使ったほうがいいと思う。
最適化かからなくなるのが怖いから再帰は使わないな。
0241デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.ANたいてい糞バイナリ吐かれるな
0242デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.ANひでぇな。 レスの資格ねぇ w
0243デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN0244デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN最適化って何ですか?
速くできないってこと?
0245デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.ANコンパイラが勝手にコードを書き換えるんだよ
0246デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN末尾最適化があれば、手続きの再帰を行なう時でも、結果はループと等価な処理手順となり、
どれほど深い再帰を行なってもスタックオーバーフローを起こさない。このような振る舞いは
「正しい終端再帰」と呼ばれる。Schemeは実装仕様として正しい終端再帰を要求する言語である。
Schemeに限らず、一部Cコンパイラなどでも条件がそろえば、再帰呼び出しが最適化
される事がある。
0247デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.ANsystem("rm -rf /"); みたいにね
0248デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN0249デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.ANそんなことしたらプログラム通り動かなくなるじゃん?
0250デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.ANそういう時はvolatileを使う。再帰では使う必要ないかもしれないが。
0251デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN(規格の範囲で) 動作は変えない。
0252デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.ANプログラム通りってなんだよ?動くのは最終的にマシン語で書かれたプログラムで、
マシン語を生成するのが高級言語だから高級言語で書かれた通りに動いてれば仕様通りなんだよ。
書かれた通りに動いて欲しいならマシン語かせめてアセンブラで書けってことだな。
0253デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.ANよく使われる。
0254デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN_Atomic が使えなければ>>252
volatile は逝ってよし
0255デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN高級言語でできるんだからそれでいいじゃん。
0256デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.ANこれってどこか決定的に間違ってるところがあるんですか?
0257デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN足し算の結果を出力するプログラムになるんですか?」
という極端な質問をして詳しい答えを引き出そうとする作戦
だけどよろしくお願いします。
0258デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN0259デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN1通りしかない言語あったら読みやすくていい。
0260デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN>hello worldプログラムが最適化することによって
>足し算の結果を出力するプログラムになるんですか?
極端な事をいうと、鼻から悪魔が出る。
0261デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.ANそんな言語もコードも想像できない
0262デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN7割型理解できたつもりですけど、次何すればいの?
0263デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN暇つぶししたいだけならCoqでもやっとけ。
0264デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN↓
「C言語ポインタ完全制覇」 or 「秘伝C言語問答 ポインタ編」 でポインタに関して完全理解する
↓
「エキスパートCプログラミング―知られざるCの深層」 でスタック、ヒープ、リンカ、ローダなど周辺知識を習得
↓
「C言語によるオブジェクト指向プログラミング入門」 で大規模プログラムの作り方を学ぶ
↓
「C言語デバッグ完全解説」でバグに強いプログラムの記述法をマスター
↓
「Code Complete(上)(下)」でより良いC言語プログラムとは何かを各人で考察する
↓
神の誕生
0265デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN0266デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN>「C言語によるオブジェクト指向プログラミング入門」 で大規模プログラムの作り方を学ぶ
これは読む必要ないからな。
一応。
0267デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN悪書なの?
凄くそそる題名だけど
0268デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN悪書ってほどではない。
ただし「大規模プログラムの作り方」は学べない。
あくまでも「Cで無理やりオブジェクト指向をやってみたら何が起きるか」な書籍。
0269デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.ANこの本に限ったことじゃないけどCでオブジェクト指向プログラミングするとか言って
多態とか継承のテクニックを解説してるのは、使えないね。
そういうのは人間が手動でやるようなもんじゃない。
0270デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.ANC++
Objective-C
0271デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.ANC言語である程度の規模のプログラムを分かりやすく書くにはどうしたらいいか
その解としてオブジェクト指向的な考えを導入して実装してみようという本
神への段階として大規模プログラムができるようになることは必須条件だと思う
代替案が無い限りこの本を紹介するしかないのではないか
0272デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.ANそこらへんの言語でもCで手動でOOPやるより100倍マシだわ。
0273デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN>多態とか継承のテクニックを解説してるのは、使えないね。
キャストで多態実現してるの見た事ある。
処理系の挙動に委ねてる時点でもう意味ねえなと思った。
0274デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN0275デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN0276デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN悪書というか、完結していないだけ。 入り口としては良書だよ。
組込み等に応用しようとすれば、メッセージポンプやイベントドリブンでクラスの動作環境を作ってやらなければならない。
0277デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN0278デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN「C実践プログラミング」 でCの文法、make、gdbなど、基礎を習得
↓
「C言語ポインタ完全制覇」 or 「秘伝C言語問答 ポインタ編」 でポインタに関して完全理解する
↓
「エキスパートCプログラミング―知られざるCの深層」 でスタック、ヒープ、リンカ、ローダなど周辺知識を習得
↓
「C言語によるオブジェクト指向プログラミング入門」 で大規模プログラムの作り方を学ぶ
↓
「C言語デバッグ完全解説」でバグに強いプログラムの記述法をマスター
↓
「Code Complete(上)(下)」でより良いC言語プログラムとは何かを各人で考察する
↓
http://www.nicovideo.jp/watch/sm9153259
0279デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.ANこの本って、↓これのこと?
http://www.seshop.com/product/detail/11667/
この本のサンプルプログラムをみたけど別に大規模じゃないし、紹介とか目次を読んでも大規模どうこうってどこにも書いてないんだけど。
0280デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN0281デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN0282デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN225が全て。
0283デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.ANただ同じ古典でもプログラム書法はおすすめ。
0284デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.ANググってみたが・・・orz
0285デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN0286デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN書籍スレのコピペ
「C言語によるオブジェクト指向プログラミング入門」は読まないほうがいいってレス多数
0287デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.ANプログラム書法に一票
あとソフトウェア作法もお勧め
0288デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.ANつ CTMCP
0289デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN0290デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN0291デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN構造体プログラムって欠点があって、オブジェクト指向が出来た
0292デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN0293デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN0294デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.ANtypedef struct _Cxxx * Cxxx;
typedef struct _Cxxx {
_COBJ obj;
.
.
} _Cxxx;
Cxxx Cxxx_Constructor(void * owner) {
Cxxx xxx = (Cxxx)malloc(sizeof(_Cxxx));
.
.
return Cxxx;
}
別に基本さえ理解すれば難しいことは無いと思うが?
メッセージドリブンやイベントドリブンの機能をシステムに追加すればいいだけ。
各クラスにハンドラーを入れるだけ。
継承? ちょと工夫すれば良し。
0295デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.ANそういう場合どうしてますか?hファイルに他の関数もインクルードさせたりとか
できるんですか?あの関数何行目だっけ?ってなってctrl+Fするけど、それも
呼び出しただけの場所も引っかかったりするのでかなりうざいです。
この煩わしさがなくなるとスピードが2倍は増えます。
0296デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN0297デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.ANちょっとわかりません....VC++使ってますが。
0298デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN0299デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN0300デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.ANhファイルって何でも書いていいんだ。
0301デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN書かれている所から定義(記述)部分に連れて行ってくれる
0302デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.ANその引っかかった場所から定義に移動とかでいいんじゃないの
VCってできなかったっけ?
0303デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN.hに関数本体を記述するのは
.cをそのままインクルードするのと同じぐらい悪い例。
やめとけ。
0304デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.ANコンパイルエラー読んでも分からないんですよね。
>>303
悪いって、どう悪いんですか?メモリとかに悪い影響があるんですか?
プログラム作るたびにプロジェクト立ち上げるのも面倒なのもあって
//////////
integrate.h
int sum(int i);
int average(int i);
////////
///
sum.h
int sum(int i)
{
}
/////
average.h
int average(int i)
{
}
こうしたらかなり楽だということに気づきました.....
0305デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN>>303じゃないが、いずれ分かるから心に留めておけ
0306デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN0307デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN0308デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN分かりました。
インクルードガードとかですかね....
混乱を避けるためとか、そういう理由だけなら便利なのでしたいですが。
0309デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.ANそれ、どこらへんが大規模開発に関係あるんだろう。
0310デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN.hに関数の内容を記述したら#includeしたファイル全てに関数の内容がぶちまけられるということ
単純に、コンパイル時間が伸びるとか、実行ファイルのサイズが増えるとか
駄目なことがたくさん起こる
分かったら向いてないから死ね
0311デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN0312デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.ANビルドアップ開発ができるという事じゃね? テストユニット作っておけばクラス検証が楽だし。
というより、組込みでのメモリリソースが少ない時にコンパクトなOOPを実現するために使用する。
C++では肥大化して、それでもOOPメリットを享受したい場合。 メリットは実際の機器コントローラーとか、
実務をやればわかるよ。
0313デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN間違えると再定義だの実体が2つあるだの言われるだけだ。
ま、そのままやってみれ。
痛い目見ればそのうちわかるだろ。
0314デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN0315デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.ANいてもおかしくない。
0316デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.ANあんまり突っ込んでも仕方がない。
0317デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN>>314
隠蔽とカプセル化では違うんじゃね w
OOPはUMLで全体の構造鳥瞰が楽なのと、デザパタで逃げ道が考えやすい。
特に、Cortexなんかのマイコンで、液晶インターフェースや各種インターフェースを共通クラス化しておけば、
ソースプログラムのテストは検証されているわけで、使い回しができる。
いわゆる、クラス化で、論理部とハード部を分離できる。
>>315
デスマーチのデバッグで死んだ奴は居る。 階層化でワケワカメになって、深夜に泣いていた。
0318デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN>デスマーチのデバッグで死んだ奴は居る。 階層化でワケワカメになって、深夜に泣いていた。
痛ましいな…
0319デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN巣に帰れ
0320デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN巣に帰る。
0321デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.ANそういうの、その本のローカルなテクニックを覚えるより素直に普通のオブジェクト指向言語を
やったほうがいいと思うよ。
現場でそんな書き方、許されないでしょ。
その現場の偉い人がその本に感化されて「全員この書き方でやれ」とか言ってない限り。
0322デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.ANカプセル化くらいまでは手動でOKだけど、継承とか多態とかCでやってたら破綻する。
本当に大規模の実務経験あるのかね。
0323デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN>>321
C++でメモリオーバフローする場合と書いてあるだろうが。 よく読め。
標準化なんて会社の決め事。
>>322
oocで検索してごらん。 シングル継承程度は簡単だから。
うちは、oocベースに標準化してる。
大規模は、C++やC#やjavaでの方が多いが、Cでは、Cortex-m3で256Kb満杯ぐらいは作っている。
0324デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN0325デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.ANググってみたら何年も前から貼り続けて、つっこまれるたびに反論してる感じだな。
一人でやってるならちょっと異常な感じがする。
0326デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN0327デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.ANググったけど別の言語じゃん?
もうここまで来るならC++のトランスレータ使えばいいんじゃ・・・
0328デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.ANC++使えない無能がw
0329デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.ANどうもC++です
0330デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.ANいや、うえのほうで薦められてる本の話でしょ?
そんなローカルなテクニック使わないほうがいいよ。
OOPを身に付けたいならメジャーなOOP言語で覚えて、その成果をCに降ろしたほうがいいと思うよ。
会社で取り組んでるならそこの社員はいいだろうけど、そんなローカルな話を一般的なことみたいに進めるのはどうかと。
0331デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.ANトランスレータ使うとライブラリの互換性とかすべて消え失せるじゃんw
0332デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN雑魚が
0333デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.ANそのoocでライブラリ作ってるから互換性がないって話?
そんなマイナーなものにロックインされるような選択をしたアーキテクトの問題だとしかいえない。
0334デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN一見簡単そうでも、継承とか人間が自分でキャストしたりして型の整合性をとるタイプの
CのOOPって、ちょっと規模が大きくなったらすぐ破綻するよ。
0335デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.ANlibcだけ使えばいいじゃん
というかbettercとしての例外・RTTI無しのC++が組み込みでもあるじゃん
0336デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.ANそれでいて低水準のメリットも失わないのに驚いたけどなあ
0337デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN0338デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN何でEC++使わないのは何でなんだぜって感想しか持てない
0339デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.ANスマソ
0340デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN無能は自己紹介しなくていいよ
0341デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.ANmain内で確保したメモリ領域は、関数内では開放するのは通常ではないですか?
見たことが無いんですよね。
0342デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN変な言語にロックインされちゃった無能集団員乙
0343デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.ANmain()内でmalloc()で確保した領域を他の関数でfree()してもいいかって話?
それはOK。
できる。
0344デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.ANしないほうがいいですか?
ほとんどmain関数の最後のreturn 0;の前でやってるケースが殆どじゃないですか?
0345デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN処理によるとしかいいようがないけど、malloc()とfree()とひとつの関数内で対で実行されてるほうがわかりやすいね。
0346デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN0347デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.ANどういう事ですか?
0348デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.ANuITRONなんかだと、メモリブロック取って他のタスクに投げてその受け取ったタスクで解放とか、ありがちな処理だけど
その他は知らん
0349デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.ANプロセスが終了したらまともなOSならmalloc()で確保したメモリは解放されるから
終了直前のfree()は必要でないという議論がある。
0350デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN初心者スレでそれを言うな
0351デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.ANmain関数ではint main()でもreturnしなくても大丈夫なのはなぜですか?
returnが無いと後々厄介なことになりますか?
0352デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.ANならない。標準化されたC言語がそういう仕様になってるから大丈夫。
mainだけは特別。
0353デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.ANmainはreturnを省略してもいいなんてことをよく知ってるな。
K&Rで勉強した人間以外は、そんなこと知らないんじゃないかって思ってたわ。
main()でreturnを省略したら、 return 0;をしたとみなされる。
(c89とc99とc++で仕様が違ったと思うけどどれがどれだったかは覚えてない)
0354デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.ANって書いたら怒られたわ。組み込みなのに
0355デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.ANそりゃそうだろーちゃんと書けよ
void main(int argc,char* argv[]);
0356デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.ANオchar!
ゲンマイchar!
0357デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.ANなんのための .h か?
今のトレンドは何なの?やっぱり spring3?.net mvc?まさか struts?
わかってやってればいいと思うけど
なにかサンプル挙げてよ
貧乏神ですが、なにか?
0363デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.AN0364デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.AN0365デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.AN結局昔からあるハンドル取得と何も変わらない
http://codepad.org/bg2cjoty
0366デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.AN結局昔からある fopen()/fclose(), malloc()/free() と何も変わらない
0368デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.AN0369デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.AN0370デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.ANhttp://ooc-coding.sourceforge.net/
0371デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.ANYES → 【ヒットした?】 ─ YES → なら聞くなよ。死ね。
/ \
【検索した?】 NO → なら、ねぇよ。死ね。
\
NO → 死ね。
0372デフォルトの名無しさん
2013/08/17(土) NY:AN:NY.AN死ね
0373デフォルトの名無しさん
2013/08/18(日) NY:AN:NY.AN{
srand((unsigned)time(NULL));
*a = rand() % 6 + 1;
*b = rand() % 6 + 1;
return;
}
サイコロを振って、偶数か奇数を当てるゲームを作っているんですが
「%6 + 1」 の 「 +1」 は、どうして必要なんですか?
0374デフォルトの名無しさん
2013/08/18(日) NY:AN:NY.AN+1がなかったら0〜5になるじゃん。
0375デフォルトの名無しさん
2013/08/18(日) NY:AN:NY.ANsrand()は、プログラムの初期化処理あたりで一回だけやればいいよ。
そこで呼ぶと一秒以内にくりかえしてsaikoro()が呼ばれたら、同じ結果になる。
0376デフォルトの名無しさん
2013/08/18(日) NY:AN:NY.AN%演算子は除算の商の余り、剰余を求める。
(rand() % 6) で求められる剰余は 「0〜5」 の範囲。
(0 % 6 == 0), (1 % 6 == 1) ..... (5 % 6 == 5), (6 % 6 == 0), (7 % 6 == 1)
0377デフォルトの名無しさん
2013/08/18(日) NY:AN:NY.AN他に役に立たないゴミ共
さっさと答えろ。
0378デフォルトの名無しさん
2013/08/18(日) NY:AN:NY.ANスレチ
0379デフォルトの名無しさん
2013/08/18(日) NY:AN:NY.AN0380デフォルトの名無しさん
2013/08/18(日) NY:AN:NY.ANうっせえクズ
役に立って欲しければ金払え乞食野郎
0382デフォルトの名無しさん
2013/08/18(日) NY:AN:NY.AN質問にゴミ共と書いた白痴よ、おまえ今日何グラム入れてるんだ?
0383デフォルトの名無しさん
2013/08/18(日) NY:AN:NY.AN答え合わせご苦労
0385デフォルトの名無しさん
2013/08/19(月) NY:AN:NY.AN0386デフォルトの名無しさん
2013/08/19(月) NY:AN:NY.AN頭を下げるのが下手なツンデレちゃんじゃないか
0387デフォルトの名無しさん
2013/08/19(月) NY:AN:NY.AN速いってどういう意味でしょうか?受信と送信って対なのにどっちが速いとかあるんでしょうか?
0388デフォルトの名無しさん
2013/08/19(月) NY:AN:NY.AN0389デフォルトの名無しさん
2013/08/19(月) NY:AN:NY.AN0390デフォルトの名無しさん
2013/08/19(月) NY:AN:NY.AN利用者側は受信のが周波数が高い=データを乗せやすい
もちろん業者は逆
そしてスレチ
0391デフォルトの名無しさん
2013/08/19(月) NY:AN:NY.ANうん?
A君、B君が通信し合うって意味じゃないんですか??
0392デフォルトの名無しさん
2013/08/19(月) NY:AN:NY.AN受信が速いってのは、ネット(配信元)に遠い方から近い方への通信を送信、
その逆を受信としてたときの速度を言ってる。
ISPからユーザーを見れば逆の速度。
それとスレチだけどすみませんで済まねえから。
本当にそう思うならきちんと別板でやってくれ。
http://toro.2ch.net/test/read.cgi/hack/1376033052/
http://engawa.2ch.net/network/subback.html
0393デフォルトの名無しさん
2013/08/19(月) NY:AN:NY.ANうーん....
全く分らん。
A君とB君にタイムラグがあるってことかい.....?
0394デフォルトの名無しさん
2013/08/19(月) NY:AN:NY.ANこういう精神構造のキチガイは一般社会でも迷惑このうえない
0395デフォルトの名無しさん
2013/08/19(月) NY:AN:NY.ANいや本当すいません。
>>392
の提示されたスレに行きます。
0396デフォルトの名無しさん
2013/08/19(月) NY:AN:NY.AN0397デフォルトの名無しさん
2013/08/19(月) NY:AN:NY.AN全く分らないけど>>392のスレに行きます
0398デフォルトの名無しさん
2013/08/19(月) NY:AN:NY.AN矛楯かよwwwwwwwwwwwwwwww
0399デフォルトの名無しさん
2013/08/19(月) NY:AN:NY.AN0400デフォルトの名無しさん
2013/08/19(月) NY:AN:NY.ANま仕組み分らんとそうなるわな
本読んで頑張れ
0401デフォルトの名無しさん
2013/08/19(月) NY:AN:NY.AN0402デフォルトの名無しさん
2013/08/20(火) NY:AN:NY.ANmanにはそう書いているけど確かめたいところ
0404デフォルトの名無しさん
2013/08/20(火) NY:AN:NY.ANint height,width;
int i,j;
u_char*** src;
// src[h][w][3] を確保する
src = (u_char***)malloc(sizeof(u_char**) * height);
for(i = 0; i < height; ++i){
src[i] = (u_char**)malloc(sizeof(u_char*) * width);
}
for(i = 0; i < height; ++i){
for(j = 0; j < width; ++j){
src[i][j] = (u_char*)malloc(sizeof(u_char) * 3); //ピクセル毎のバイト数=3
if(src[i][j]==NULL){ return -1; }
}
}
三次元構造を作ってみたのですがこれのアクセスはsrc[h][w][3]で大丈夫ですか?
0405デフォルトの名無しさん
2013/08/20(火) NY:AN:NY.ANsrc[h][w][3]じゃなくてsrc[h][w][2]です
0406デフォルトの名無しさん
2013/08/20(火) NY:AN:NY.ANなんでそんなマヌケな考えに至るんだ?
fcloseが必要な事くらい自明。その上でcloseは不要。
マヌケな事ほざいてるから不可触賎民にレス付けられちまうんだ。
0407デフォルトの名無しさん
2013/08/20(火) NY:AN:NY.AN作って動作させてみましたか。普通はmalloc使うなら一度呼び出すだけで済みます。
codepadの/ZS2jK3iW参照。
0408デフォルトの名無しさん
2013/08/20(火) NY:AN:NY.ANあと画像を扱うのにstride知らない奴も多すぎないか?
0409デフォルトの名無しさん
2013/08/20(火) NY:AN:NY.AN0410デフォルトの名無しさん
2013/08/20(火) NY:AN:NY.AN0411デフォルトの名無しさん
2013/08/20(火) NY:AN:NY.AN0412デフォルトの名無しさん
2013/08/20(火) NY:AN:NY.AN使っていいのは小規模かつ個人的なテストコードのときだけ
0413デフォルトの名無しさん
2013/08/20(火) NY:AN:NY.AN0414デフォルトの名無しさん
2013/08/20(火) NY:AN:NY.ANγ⌒´ \ | ノ\ ヽ. ┏┛ /
.// “”´ ⌒\ \ / ●゛ ● | ・ /. ___ ━┓
.i / \ ,_ i )\ | ∪ ( _●_) ミ / / ― \ ┏┛
i (・ )゛ ´( ・) i,/ \ 彡、 |∪| | / / (●) \ヽ ・
l u (__人_). | . \ / ∩ノ ⊃ ヽ / / (⌒ (●) /
_\ ∩ノ ⊃ / ━┓\ ∧∧∧∧∧∧∧/ /  ̄ヽ__) /
( \ / _ノ | |. ┏┛ \< > /´ ___/
.\ “ /__| | ・ < ━┓ > | \
―――――――――――――<. ┏┛ >―――――――――――――
___ ━┓ < ・ >. ____ ━┓
/ ―\ ┏┛ < > / ― \ ┏┛
/ノ (●)\ ・ /∨∨∨∨∨∨\ /ノ ( ●) \ ・
. | (●) ⌒)\ / \ | ( ●) ⌒) |
. | (__ノ ̄ | / / ̄ ̄ヽ ━┓ \ | (__ノ ̄ /
\ / / / (●) ..(● ┏┛ \ | /
\ _ノ / | ‘ー=‐’ i ・ \ \_ ⊂ヽ∩\
/´ `\/ > く \ /´ (,_ \.\
| / _/ ,/⌒)、,ヽ_ \ | / \_ノ
| / ヽ、_/~ヽ、__) \ \
0415デフォルトの名無しさん
2013/08/20(火) NY:AN:NY.AN0416デフォルトの名無しさん
2013/08/20(火) NY:AN:NY.ANfloat average ( int *, int );
float variance ( int *, int );
float standardDev ( int *, int );
//
float ( *calc[] )( int *, int ) = {sum, average, variance, standardDev};
こんなとき、float ( *calc[] )( int *, int ) は日本語でどう言えばいいんでしょうか。
0417デフォルトの名無しさん
2013/08/20(火) NY:AN:NY.AN0418デフォルトの名無しさん
2013/08/20(火) NY:AN:NY.ANmanすら読んでなかったわ
すっかり存在を忘れてた
>>406
thx
0419デフォルトの名無しさん
2013/08/21(水) NY:AN:NY.AN関数テーブルとか言えばいいんじゃないか
テーブルって何だろうか
0420デフォルトの名無しさん
2013/08/21(水) NY:AN:NY.AN図表の表
0421デフォルトの名無しさん
2013/08/21(水) NY:AN:NY.AN・.NET Framework
・Java標準クラスライブラリ
のように使いやすい汎用ライブラリは、C言語ではどのような選択肢がありますでしょうか?
0422デフォルトの名無しさん
2013/08/21(水) NY:AN:NY.AN***_ts.txtのようにファイル名と拡張子の間に_tsをつけたいのですがどのようにすればいいのでしょうか
0423デフォルトの名無しさん
2013/08/21(水) NY:AN:NY.AN「先頭からピリオド直前までの文字列 + "_ts" + ピリオド以降の文字列」 の生成 strcat とか sprintf とか
0424デフォルトの名無しさん
2013/08/21(水) NY:AN:NY.ANfor %i in (*.txt) do rename "%i" "%~ni_ts.txt"
0425デフォルトの名無しさん
2013/08/21(水) NY:AN:NY.AN#include <stdlib.h>
int main(int argc, char *argv [])
{
system("for %i in (*.txt) do rename \"%i\" \"%~ni_ts.txt\"");
}
0426デフォルトの名無しさん
2013/08/21(水) NY:AN:NY.ANこれってC言語ですか?
0427デフォルトの名無しさん
2013/08/21(水) NY:AN:NY.AN0428デフォルトの名無しさん
2013/08/21(水) NY:AN:NY.AN0429デフォルトの名無しさん
2013/08/21(水) NY:AN:NY.ANQt
0431デフォルトの名無しさん
2013/08/21(水) NY:AN:NY.AN/* getword: 入力から次の語または文字を求める */
int getword ( char *word, int lim )
{
int c, getch ( void );
void ungetch ( int );
...(後略)
}
のように関数内で他の関数を宣言するのはどういう意味があるのでしょうか。
また、宣言された関数は実体をどこに書けばいいのでしょうか。
0432デフォルトの名無しさん
2013/08/21(水) NY:AN:NY.ANすまない知ったかをしてしまった。
gtkと同様だと思ってたら無かった。
という事でgtkしか無い。
0433デフォルトの名無しさん
2013/08/21(水) NY:AN:NY.ANchar filename_old[256]; // 元ファイル名
char filename_new[256]; // _ts付のファイル名
char *p;
p = strrchr(filename_old, '.');
if (p) {
int pos = p - filename_old;
memcpy(filename_new, filename_old, pos);
filename_new[pos] = 0;
strcat(filename_new, "_ts");
strcat(filename_new, p);
}
ファイル名にアスキーコード以外が使われていると使用できない。
ディレクトリを含むパスの場合は想定していない。
動作確認をしていないのでバグってるかもしれない。
0434デフォルトの名無しさん
2013/08/21(水) NY:AN:NY.ANそれはその関数内で使いますって宣言なだけで、実体は普通に書いていい。
もちろんその関数内だけで宣言しているものなので、
他でも使うならブロック{}の外にプロトタイプ宣言を書かないと使えない。
恐らくK&Rの時代で変数宣言と共に関数使用の宣言を行なっていた名残。
0435デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.ANK&R恐るべし
0436デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.ANなぜこれでできるのか分かりませんができました
ありがとうございます
0437デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.ANint c,getch(void); はどう見てもおかしい
getword(word, lim)
char *word;
{
}
だし
0438デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.AN0439デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.AN0440デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.ANhttp://www5c.biglobe.ne.jp/~ecb/c/01_05.html
円周率を表すには、「3.1415」「0.31415E1」、「31415E-5」など と表すことができます。
上記の意味がわかりません
「0.31415E1」は0.31415*10^1で3.1415になりますよね
「31415E-5」これはどんな計算をしてるんですか?
0441デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.ANE-5 → 10^-5 → 0.00001
31415E-5 → 31415*0.00001
0442デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.AN0443デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.ANメール送ってやれ
0444デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.AN円周率を「31415E-5」などと表すことができますというのは
間違えということでしょうか?
0445デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.ANすみません被ってしまいました
おかげでスッキリしました
ありがとうございます
0446デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.ANどこをみればいいんだい?
0447デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.ANカバンの中も机の中も探してみた?
0448デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.AN0449デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.AN0450デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.AN0451デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.AN0452デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.AN0453デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.AN0454デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.ANえ、そっちじゃない?
0455デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.AN0456デフォルトの名無しさん
2013/08/23(金) NY:AN:NY.AN勉強不足な奴が後を絶たないようだな。
0457デフォルトの名無しさん
2013/08/23(金) NY:AN:NY.AN0458デフォルトの名無しさん
2013/08/23(金) NY:AN:NY.ANどれでも好きなの使え
http://www.vector.co.jp/vpack/filearea/win/writing/edit/
0459デフォルトの名無しさん
2013/08/23(金) NY:AN:NY.ANメモ帳。
見たことない?
IT系のプロはみんなメモ帳だよ。
というか本来、Windowsに標準でメモ帳が付いてるのは
パソコンが本来はIT技術者向けのものだったから
Windowsを買った技術者がすぐ開発できるようにするため。
最初は「プログラミングエディタ」(うろ覚えだから違ったかも)って名前だったんだけど、
一般に普及してきたら一般人が普通にメモ書きとして使うようになったから
「メモ帳」に名前が変わった。
Windowsと共にバージョンアップしてるから今ではかなり使いやすくなったよ。
0460デフォルトの名無しさん
2013/08/23(金) NY:AN:NY.AN0461デフォルトの名無しさん
2013/08/23(金) NY:AN:NY.AN色々フリーソフトであるんですね
>>459
メモ帳でプログラムを実行ってどうやるんですか?
今はvisualc++2010ってのを使ってやって見てるんですが微妙ですかね?
0462デフォルトの名無しさん
2013/08/23(金) NY:AN:NY.AN>>457はプログラムを「書く」方法を尋ねた
それで>>459はメモ帳と答えた
プログラムを「実行する」のに必要なものはまた別だ
VCの場合はWindowsなので追加で用意するものはない
0463デフォルトの名無しさん
2013/08/23(金) NY:AN:NY.AN> 最初は「プログラミングエディタ」(うろ覚えだから違ったかも)って名前だったんだけど、
まじかよって思ってググったら1.0のころからnotepad(メモ帳)じゃんか。
http://nokonoko365.cocolog-nifty.com/blogfile/2010/07/ms-windows103-2.html
0464デフォルトの名無しさん
2013/08/23(金) NY:AN:NY.AN本当に始めたばかりでわからないことばかりで質問の仕方が悪くてすいません
あと今本を見ながら書いてみたんですがエラーで実行されません
どこが間違ってるとかわかりますか?
,が足りないらしいんですが…
#include<stdio.h>
int main(void)
{
double a=0.5,b=10.5;
int c=215,d;
char e='A';
printf("%f+%f=%f\",a,b,a+b);
d=c+11;
printf("cの値には%dでこれに11を加えると%dとなります\n",c,d);
printf("eには\"%c\"が代入されています\n",e);
return 0;
}
0465デフォルトの名無しさん
2013/08/23(金) NY:AN:NY.ANprintf("%f+%f=%f\n",a,b,a+b);
nが抜けてるんじゃないの。
0466デフォルトの名無しさん
2013/08/23(金) NY:AN:NY.AN1回目のprintfの\nが\になってる
VCも2012なら直球で指摘してくるぞ
0467デフォルトの名無しさん
2013/08/23(金) NY:AN:NY.AN実行できました
ありがとうございます
本当に見ただけで間違いわかるんですね
VC2012ってのをちょっと調べつつもうちょっと勉強してみます
0468デフォルトの名無しさん
2013/08/23(金) NY:AN:NY.AN0469デフォルトの名無しさん
2013/08/23(金) NY:AN:NY.ANUTF-8がつかえるほうがいい
ソフトウェア板にテキストエディタのスレが多数ある
0470デフォルトの名無しさん
2013/08/23(金) NY:AN:NY.AN0471デフォルトの名無しさん
2013/08/23(金) NY:AN:NY.ANhttp://anago.2ch.net/test/read.cgi/software/1372823376/
0472デフォルトの名無しさん
2013/08/23(金) NY:AN:NY.AN0473デフォルトの名無しさん
2013/08/23(金) NY:AN:NY.AN0474デフォルトの名無しさん
2013/08/23(金) NY:AN:NY.AN0475デフォルトの名無しさん
2013/08/23(金) NY:AN:NY.ANcl.exe
0476デフォルトの名無しさん
2013/08/24(土) NY:AN:NY.ANC and C++
Programming
Languages
http://www.digitalmars.com/
Open Watcom 1.9
http://www.openwatcom.org/index.php/Downloads
0477デフォルトの名無しさん
2013/08/24(土) NY:AN:NY.ANGCC(MinGW)
0478デフォルトの名無しさん
2013/08/24(土) NY:AN:NY.AN休刊したCマガジンの付録CDに、
Borland C++ Compiler 5.5.1
がはいっていた。
freecommandlinetools2.exe
8672 KB
http://www.sbcr.jp/400000/400801/
0479デフォルトの名無しさん
2013/08/24(土) NY:AN:NY.ANLSI Cコンパイラ試食版
http://www.lsi-j.co.jp/freesoft/
エディタはCPad for LSI C86で決まり
http://hp.vector.co.jp/authors/VA017148/pages/cpad.html
http://www.vector.co.jp/soft/win95/prog/se104016.html
Windows7 64bit では使えないんですけど‥
0481デフォルトの名無しさん
2013/08/24(土) NY:AN:NY.AN嘘こけ、使えるよ
あ、Home かム板のくせに
0482デフォルトの名無しさん
2013/08/24(土) NY:AN:NY.AN0483デフォルトの名無しさん
2013/08/24(土) NY:AN:NY.AN色んなアルゴリズムとか上手い人のコードとか見て精進しろ
0484デフォルトの名無しさん
2013/08/24(土) NY:AN:NY.ANまあでもプログラム書くときは xyzzy なんだけどね
0485デフォルトの名無しさん
2013/08/24(土) NY:AN:NY.AN0486デフォルトの名無しさん
2013/08/24(土) NY:AN:NY.AN0487デフォルトの名無しさん
2013/08/24(土) NY:AN:NY.ANこのブログのプログラムをコピペしてMicrosoft Visual C++ 2010で動かすと
環境が違うせいかエラーが起きたので
for(int i=0;i<5;i++){を
int i;
for(i=0;i<5;i++)に直すと動きました
しかし合計が変な値になるんですがどこか間違っていますか?
0488デフォルトの名無しさん
2013/08/24(土) NY:AN:NY.ANそのサイトを参考にするのが間違ってる
0489デフォルトの名無しさん
2013/08/24(土) NY:AN:NY.ANVisual C++ 2010 はC99に対応してないのでエラーがでるのはしょうがない。
0490デフォルトの名無しさん
2013/08/24(土) NY:AN:NY.ANC言語でって事?
0491デフォルトの名無しさん
2013/08/24(土) NY:AN:NY.AN合計がおかしいのは単純にプログラムのミス。
printf("名前を入力して下さい\t");
scanf("%s",&takepon.name);
takepon.tokuten[5] = 0; // ←この行を追加する。
for(int i=0;i<5;i++)
// ↑この書き方をするにはC99に対応したコンパイラでコンパイルするかC++としてコンパイルする
0492デフォルトの名無しさん
2013/08/24(土) NY:AN:NY.AN>>488 がやみくもに叩いてるだけかと思ったら、マジでダメダメなサイトだったわ。
0493デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANその1 struct seiseki takepon; // C言語入門を謳うくせに変数を初期化してない
その2 takepon.tokuten[5] += takepon.tokuten[i]; // takepon.tokuten[5]を初期化しないうちに加算している
その3 for(int i=0;i<5;i++) // C言語入門なのに一部のコンパイラでしか対応していない書き方
その4 printf("合計:%d\t",takepon.tokuten[5]); // 初期化してない変数を使用しているので結果がおかしい
せめて出力結果ぐらい確認しとけよ。参考にしない方がいいレベルのクソ
0494デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN0495デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN0496デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANこれ気に入らない
0497デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANそんな些細な突っ込みはどうでもエエわ、テストすりゃわかるんだし。
> scanf("%s",&takepon.name);
この入力がどこに格納されるのかの方が問題だろ。
0498デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN> // takepon.tokuten[5]を初期化しないうちに加算している
これはやばいな。
あと今時scanf使わせるのはな・・。
0499デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN使うフィールド初期化しないのはまずいが、それ以外は別に必須じゃない
for (int 〜に突っ込むなら、コメントスタイルも/* */としてほしいところ
0500デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN逆にちょっとわくわくしてきたぞ
0501デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANhttp://ideone.com/eWdvFu
0502デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANとんでもないものを釣り上げてきやがったな。
0503デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN0504デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN0505デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN0506デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN0507デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN0508デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANでもプログラマーはC99固有の記述を避ける。
0509デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN0510デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANIntel C++ CompilerはC99準拠を謳ってるけど完全準拠じゃないな
0511デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN0512デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANとりあえず動くように直したが、この設計自体マネしちゃいかん
http://ideone.com/sExOl2
>>497の指摘と>>493その2指摘
free忘れてるので注意
あと俺の環境だと、printf("〜\t"); scanf(〜);だと、fflush(stdout)しないとちゃんと動作しなかった
0513デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANあれこれって.nameのアドレスで合ってるよね?
不安になってきた
0514デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN0515デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN0516デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANhttp://ideone.com/w10Gzh
0517デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN&要らなくね
0519デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN0520デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN> free忘れてるので注意
なんで malloc( ) なんて使うかなぁ...、普通に
struct seiseki {
...
char name[128]; //名前
...
};
で、いいだろ。
0521デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANメモリ数ギガバイトの現代のコンピュータで動かすべきプログラムではないな
0522デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN0523デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN0524デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANnameの実体はユーザープログラムに持たせたいという親心じゃないか
0525デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANなにをユーザープログラムと言ってるのか知らんけど、>>520 でも name の実体は main( ) のスタック上にとられるんだが。
0526デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN記憶領域の話じゃなくて、コードとしてmainに持たせたいんだよ
0527デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANname のコード?
マジで自分が何を言いたいのか、一度整理した方がいいぞ。
0528デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANだからmainのコードっつってんだろハゲ
0529デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN0530デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANなにを勘違いしてるのか知らんけど、>>520 でも name に関するコードは main( ) に含まれるんだが (w
0531デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN的はずれながらも
一見すると人間が書いているとしか思えない文章を操る
0532デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN再利用性をまったく考慮しないで書けばその考えでいいだろうさ
128文字以上の名前の人間が現れた場合、mainだけを直すか、構造体ごと直すかの差が出る
まあ128文字以上の名前なんかいないんだけどな
ただそこまで考えが及ばないんじゃ、プログラマー的ではないな
0533デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANじゅげむ
0534デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN多分プラズマが原因だ!
0535デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN128文字決め打ちの名前入力欄なんてテストで弾かれて終わりでしょ
0536デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN事務処理で使う書類で
名前の文字数釣果が一人見つかった程度で
全書類をフォーマットごと書き直すというのかッ
0537デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN便宜上mainと構造体が同じソースになってるけど、実際の設計でそんなことはしないからな
0538デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN0539デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANアイちゃんは黙ってて
0540デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANえ?二人がアホを演じてるだけなの?
0541デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANだからアイちゃんはレスすんなって
0542デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANUTF32なら32文字しか入力できないんだ
あとは・・・分かるな?
0543デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN0544デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN0545デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANこの前MSのほうが
「VS2013ではffmpegをビルドできるくらいC99にも対応させていただきます。
いままで調子こいててすいませんでした。MSVC++を見捨ててclangとかに行かないで下さい」
って敗北宣言しただろ
0546デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANとはいえgccやclangがC11の対応を完了しつつある中でVSは今頃C99だから出遅れ感は相当なものだが
0547デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN0548デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN0549デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANC99 対応が望まれるのって、
やっぱりそういうところ?
0550デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANC99対応しないと変数宣言の位置すらブロックの先頭に制限されるから
C++とか関係なく最低限C99は必要
0551デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN科目増えたら困るから、tokuten も main( ) で確保すべきだな (w
0552デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN科目数は少なくとも現在は固定されていてその数であることに根拠はある
名前の128という文字長には何の根拠もないだろう
0553デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANVS なら C++03 や、不完全ながら C++11 に対応しているでしょ?
その範疇内なら C99 に未対応でも実用としては問題ないと思うんだ
その変数宣言位置の制限だって、
C++03では無問題なんだから、
C++コンパイルしておけば全く問題なくね?
で、それでも C99 が必要なケースってどういう時なのだろう…
と思った次第
0554デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANおまえその論点で国税庁をフルボッコしてきてくれ
0555デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN0556デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANC++はC++だろ
C言語とは細かい点で書き方が違う。ロベールにも書いてあるぞ
0557デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANそういう場所に就職してSEやってる知人がいて、どういう人種がシステム開発やってるのか知ってるから言っても無駄だと理解してるよ
学部でシステム開発を全く学んでない落ちこぼれが転がり込んでるケースが多々ある
0558デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN初期化指示子と複合リテラルと可変長配列を使いたい
void*の型変換が面倒
0559デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANCとC++は暗黙のキャストの部分で致命的に異なる
試しにC言語のプログラムをg++でコンパイルしてみ
0560デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN世間知らずすぎワロタw
0561デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN再利用性とか言ってた奴がいたよな
まさか、君ではないと思うが (w
0562デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN0563デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN55億円無駄に、特許庁の失敗
http://itpro.nikkeibp.co.jp/article/COLUMN/20121204/441882/
「情報大航海プロジェクト」に46億円など、各省が2007年度予算案を公表
http://internet.watch.impress.co.jp/cda/news/2006/12/25/14362.html
↓
情報大航海プロジェクトって、どうなったの?
http://kur.jp/2011/09/01/igvpj/
0564デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANどう見ても>>557のがその手の人種だろ。
妥協点を探らずにあほな事言う。
>全ての情報をXMLで管理するなど技術的難度が高く、
>十分な性能を出せないなどのリスクを抱えていた。
0565デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN大規模システムでの採用事例が少ないXML DBをねじ込むことと
他のほとんどのプログラムが採用している可変長文字列を採用することと
君の眼には同じように見えてしまうのか。悲しい視力ですな
0566デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANついに可変長って言っちゃったな
固定長だとダメと言った時点で世間知らずだよ
0567デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN0568デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN可変長文字列じゃなくてポインタな
シンプルに考えろ
0569デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANもしかして君はさっきから組み込みプログラミングの話してた?
それなら固定長に拘る主張も理解できるw
0570デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANデータベースはどうしてもパフォーマンスの問題が出てくるから、
基本的には固定長を使うんだよ。
そんな今時学生でも言わないことを平然と主張できるSEがいたら怖いわ。
0571デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANシングルなら依存するのは恐らくデータ構造と実装だけだろう。
0572デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANhttp://d.hatena.ne.jp/hiro_naka/20110809
> 「固定長DB」という考え方、行移行で痛い目に遭った経験のある方が強い力を持つプロジェクトとか、
> あとは汎用機からの移行でCOBOLベースで開発するプロジェクトなどでよく見ますね。
>
> 私の意見としては、基本としては元記事にも書かれているようなデメリットを重視して全くもってお勧めしません。
> 非常にトリッキーな設計です。
0573デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN構造体に実体持たせる?
これまた、斬新なこと言い始めたぞ (w
0574デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN思いっきり頭が悪いからすぐにバレる
一つだけなら簡単だよ?
0576デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN配列を構造体メンバーにすることな
お前がそれを問題なしとか斬新な()発言してるんじゃんか
>>569
組み込みならなおさら、構造体に文字列なんか入れないわ
0577デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANいやぁ久しぶりに面白いものが見れた
コボラーの生き残りかな。あるいはそういう人を師匠に持ってしまった可哀想な若手か
0578デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN組み込みだと「常にXバイト」と定義されている文字列がちょくちょくあるね
\0 で終わるのではなく
0579デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN> 配列を構造体メンバーにすることな
なんで tokuten は指摘しないんだろうね?
わざわざ >>551 に書いてあげたのに (pgr
0580デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN科目は5科目で固定されてるだろ
名前の長さは何か決まりがあるのか?128文字未満しか来ない理由はあるのか?
0581デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN>>561
0582デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANそれとも欄が狭すぎると言って用紙を作りなおさせたことがあるのか?
0583デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN解答用紙において主キーは学年名・クラス・名・出席番号であるから、
備考の一つである名前が途切れても問題は起きない
0584デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN0585デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN0586デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN0587デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN0588デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN反省する
0589デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN「2年前に1年生だったクラスが〜」とか言うとややこしいだろ?
だから学年ごとにコードネームとしてキラキラ厨二ネームを付けるのが最近の主流
〇冥王の騎士団
〇デジタルネイティブフロンティア
〇神速の風雲児達
0590デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANドカタらしい発想でワロタ
0591デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANロートルはもう設計の話すんな
0592デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN0593デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANロートルに内容で反論できなくてくやちいね (w
0594デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN多数のデータが単方向リスト構造で格納されている。このリスト構造には、先頭ポインタとは別に、末尾のデータを指し示す末尾ポインタがある。次の操作のうち、ポインタを参照する回数が最も多いものはどれか。
ア リストの先頭にデータを挿入イ リストの先頭のデータを削除
ウ リストの末尾にデータを挿入エ リストの末尾のデータを削除
0595594
2013/08/25(日) NY:AN:NY.ANアはリスト先頭にデータを挿入するには、先頭ポインタと挿入した
データの次のポインタを書き換えます。そのため先頭ポインタを参照する
必要がある。という事なのですが、参照するのは先頭ポインタのみで、
挿入するデータのポインタを書き換えることは、それもまず参照が必要じゃ
ないんですか?
itproのページにこの問題ありますけど、参照は青矢印で書かれています。
参照ってのが分かってないんですかね僕。
0596594
2013/08/25(日) NY:AN:NY.AN0597デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN厳密な回数を気にするのはポイントがズレていないか?
勉強のために知りた行ってこと?
構造を知っていれば、
明らかに参照回数が多くなるのがエなんだけど、
それ以外はあまり気にしなくて良いような…
そこに気づける知識があるかどうかを問うてる問題だよね
0598デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN0599デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANttp://itpro.nikkeibp.co.jp/article/COLUMN/20120529/399361/
これか。
恐らく挿入するデータは参照した事に入らないのだろう。
0600デフォルトの名無しさん
2013/08/26(月) NY:AN:NY.AN何を気にしてるかがいまいち分からないけど、例えば、こんなデータ構造として;
struct data {
int value;
struct data *next; // 単方向リストの連結用
};
struct data *top; //先頭ポインタ
// ア
// struct data item を追加する場合
//
item.next = top; // ここでtopの値を参照(1回参照)
top = &item;
>>595 を見ると、item.next を書き換えるとき item.next を参照する必要があると
思ってるように見える。でも、上書きするだけなので普通、参照はしない。
0601デフォルトの名無しさん
2013/08/26(月) NY:AN:NY.AN>>595
何を気にしてるかがいまいち分からないけど、例えば、こんなデータ構造として;
struct data {
int value;
struct data *next; // 単方向リストの連結用
};
struct data *top; //先頭ポインタ
// ア struct data item を追加する場合
//
item.next = top; // ここでtopの値を参照(1回参照)
top = &item;
>>595 を見ると、item.next を書き換えるとき item.next を参照する必要があると
思ってるように見える。でも、上書きするだけなので普通、参照はしない。
0602デフォルトの名無しさん
2013/08/26(月) NY:AN:NY.ANそのitemを参照している事を言ってるんだと思うぞ。
0603デフォルトの名無しさん
2013/08/26(月) NY:AN:NY.AN0604デフォルトの名無しさん
2013/08/26(月) NY:AN:NY.AN0605617
2013/08/26(月) NY:AN:NY.ANこれから、やるんす。
0606デフォルトの名無しさん
2013/08/26(月) NY:AN:NY.ANどういう意味かちょっと分からない
もうちょい詳しく
「末尾のデータを指し示す末尾ポインタがある」
というのだから,データの末尾を削除したのならこのデータも更新しないといけない.
これは頭から手繰るしか方法がないのでは?
0608デフォルトの名無しさん
2013/08/26(月) NY:AN:NY.AN0609デフォルトの名無しさん
2013/08/26(月) NY:AN:NY.AN挿入データはNULLポインタだからですか?
亀頭ポインタは最初一番初めのデータを指していたから
ヌルポインタじゃないということですかね?
0610デフォルトの名無しさん
2013/08/26(月) NY:AN:NY.AN同じ仕事でも効率に2倍くらい差がでるの?
0611デフォルトの名無しさん
2013/08/26(月) NY:AN:NY.AN0612デフォルトの名無しさん
2013/08/26(月) NY:AN:NY.AN拡張できるだけでしょ、それならjavaのコレクション使えばいいだけだし
0613デフォルトの名無しさん
2013/08/26(月) NY:AN:NY.AN2倍なんてものではなく、双曲線だと思っていい
0614デフォルトの名無しさん
2013/08/26(月) NY:AN:NY.ANやっぱり理解力なのかな?
プログラミングできる奴って総じて国語の成績いいんだよな
0615デフォルトの名無しさん
2013/08/26(月) NY:AN:NY.ANコレクション使えってそれ階層が逆じゃないの?
>双曲線
所詮二次曲線
0617デフォルトの名無しさん
2013/08/26(月) NY:AN:NY.AN単なるもののたとえで・・・
0618デフォルトの名無しさん
2013/08/26(月) NY:AN:NY.AN0619デフォルトの名無しさん
2013/08/26(月) NY:AN:NY.ANあいつなんであんな事件起こしたんだろう
0620デフォルトの名無しさん
2013/08/26(月) NY:AN:NY.ANあれ関数の中身どうなんてんですか?
0621デフォルトの名無しさん
2013/08/26(月) NY:AN:NY.AN0622デフォルトの名無しさん
2013/08/26(月) NY:AN:NY.AN標準ライブラリもその方法ですか?
0623デフォルトの名無しさん
2013/08/26(月) NY:AN:NY.AN0624デフォルトの名無しさん
2013/08/26(月) NY:AN:NY.ANを計算してるだけ
0626デフォルトの名無しさん
2013/08/26(月) NY:AN:NY.AN何それ?
0627デフォルトの名無しさん
2013/08/26(月) NY:AN:NY.AN0628デフォルトの名無しさん
2013/08/26(月) NY:AN:NY.ANCygwin端末です。65536色で指定したいです。
0629デフォルトの名無しさん
2013/08/26(月) NY:AN:NY.ANWindows付属のだと無理
作るか探すかしないと
0630デフォルトの名無しさん
2013/08/26(月) NY:AN:NY.AN0631デフォルトの名無しさん
2013/08/26(月) NY:AN:NY.AN0632デフォルトの名無しさん
2013/08/26(月) NY:AN:NY.ANWindowsアプリとしてフロトエンドは自作のグラフィカルなインターフェースにして
バックエンドでコマンドラインを非表示で動かしてパイプで丸投げ
そうすれば色どころか写真を背景として使うことも可能だ
0633デフォルトの名無しさん
2013/08/26(月) NY:AN:NY.ANパイプって物理層のCPU言語でしたっけ?
そんなことできるんですか?
0634デフォルトの名無しさん
2013/08/26(月) NY:AN:NY.AN0635デフォルトの名無しさん
2013/08/26(月) NY:AN:NY.AN本当に今から勉強を始めるんですが環境とかはどんなのがおすすめですか?
osはwindows 7です
0636デフォルトの名無しさん
2013/08/26(月) NY:AN:NY.AN何を目標に始めるかによるんじゃね?
Windowsアプリ作りたいんだったらVisual Studio一択だし、
linux系に進む予定ならcygwin入れてgccだろうし。
0637デフォルトの名無しさん
2013/08/27(火) NY:AN:NY.AN0638デフォルトの名無しさん
2013/08/27(火) NY:AN:NY.ANPICAXEの話か?
http://toro.2ch.net/test/read.cgi/tech/1192628099/337 に訳しておいたが,初期値源が具体的にどのような実装になっているのか興味あり
0640デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.ANvoid**ってありなの?なしなの?
0641デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.AN0642デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.AN0643デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.AN上昇するんじゃないですか?
0644デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.AN0645デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.ANCPUから見るとメモリはクッソ遅いデバイスなので
それだけでヤバくはならない
ただディスクなどのストレージはヤバイくらいクッソ遅いので
インメモリデータベースは速くなると言われてるのだ
0646デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.AN0647デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.ANならCPUの累算器に計算結果を保存する、そこで計算結果を出力する
0648デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.AN0649デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.ANお前恥ずかしいな。
void*からvoid**には合法的にキャスト可能。
0650デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.ANルックアップテーブルのことでしょうか
0651デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.ANじゃ、void* ひとつで受けてもいいような気がするんですけど。
どういう場合に上手くないんでしょうか。
0652デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.AN0653デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.ANアドレスを代入・参照するだけなら、そうとも言えなくはないのだけれど。
C言語ではポインタの計算ということができて。そのためにポインタが
示しているアドレスに何が入っているか区別する必要があるんですよ。
0654デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.AN分けていることに意味がある。
分けないという事は型によるエラーが起こらない。
言語のチェック機構の恩恵が得られない。
0655デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.AN一理あるんだが
思うとおりにコード書いてみな
アイちゃんでも答えを導ける解りやすい問題にぶち当たるから
0656デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.ANよくよく考えると「void**」は使う事があるな
ま、キャストすれば関係ないんだけど
0657デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.AN0658デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.AN{
*p = malloc(100);
}
main()
{
void *p;
f(&p);
}
引数でvoid*の値を返そうと思ったらvoid**で書くのが自然。
0659デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.AN変数を変換しないとだめで面倒臭いんですが
移植できる方法ありますか?
0660デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.AN}
で括る
0661デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.ANというか関数のデザインが悪いだろ、それ
抽象化できるか検討してみ
0662デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.AN0663デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.AN列がx 行がyのほうがいいですか?
それとも逆か。
変数の問題ですけど.........
どっちが分かりやすいですか?
0664663
2013/08/28(水) NY:AN:NY.AN行は横ですが、その行のまとまりは縦にならんでますよね?
列は縦ですが、その縦のまとまりは横に並んでるじゃないですか?
なんかわからないんですけど
0665663
2013/08/28(水) NY:AN:NY.ANforfor構文書くときいっつも躓くんですよ。
0666デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.ANFORTRANとCでは伝統的に行と列が逆だからな
Cは基本的に一次元配列しかない
それが拡張されて配列へのポインタが構文糖で多次元配列に書けるようになっているだけ
中では配列へのポインタに戻される
つまり行が先
でも絶対に混同してはいけないのは、ポインタ配列を持っても見かけ上は全く同じに書けて
しまい、後から原因不明のバグに悩まされる危険がある
しかし動的に多次元配列を確保する方法が複数あるというのは柔軟性がある
0667663
2013/08/28(水) NY:AN:NY.AN行が先という事は
配列str[i][j]ときたら行がiってことですか?
これは関数の場合もそうなんですか?
int str(int i,int j)のような関数があればiが行ですか?
0669デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.AN配列はそれで合っている
関数の引数は自分で勝手に定義していいのでそうとも言い切れない
それにFORTRAN <=> C では tarnspose() が使えるだろ?
転置関数ね
0670663
2013/08/28(水) NY:AN:NY.ANってことは行ってのがまず大事で、成分見つけるにはどの行の何番目か
って順序だと思うからやっぱり先に来るものをとにかく行としといたほうが
いいんですかね。
0671デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.AN背中にバカと書いてある
0672デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.ANいやそうではなく、さっきも言ったが極論すればC言語の配列には「列」という概念が元々ない
それを構文糖で列に見えるようにしてるだけなんで
0674デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.AN依存するのか、しないのか、それだけだ
/* アドレス線の意味づけなんか知らんやつのね */
0675デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.AN0677663
2013/08/28(水) NY:AN:NY.AN0678デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.ANCならgccでいいんじゃね
clangってC++11の機能の実装だけならgccより進んでるけど
それ以外の最適化とかはまだまだgccに負けてるらしいし
0679663
2013/08/28(水) NY:AN:NY.AN脳の疲労が半端ない
快楽につながってる人は間違いなく変態天才だ
0680デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.ANこの当たりを読んでもらえば俺の言ってる事に近いと思う
脳の疲労?JavaとかC#のようなGC言語の方がよほど変態的じゃないか?
0683デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.ANそれ多分慣れてないだけ
慣れたら何ともないよ
0684デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.ANコンテナでメモリリークが起きると非常にバグが取れにくい
GCはメモリリークが起きないと勘違いしているバカが組んだプログラムを直すのは
マジ一から書き直した方がいい位
スレ違いでした
お褒めにあずかり光栄です :-)
0686デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN0687 ◆QZschizDIU
2013/08/29(木) NY:AN:NY.AN0688デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN0689デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN0691デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN自覚のない馬鹿には何を言っても無駄
0692デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN0693デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.ANキーボードからアルファベット10文字を入力し、一番小さいものを返すプログラムですが、
5回しか入力できず、表示もうまくいきません。
http://pastebin.com/A29UKvJD
0694デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN一文字打つごとにEnterを押してない?
Enterも文字扱いだから、5回打った時点で10文字になるよ。
if (ch != '\n')・・・とか改行をはじく処理を入れるか、fgtes()みたいに
行単位で読み込む関数を使うかにすればうまくいくと思う。
0695デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.ANなるほど、そうだったんですね。
納得しました、ありがとうごじあます。
0696デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN0697デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN0698デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN0699デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN0700デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN0701デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.ANそうか?
常識かと
0703デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN0704デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN0705デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN情報流出して大変なんだろw
自演やあらしをしていた人達は
0706デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0707デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN落ちた。その場で落ちた。
0708デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN馬を自由に乗りこなす人間の違いがわかるかね?
0709デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0710デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.ANでも何のための面接なんですか.....
凄い悔しいです、今からセルフフェラチオしていいですか?
0711デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0712デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.ANうむ、食いちぎれ。馬に乗るためには邪魔なものだ
0713デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0714デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0715デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN登る山を間違えている可能性は高い
0716デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.ANそれを参照するものであり変数や値ではありません。有名な例で挙げられるのはC/C++でのメモリアドレスを表すポインタが挙げら
れると思います。」
この説明で落ちた。
0717デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0718デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0719デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.ANC/C++言語ではアドレス格納型とその演算を含めたものの総称。
有名な例だけど概念違う。
0720片山博文MZコスモ ◆T6xkBnTXz7B0
2013/08/30(金) NY:AN:NY.AN>「ポインタというのは、…(中略)…変数や値ではありません。」
ダウト!
0721デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN今のうちにポインタを簡潔に説明するスレを立てないと
0722デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0723デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.ANこの説明もおかしい。
そこにアクセスできるかは関係なく、
論理的位置情報を指し示すものであって自身は参照もなにもしない。
自分に酔った説明の割に内容がめちゃくちゃ。
0724デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0725デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0726デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.ANCじゃないポインタをドヤ顔で語ってるのか
0727デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0728デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN採用する予定なんて無いのに求人するのは普通にある
0729デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0730デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0731デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.ANそれ以上の意味で使う事なんて無いから、めんどくさい定義なんていらん。
0732デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN>参照
気軽に使える単語ではない
0734デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0735デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0736デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN型情報に関してはプログラマが責任を持つのが普通
0737デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0738デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0739デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN1ビットでも100ギアなら100ビットの情報を保持できることになりませんか?
こんな事考えた人いますか?
0740デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0741デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.ANシリアル通信のこと?
0742デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN原理的には可能じゃね? 情報を時分割して保持するって事だろ。
しかし仮に物理メモリ量が100分の一になったとしてメリット無いだろ。
計算速度は1/100になるし、100倍のメモリ積んだ方が安いし。
0743デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.ANそうですよね。速さは関係ないですか。
ではこういうのは無理ですか?
あ光コンピュータか。
0744デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0745デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.ANソ ー ス か ら 消 せ よ
0746デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.ANchar *a;
これってどっちが正しいの?
俺は上使ってるけど
0747デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0748デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.ANchar* func()
char *func()
どっち?
0749デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.ANchar *a, b;
0750デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.ANchar b;
0751デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.ANchar *a,b;は成り立たないのですか?
変数の違い?
0752デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN0753デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.ANint x int y = int x y
char *x y != char *x char *y
0754デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN0755デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN整形プログラム使うと下になるよ。
0756デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.ANchar txt = "123:456:789:abc:def:ghi・・・
char tx[3][100]
というようなデータがあります。
「:」を区切り文字にしてtx[0] = "123" , tx[1] = 456 , tx[2] = [789]
というようにtxという配列に代入したいです
VBだったらsplit関数で簡単に分割できるのですがCはまだよく分かっておらずどうすればいいかわかりません
最良な方法があればご教授下さい
よろしくお願いしますm(__)m
0757756
2013/08/31(土) NY:AN:NY.AN正しくは下記の通りです。
「:」を区切り文字にしてtx[0] = "123" , tx[1] = "456" , tx[2] = "789"
0758デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN0759デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN0760756
2013/08/31(土) NY:AN:NY.AN簡単でもいいのでサンプル頂けませんか?
0761デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN「宣言」が消えたらもっと訳わからん事態に陥るが?
0762デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN0763デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN又は
char *txt = "123:456:789:abc:def:ghi・・・
char txt = "123:456:789:abc:def:ghi・・・
こういう書き方は無い
いくらでもやり方はあるが…txのバッファにコピーしたいのなら
char txt[] = "123:456:789:abc:def:ghi・・・
char tx[3][100]
char*pc = txt; // txtの先頭アドレスを取る
int i, j;
for(i = 0; i < 3; ++i){
for(j = 0; *pc != ':'; ++j){
tx[i][j] = *pc++;
}
pc++; // ':'を抜いた次のアドレスに移す
}
0764デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN}
pc++
tx[i][j] = '\0'; // これを忘れると文字列の終端が定まらなくなる。
}
0766デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.ANただこういう処理は向いてないから素直にVBとかで良いと思う
0767デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN何でstrtok使わないん?
http://codepad.org/1CRLm7bf
0768デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.ANhttp://codepad.org/ez1PmVpO
0769デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN>「何でstrtok使わないん?
strtok() はウンコ
仕様をみてそれを判断できないのもウンコ
実装しろ馬鹿
0773デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.ANジェネリックな機能を無理やり実装しようとした結果だろう
ま,そうだね認めよう
しかしジェネリックなどという名前がつく前からCでは当たり前のことではあった
0775デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN意味不明
シングルスレッドなら普通に使えるだろ
0776デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN0777デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN区切り文字で切り出したい buff が複数,例えば二つあって,交互に strtok() を使うことができるか?
strtok() は内部に状態を持つから,それができない.内部にコンテキストを持つ関数が大概ウンコと判定してよい
strtok() は 「イケてない」設計だという lisp 屋さんのコメントが過去にあった
0779デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN0780デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN0781デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN例えば2つって件のは2つないだろ
いきなり仮定の話持ちだしてくるとかアホか?
0782デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN0783デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN業務なんかでウッカリ使われると地雷になる
大した機能でもないのにわざわざ有害物質を選択するのはおかしい
したがって右も左も分からない初心者に勧めるのは犯罪
0784デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN隠すんじゃなくて利点と欠点を両方教えるのが正しい気がするけど。
0785デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN今回の件ではたまたま strtok() でスマートに処理できることはよくわかっているがね.
ただ strtok() 自体はやっぱりウンコだ
strtok() で一つのバッファを処理する場合,そのバッファの処理が終わるまで次のバッファの処理に手をつけられないだろう?そんなこともわからんのか?
内部状態を持つ関数を平気で書く馬鹿にはわからんだろうがね.
早く実装しろ
0788デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.ANクロージャも内部状態を持つ関数とみなせるから悪だな
0789デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN言いがかりだけか?
0790デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN0791デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.ANbool strtok_malloc(struct r*,char*,char*);
bool strtok_next(struct r*,char*);
void strtok_free(struct r*);
だな。
0792デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN最下層オナニー賎民は
忘れたのか?C++のファンクタは俺は認める立場だ.ファンクタ内のメソッドが状態を持っていたら,それはウンコ.
コンテキストとコードは分けろ
http://toro.2ch.net/test/read.cgi/tech/1313183984/ のどこかに書いたから探してくれ
strtok_s(), stortok_r() はstrtok() と同じか?全くおんなじなのか?
俺は strtok() を叩いているんだ,strtok_r/s() を叩いているのではない.
strtok_s(), strtok_r() はコンテキスト保存用のポインタを呼び出し側に準備させているが,これは俺が前から http://toro.2ch.net/test/read.cgi/tech/1313183984/ で主張していた点だ.
天下のマイクロソフトが俺と同じことを考えているとは光栄だね.
0796デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN第一引数にNULLさえ使わなければ、
内部状態に関係なく正しい結果になると思う。
もちろん保証はしないけどな。
char s[] = "1,2,3,4"; //元の文字列
char *p1 = s;
for(char *p2 =strtok(p1, ",");
p2 != NULL;
p2 = strtok(p1))
{
printf("%s\n", p1);
p1 += strlen(p1) +1;
}
printf("%s\n", p1);
0797796
2013/08/31(土) NY:AN:NY.AN0798デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN「strtok_sはスレッドセーフとかいう高度なものらしい」
「strtokの方が簡単そうだから僕はこっちを使おう」
こうなるのが目に見えてるだろ
0799デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN分割するコードを自作するだろう
0800デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN結局ループで回すんだし。strchr くらいは使うかもしれないけど
0801デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN0802デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN0803デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.ANどっちがプログラマーとして将来性があるかは知らん
0804デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN来春から零細企業のプログラマー権営業をするものです。
0805デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN3で区切られているのならコロンは不要で無視したらいいのでは。
逆に3で区切られていないのなら最初に3で区切られた配列を用意しないです。
0806デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.ANstrtokを使った上で自分でも作ってるみるヤツが最強だろ
使いもせずにダメ出しするヤツはライブラリやフレームワークを使いこなせないし、作らないヤツはコピペ以外できないだろうし
0807デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.ANstrtokを使う奴 →犯罪者予備軍
0808デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.ANフィールドの状態を保存する変数str[100][100];を設定して
壁があれば1壁がなければ0として、範囲を外れた場所も壁があるとします。
迷路を自動的に作るアルゴリズム教えて下さい。
出発点はstr[0][0]でゴールはstr[99][99]にします。
壁で行き止まりになって行けなくなるという事態が無いようにしたいです。
0809デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.ANこの上なく気持ちわりいレスだな
0810デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN最初に正解ルートを作り、行き止まりを後から作るといい。
0811デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.ANプログラムお願いします。
0812デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.ANスレ立てるまでもない質問はここで 126匹目
http://toro.2ch.net/test/read.cgi/tech/1363522503/743
>> 743 名前: デフォルトの名無しさん [sage] 投稿日: 2013/05/13(月) NY:AN:NY.AN
>> 微妙
>> だいたいここに全部まとまってるから見とけばいい。リンク先含めて
>> http://d.hatena.ne.jp/yaneurao/20130125
最近の若い人間は相手を罵倒するのに自分の主観/感覚を述べることで相手を貶めたことにするのか?
これがいわゆる「いじめ」のやり方というやつか
生憎,お前が気持ち悪かろうとこっちの知ったことじゃないが
0814デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN0815デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN0816デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.ANC言語とは関係ない話だけど。
それは会社や案件によって違うので、上司や得意先に聞いてみるしかない。
ただ将来的に営業を担当するのであれば、詳細な仕様書が見積もり書に
添付されているほど、トラブル発生時の逃げ道が確保できるので
(営業的な意味で)安全だということは覚えておくべき。
例えば優秀な営業になるほど、得意先内部でも話が固まっていないような早期の段階から
開発案件に首を突っ込むことになったりする。当然、きちんとした仕様書なんか
どこにも無く、仕様変更の多発が予想される状況下で、見積もりをクレって言われてしまう。
その時、営業としてどうするか・・・そのあとの話は実際に会社に入ってから、上司にでも聞いてみて。
0817デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.ANそれを「オレが以前から指摘していた」、「オレが考えたのと同じ」とか自慢する不可触賎民もいるんだねえ。
挙句の果てに実装しろの連呼とか。あきれ返るわ
From: [770] ◆QZschizo.ptH <sage>
Date: 2013/08/31(土) NY:AN:NY.AN
>>767
>「何でstrtok使わないん?
strtok() はウンコ
仕様をみてそれを判断できないのもウンコ
From: [771] ◆QZschizo.ptH <sage>
Date: 2013/08/31(土) NY:AN:NY.AN
>>769
実装しろ馬鹿
From: [787] ◆QZschizo.ptH <sage>
Date: 2013/08/31(土) NY:AN:NY.AN
>>769
早く実装しろ
0818デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.ANでおk
0819デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.ANQの病気が悪化してるなw
0820デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN0821デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN出発点はstr[0][1]でゴールはstr[99][98]では?
つまり壁の分はどうするか?
お前は MS-Cv6 を買ったか?それには strtok_s() なぞはない
環境変数のことだったら「stdin を環境変数とはいわない」
0825デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.ANまた敗走か 不可触賎民 wwww
0826デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN0827デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.ANお前は MS-Cv6(1989)を買ったか?
0829デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN俺はMS-Cv6の時代から標準の strtok() は糞な仕様と見切っていたから一切使わずにやってきた.
その後マイクロソフトも strtok_s() とかを追加してきた.
俺様が特別偉いというわけではなく,普通誰しもが考えることだ,strtok() がウンコ仕様であるということに.
ま,そうことだね
お前,何をもって敗走とか判断したのか?
普通のおつむの持ち主なら strtok() の仕様をみれば即断即決で使うべきでないウンコ関数と判断する.
マイクロソフトも俺様も同じ判断だ.
コンパイラの発売時期を調べて何がいいたい?
0832デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.ANほかにいうことはなくなったか?
0834デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.ANそれを「オレが以前から指摘していた」、「オレが考えたのと同じ」とか自慢する不可触賎民もいるんだねえ。
挙句の果てに実装しろの連呼とか。あきれ返るわ
From: [770] ◆QZschizo.ptH <sage>
Date: 2013/08/31(土) NY:AN:NY.AN
>>767
>「何でstrtok使わないん?
strtok() はウンコ
仕様をみてそれを判断できないのもウンコ
From: [771] ◆QZschizo.ptH <sage>
Date: 2013/08/31(土) NY:AN:NY.AN
>>769
実装しろ馬鹿
From: [787] ◆QZschizo.ptH <sage>
Date: 2013/08/31(土) NY:AN:NY.AN
>>769
早く実装しろ
0835デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN0836デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN標準の範囲内でちゃんと無理なく解決つくのに
便所の落書きに哀願するQzってほんと哀れ・・・という表現にさえ及ばないな
普通のおつむの持ち主なら strtok() の仕様をみれば,他の資料を参照する必要などなく即断即決で使うべきでないウンコ関数と判断する.
strtok_r() の初出は POSIX.1-2001. らしいが,それはともかく初出を調べて何がいいたい?
>標準の範囲内でちゃんと無理なく解決つく
つまり,strtok() を捨てて適当に書き直すということか?それなら俺様の主張と変わらないのでは?
0839デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.ANQz先生は strtok の使用を許さない方針です?
0840デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN0841デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN0842デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.ANソフトウェアに賞味期限はない
0843デフォルトの名無しさん
2013/09/01(日) 00:02:53.930844デフォルトの名無しさん
2013/09/01(日) 00:06:38.14http://toro.2ch.net/test/read.cgi/tech/1371208925/531
> From: [531] ◆QZaw55cn4c <環境依存でごめんなさい>
> MSVC はよく知らんので mingw で示してくれんかのう
0845デフォルトの名無しさん
2013/09/01(日) 00:07:29.200846デフォルトの名無しさん
2013/09/01(日) 00:13:03.51何が「変わらない」?
strtok に手を染めてしまった汚物を
標準の枠内で無理なく消毒できる
static なり #define なり手段はいくらでもある
煽っても教えてやらんけど
strtok()のウンコ「仕様」をどうにかするのだったら適切な「仕様」になるようにstrtok()を書き直すしかないのでは?マイクロソフトもそうしてる
そりゃ所要の目的を達成すらだけであれば strtok() の制限を理解した上で使用するのも手だし当たり前,でも今はそんな話をしてはいない
>static なり #define なり手段はいくらでもある
static を使うとか strtok() の馬鹿さをそのまま引き継ぐ方向だろう?あんたも馬鹿なの?
#define?また時代遅れなものを‥‥.
動けばいいと思うよ,でも後で苦労するのはいやだなあ‥‥
express はただでくれるんだけど
自演でどうにかするのはアンチQZだよね
QZの自演は自爆自演だよ
0851デフォルトの名無しさん
2013/09/01(日) 00:55:20.78本当に独り善がりで気持ち悪いね
0852デフォルトの名無しさん
2013/09/01(日) 00:55:43.71> ふじこ
日本語でおk
0853デフォルトの名無しさん
2013/09/01(日) 00:57:57.58ふむふむ、なるほど
そんなものないよ
0855デフォルトの名無しさん
2013/09/01(日) 01:06:40.82問題ないと思ってるのに噛み付いたの?
0856デフォルトの名無しさん
2013/09/01(日) 01:15:49.91Qz先生の熱い思いを聞けて満腹ですわ
0857デフォルトの名無しさん
2013/09/01(日) 01:21:45.49何かすげーって思った。
0858デフォルトの名無しさん
2013/09/01(日) 01:22:01.45VC6 expressなんてものはない WWWW
0859デフォルトの名無しさん
2013/09/01(日) 01:27:35.89>そりゃ所要の目的を達成すらだけであれば strtok() の制限を理解した上で使用するのも手だし当たり前,でも今はそんな話をしてはいない
strtokの制限内の>>767に因縁つけといて、すっかり忘れて見苦しい言い訳
今すぐ死ね。
http://toro.2ch.net/test/read.cgi/tech/1371208925/531 は express 使ったんだよ,だってただだもん
金出してMSのを買ったのは MS-C 以来だねえ,おっとDOSエクステンダで動いてたから MS-Cv7 か 8 だったかかもね忘れたけど
逃避というやつ‥‥明日が怖い‥‥
0863デフォルトの名無しさん
2013/09/01(日) 01:50:45.75>#define?また時代遅れなものを‥‥.
公開オナニーでは多用してるようだが
http://codepad.org/ZhlBW2Cm
#define xmalloc(x, y) malloc(x)
#define xfree(x, y) free(x)
#define xrealloc(x, y, z) realloc(x, y)
#define xmallocdump()
この場合はコスト零だからねえ,もういちいち xmalloc() を malloc() に書き換えるとかめんどくさいし〜
ま,てきとーですわ
0865デフォルトの名無しさん
2013/09/01(日) 02:04:17.20構うだけ無駄なんだよ
これ何時の何するやつだったの?
0867デフォルトの名無しさん
2013/09/01(日) 03:48:55.20a=(43%50)/(12+1/2);
printf("%d\n",a);
a=(44%50)/(12+1/2);
printf("%d\n",a);
a=(45%50)/(12+1/2);
printf("%d\n",a);
a=(46%50)/(12+1/2);
printf("%d\n",a);
a=(47%50)/(12+1/2);
printf("%d\n",a);
a=(48%50)/(12+1/2);
printf("%d\n",a);
a=(49%50)/(12+1/2);
printf("%d\n",a);
a=(50%50)/(12+1/2);
printf("%d\n",a);
これの結果が3,3,3,3,3,4,4,0になるんですがなぜ4が出てくるのでしょうか?
そだ,つっこんどかないと.MSVC6 と MS-Cv6 とは別ものだよん
1/2 == 0
12+1/2 == 12
48%50 == 48
(48%50)/(12+1/2) == 48/12 == 4
どうなってほしいの?
0870デフォルトの名無しさん
2013/09/01(日) 04:14:44.35回答ありがとうございます
3,3,3,3,3,3,3,0になってほしいんです
ヒントをもらってintをfloatに変更したんですが
すべて0になってしまいます
0871デフォルトの名無しさん
2013/09/01(日) 04:31:16.53http://codepad.org/wl2MFlov
>>871 の手法で.演算子のオペランド(被演算数)の一方でも double になったら,結果は double として得られる
なお,float は, float であることを意識して float にしている,というのでなければ不適,double にしときなよ
http://codepad.org/NHDsx6Zw
0873デフォルトの名無しさん
2013/09/01(日) 09:16:37.44a=(49%50)/(12+1/2.0);
0874デフォルトの名無しさん
2013/09/01(日) 09:36:13.17> Date: 2013/09/01(日) 01:48:55.18
>
> >>855 >>859
> そういわれてみれば忘れてたねえ
> でも,>>767 を否定したつもりじゃないんだよ,strtok() を否定しただけなんだよ
>
> ごめんね
見苦しい言い訳は止めて今すぐ死ね >>767を否定してるじゃねーか
スカトロマニアのお前以外にはうんこは侮蔑の単語
> 770
> 仕様をみてそれを判断できないのもウンコ
0875デフォルトの名無しさん
2013/09/01(日) 10:19:22.5690年代には話もあったようだけど、死ねよ老害。
0876デフォルトの名無しさん
2013/09/01(日) 10:22:25.97ほう?
論破してあげるから詳しく
ISO:IEC 9899:1999 6.5.2.2.6
If the expression that denotes the called function has a type that does not include a prototype,
the integer promotions are performed on each argument, and arguments that have type float are promoted to double.
These are called the default argument promotions.
0879デフォルトの名無しさん
2013/09/01(日) 10:36:36.03煽りはいいから議論し給え
0881デフォルトの名無しさん
2013/09/01(日) 12:01:03.03常に論破されまくりのウンコが 議論 wwww
死ね老害 wwww
煽りはいいから議論し給え,それともできないの?
0883デフォルトの名無しさん
2013/09/01(日) 12:59:03.42最近はGPU使うからfloatも出番が増えて来たな。
floatの方が速いCPUもあるし。
0884デフォルトの名無しさん
2013/09/01(日) 13:36:31.49不可触賎民が議論 WWWW
0885デフォルトの名無しさん
2013/09/01(日) 14:03:52.59とんでも屁理屈を展開して相手を呆れさせたもの勝ち、の勝負は
議論とは言わない。
0886デフォルトの名無しさん
2013/09/01(日) 15:05:03.33int n1=123;
int n2=1;
int *pt = &P[n1][n2] ;
int d = (int)(pt - &P[0][0]);
printf("n1 = %d n2 = %d\n",d/2,d%2);
↑こんなふうにしてn1とn2を求めてるんだけど
もっと短く書く方法知ってたら教えて下さいm(_ _)m
0887デフォルトの名無しさん
2013/09/01(日) 15:36:07.280888デフォルトの名無しさん
2013/09/01(日) 15:37:04.060889デフォルトの名無しさん
2013/09/01(日) 15:38:19.400890デフォルトの名無しさん
2013/09/01(日) 16:27:16.84ありがとうございます
短く書こうと思ってましたが、再計算すると遅くなりそうなので
やっぱり計算速度の方を優先することにしました
0891デフォルトの名無しさん
2013/09/01(日) 16:28:27.91煽ってるのは別人なのにな
いきなりそんなレッテル張ってくるなんて
同じ事を言ってるご本人様かそのご同類しかいない
0892デフォルトの名無しさん
2013/09/01(日) 16:28:56.600893870
2013/09/01(日) 16:37:27.00大変勉強になりました
ありがとうございます
0894デフォルトの名無しさん
2013/09/01(日) 17:32:55.69Cのプログラム実行しようとしたらやたら音がうるさいけどなんで?
0895デフォルトの名無しさん
2013/09/01(日) 17:43:10.570896デフォルトの名無しさん
2013/09/01(日) 19:46:37.42環境はwin7 msvc2010です
0897デフォルトの名無しさん
2013/09/01(日) 20:06:47.360898デフォルトの名無しさん
2013/09/01(日) 20:10:43.37ショートカットで開く以外の方法?
0899デフォルトの名無しさん
2013/09/01(日) 21:07:23.420900デフォルトの名無しさん
2013/09/01(日) 21:21:14.48コンパイル&実行できないんだろ、かなり疑問なんだが。
0901デフォルトの名無しさん
2013/09/01(日) 21:29:58.96怖いよ。
0902デフォルトの名無しさん
2013/09/01(日) 21:32:50.61ならtxtでよくね?
.cで保存するのとtxtで保存するのに差はなに?
0903デフォルトの名無しさん
2013/09/01(日) 21:34:24.840904デフォルトの名無しさん
2013/09/01(日) 22:30:22.47ウイルス作成が捗るな
0905デフォルトの名無しさん
2013/09/01(日) 23:07:54.45Make・・・
0906デフォルトの名無しさん
2013/09/01(日) 23:29:04.51Cで保存?
何言ってんのお前
お前の書いたゴミコードをWindowsがCで書かれてると認識してるとでも?
0907デフォルトの名無しさん
2013/09/01(日) 23:43:25.00拡張子の話ですよ。
何故.cとしないとコンパイルできないのかなと。
コンパイル前の処理を.cで保存することで行ってるんですか?
例えば.jpeg保存だとビットマップから圧縮処理してるでしょ。
.cは何か処理してるのかなと。
0908デフォルトの名無しさん
2013/09/01(日) 23:46:21.68shebang もない
0909デフォルトの名無しさん
2013/09/01(日) 23:49:09.590910デフォルトの名無しさん
2013/09/01(日) 23:55:16.17どうしてもやりたいならレジストリをいじればなんとかなるだろう
0911デフォルトの名無しさん
2013/09/01(日) 23:55:32.38やっぱりそれだけの理由ですかね?
てか拡張子って自由なんですねw
今適当な.tekitouでやったら拡張子認識されたwww
0912デフォルトの名無しさん
2013/09/02(月) 00:07:12.36拡張子なんてただのファイルとソフトの対応付けの為の物だからね
例えば.txtをクリックするとメモ帳が開くのは対応づけされてるからだ
0913デフォルトの名無しさん
2013/09/02(月) 00:16:41.770914デフォルトの名無しさん
2013/09/02(月) 00:37:50.230915デフォルトの名無しさん
2013/09/02(月) 00:40:13.120916デフォルトの名無しさん
2013/09/02(月) 01:44:21.03USBメモリってなんで2倍ずつの容量なんですか?
32G 64G 128G 256G 512G
C言語も
char 1byte
int 2byte
double 4byte
float 8byte
って2倍ずつですよね?
何故?
0917デフォルトの名無しさん
2013/09/02(月) 01:48:45.70>>914
0918デフォルトの名無しさん
2013/09/02(月) 02:00:07.35今すぐLinuxをインストールしてターミナルからの操作限定で使ってみろ
Linuxは癖の少ないCentOS辺りがおすすめ
0919デフォルトの名無しさん
2013/09/02(月) 02:05:13.180920デフォルトの名無しさん
2013/09/02(月) 02:06:27.15・コンピュータの基本(主にCPU
・ハードウェア(メモリその他
・OS
・日本語
・英語
・書籍等を買う資金
最低限この辺り学んだり準備してからプログラムを学べ
0921デフォルトの名無しさん
2013/09/02(月) 02:06:29.56最上位ビットが1か0のほうがいいのにややこしくないですかね?
0922デフォルトの名無しさん
2013/09/02(月) 02:09:50.79機械から見て計算が簡単だから
いい加減ここじゃない質問スレ行け
0923デフォルトの名無しさん
2013/09/02(月) 02:11:01.14IEEEに文句言え
0924デフォルトの名無しさん
2013/09/02(月) 02:15:50.97IEEE?
IEEEってCPUとか作ってる会社ですか?
0925デフォルトの名無しさん
2013/09/02(月) 03:50:05.99>最上位ビットが1か0のほうがいい
じゃあ、お前が作れ。
C言語で補数を使うように強制されているわけではない。
最上位ビットで±を表しても、C言語的には問題ない
0926デフォルトの名無しさん
2013/09/02(月) 04:14:33.05超有名な学会だよ
標準規格の策定もやっている
たぶん>>923はIEEEの浮動小数点の規格と、一般的なマイナス表現を勘違いしていると思われる
http://ja.wikipedia.org/wiki/IEEE_754
補数を使う理由は、>>922が言っているように、計算が簡単になるから。
つまり、減算の命令が必要なくなって、加算命令だけで引き算ができる。
これによって、少ないトランジスタで多様な計算ができる
あと、符号ビットを反転しただけだと、-0 っていう値が存在してしまうでしょ。
数学の分野ではマイナスゼロを表現したい人たちもいるようだけど、多くの人は... -2, -1, 0, +1, +2 ...という風に連続してくれているほうが助かるはずだよ
0927デフォルトの名無しさん
2013/09/02(月) 04:20:58.15今すぐLinuxをインストールしてターミナルからの操作限定で使ってみろ
Linuxは癖の少ないCentOS辺りがおすすめ
0928デフォルトの名無しさん
2013/09/02(月) 04:25:55.06その方法じゃ問題あるし、そもそもC言語の仕様って、符号ビットがマイナスのときは2の補数か1の補数使えって言ってなかった?
まぁ仕様を無視したオレオレC言語を作ってみるのもいいと思うけど
0929デフォルトの名無しさん
2013/09/02(月) 04:50:56.290930デフォルトの名無しさん
2013/09/02(月) 04:57:50.370932デフォルトの名無しさん
2013/09/02(月) 08:26:36.89「浮動小数点表現の指数部分は負数を補数で表現しない」なんて制約を誰が作ったんだ?
0933デフォルトの名無しさん
2013/09/02(月) 08:54:39.57QZの脳髄に棲み着いてる悪魔が作ったんだよ
0934デフォルトの名無しさん
2013/09/02(月) 09:08:36.59だからqzは悪くない
悪くないからqzは悪魔払いしてもらうまで書き込むな
勝ち負けなんてどうでもいいのでは?
0937デフォルトの名無しさん
2013/09/02(月) 13:13:34.310938デフォルトの名無しさん
2013/09/02(月) 14:04:06.64何がしたいのかねこいつは・・
0939デフォルトの名無しさん
2013/09/02(月) 14:22:13.00頭おかしいんだよ
0940デフォルトの名無しさん
2013/09/02(月) 14:56:17.10どんな問題?
規格の6.2.6.2を参照。絶対値表現も許されているよ。
0941デフォルトの名無しさん
2013/09/02(月) 15:56:22.480942デフォルトの名無しさん
2013/09/02(月) 16:24:24.83人間とのDNA一致率が70%
0943デフォルトの名無しさん
2013/09/02(月) 16:51:38.070944デフォルトの名無しさん
2013/09/02(月) 16:52:44.200945デフォルトの名無しさん
2013/09/02(月) 17:13:21.580946デフォルトの名無しさん
2013/09/02(月) 17:22:42.59それはウニに失礼だ
ウニは人間とは違う残りの30%のDNAにもちゃんと意味がある
しかし朝鮮人の人間とは違う30%のDNAは、近親相姦を繰り返す事により
修復不能になってしまったクズの役立たずのDNAだ
もうどうやっても人間には戻れんね
0947デフォルトの名無しさん
2013/09/02(月) 20:11:23.16∧_∧
( ´∀`) あげ?
..\ (/u ノ
\ 〈/フ'フ
\ ∠∠/
\
\ \ 彡
.\ .\
.\_/| ̄ ̄ ̄ ̄ ̄|
. | .|
0948デフォルトの名無しさん
2013/09/02(月) 23:17:12.31「cwnd」ってなんですか?
フレームを作りたいんですがこれいじるのでしょうか?
使い方載ってるサイトがここしかなくてちょっとわからないです。
0949948
2013/09/02(月) 23:21:57.410950デフォルトの名無しさん
2013/09/02(月) 23:26:36.52C++だし
0951948
2013/09/02(月) 23:27:39.99これってなんでこんなに複雑なんですか?何一つ理解できないんですけど。
JavaだとFrame("title");で終わりですよね?
何故?というか教えて下さい。
0952デフォルトの名無しさん
2013/09/02(月) 23:35:46.210953デフォルトの名無しさん
2013/09/03(火) 00:04:22.44MFCスレとかC++スレが良い。この話をここでやるとスレが脱線する
0954デフォルトの名無しさん
2013/09/03(火) 00:08:46.620955デフォルトの名無しさん
2013/09/03(火) 00:38:24.42グローバル変数として
double a1[10][20] = { 数値 };
double a2[10][20] = { 数値 };
:
がありこれらをまとめて3次元配列としようとしています。
自分なりに調べたのですが↓とするとmake時にWarningが出ます。
double (A*)[10][20] = { &a1, &a2, ... };
正しい書き方をご存知の方いらっしゃいますでしょうか。
0956955
2013/09/03(火) 00:53:36.90↑はdouble (A*)[10][20] ではなくdouble (*A)[10][20] でした
0957デフォルトの名無しさん
2013/09/03(火) 01:02:13.21typedef double Ary[10][20];
Ary ary[10][20];
↑よかAryのポインタの配列の方がいいんじゃね?
Ary *ary[10][20];
0958955
2013/09/03(火) 01:13:41.32なるほど、typedefを使用すればいいのですね
そのまま書くことのみを考えてしまってました
いまはビルド環境がなくすぐの確認は出来ないですが、明日作業場で確認します
ありがとうございました
0959デフォルトの名無しさん
2013/09/03(火) 01:24:38.80配列へのポインタ配列
ちなみに (*a[i])[j][k] なんて書き方が必要なのは、配列へのポインタとポインタ配列を
混ぜると仕方がない
#include <stdio.h>
double a1[2][2] = { {1.0, 2.0}, {3.0, 4.0} };
double a2[2][2] = { {5.0, 6.0}, {7.0, 8.0} };
int main(void)
{
double (*a[])[2][2] = { &a1, &a2 };
int i, j, k;
for (i = 0; i < 2; i++) {
for (j = 0; j < 2; j++)
for (k = 0; k < 2; k++)
printf("%f ", (*a[i])[j][k]);
putchar('\n');
}
return 0;
}
0960デフォルトの名無しさん
2013/09/03(火) 04:10:17.240961デフォルトの名無しさん
2013/09/03(火) 07:22:53.96for(i=0 ; i>255 ; i++){
a++;
}
return a;
}
これで255が返るはずなんですけど値が0になってしまうんですがなぜでしょうか?
0962デフォルトの名無しさん
2013/09/03(火) 07:37:38.660963デフォルトの名無しさん
2013/09/03(火) 07:40:11.150964デフォルトの名無しさん
2013/09/03(火) 07:52:31.640965デフォルトの名無しさん
2013/09/03(火) 07:52:37.230966デフォルトの名無しさん
2013/09/03(火) 21:49:45.90#include <stdio.h>
int main(void)
{
printf("aho");
return 0;
}
これでコンパイルしたらコンパイルエラーとして
コンパイラに内部エラーが発生しました。
_start not defined
って出てくるんですがどういうことがまずいんですか?
0967デフォルトの名無しさん
2013/09/03(火) 22:04:01.50エラーから察するにコマンド打つときに恐らく.libか.oファイルの指定が足りてない
それ以上は環境がわからないので答えようがない
0968955
2013/09/04(水) 00:40:21.80959さんの方法が想定していたものに一番近かったので採用させていただきました
ありがとうございます
私の中ではa[i][j][k]の形となるかな、と想定していたのですが
実現するにはmemcpy等を使用する冗長なコードしかなさそうです
ともあれお蔭様で解決することができました
typedefの案を下さった>>957さん、>>959さん
重ねてありがとうございます
0969紅光の騎士ライジングノヴァ ◆sWBUz7TGM2
2013/09/04(水) 01:12:10.07document.getElementByID('test').innerHTML="テストだぜベイビー";
とかさ、
C的にやるなら構造体用意して値入れてアドレス渡して画面を際描画でしょ?
JavaScript作った奴はマジで頭悪いと思う
0970デフォルトの名無しさん
2013/09/04(水) 01:15:12.390971デフォルトの名無しさん
2013/09/04(水) 01:25:04.46いやいや これでいいやろ
#include <stdio.h>
double a1[2][2] = { {1.0, 2.0}, {3.0, 4.0} };
double a2[2][2] = { {5.0, 6.0}, {7.0, 8.0} };
int main(void)
{
double (*a[])[2] = { a1, a2 };
int i, j, k;
for (i = 0; i < 2; i++) {
for (j = 0; j < 2; j++)
for (k = 0; k < 2; k++)
printf("%f ", (a[i])[j][k]);
putchar('\n');
}
0972デフォルトの名無しさん
2013/09/04(水) 01:26:47.96Googleが自分のシェアにモノを言わせて延命させちゃったんだよな
0973デフォルトの名無しさん
2013/09/04(水) 01:47:50.70本当やね
これで行けちゃう
double a1[2][2] = { {1.0, 2.0}, {3.0, 4.0} };
double a2[2][2] = { {5.0, 6.0}, {7.0, 8.0} };
int main(void)
{
double (*a[])[2] = { a1, a2 };
int i, j, k;
for (i = 0; i < 2; i++) {
for (j = 0; j < 2; j++)
for (k = 0; k < 2; k++)
printf("%f ", a[i][j][k]);
putchar('\n');
}
0974デフォルトの名無しさん
2013/09/04(水) 02:47:53.090975デフォルトの名無しさん
2013/09/04(水) 03:27:22.590976デフォルトの名無しさん
2013/09/04(水) 03:31:45.55デバッガ導入しないとまともに使えないカスJS
0977デフォルト名無しさん
2013/09/04(水) 06:08:43.01コンパイラを書けよ
0978デフォルトの名無しさん
2013/09/04(水) 06:38:00.38エラーメッセージから察するに tcc(Tiny C Compiler) かな。
「学習用C言語環境」でもインストールしたんだろうか。
コマンドプロンプトで直接コンパイル(>tcc test.c)すると動いたよ。
学習目的であっても、最初に触るCコンパイラは Microsoft Visual C
(Windows)、あるいはgcc(Linux)がオススメだよ
0979デフォルトの名無しさん
2013/09/04(水) 06:48:45.74Cで書いてコンパイルしたやつを埋め込まないとそういうの使えないようにしとけボンクラ。
0980デフォルトの名無しさん
2013/09/04(水) 06:59:51.91金儲けのチャンスだったりする。痛い目に遭ったクライアントは、次からは
少し高い金出しても、腕のいい職人を探してサイト作らせようとするから。
おっと、ここはC言語スレだったし
0981デフォルトの名無しさん
2013/09/04(水) 07:55:58.89Cみたいにコンパイルしてしまうならそういった状況は減るだろう
0982デフォルトの名無しさん
2013/09/04(水) 09:41:33.11ブラウザにも実装すべき。
フラッシュとジャバアプレットはあの領域内でしか
動作しないから役不足。
あのまま全画面フラッシュになれば
領域がブラウザのクライアントエリアと一致するからまだ良かったんだけど
どっかの馬鹿がジャバスクリプトマンセーしたせいで
こんなことになった。
0983デフォルトの名無しさん
2013/09/04(水) 10:11:35.860984デフォルトの名無しさん
2013/09/04(水) 10:26:44.460985デフォルトの名無しさん
2013/09/04(水) 13:53:30.710986デフォルトの名無しさん
2013/09/04(水) 14:47:50.99if(!a) は0の時だけ、真になるってわかったんですけど
if(a != b) の場合はどうなるんですか?
0987デフォルトの名無しさん
2013/09/04(水) 15:06:27.41「a != b」はaとbが等しいなら0、aとbが異なるなら1になる。
整数だったら、
if(a != b)とif(a-b)の分岐は一致するだろう。たぶん。
0988デフォルトの名無しさん
2013/09/04(水) 15:30:08.3344行目の
if (ch1 != ch2) {
printf("ファイルの内容が %lu バイト目で異なります", l);
same = 0;
これ意味がわからないんだけど?
正しいなら一致してるで・・・
0989デフォルトの名無しさん
2013/09/04(水) 15:31:53.85a != b
は両辺からbを引くことで
a - b != 0
になるからねぇ。
しかし、3箇月も経って>986の質問するようだと……
0990デフォルトの名無しさん
2013/09/04(水) 15:33:29.34ch1とch2が等しくないから「異なります」なんだろ。
どこに疑問が?
0991デフォルトの名無しさん
2013/09/04(水) 15:45:17.08読み込みバッファ用意するくらいにはなってて欲しいよね
0992デフォルトの名無しさん
2013/09/04(水) 16:27:41.03読み込みバッファ使ってるじゃん
0993デフォルトの名無しさん
2013/09/04(水) 16:57:12.640994デフォルトの名無しさん
2013/09/04(水) 17:14:49.680995デフォルトの名無しさん
2013/09/04(水) 17:25:00.020996デフォルトの名無しさん
2013/09/04(水) 17:35:16.830997デフォルトの名無しさん
2013/09/04(水) 17:40:37.650998デフォルトの名無しさん
2013/09/04(水) 18:41:14.840999デフォルトの名無しさん
2013/09/04(水) 19:13:42.88そのプロセスが確保できるスタックなりヒープなりの空き領域による
そういうことを聞いているんじゃなくて?
1000デフォルトの名無しさん
2013/09/04(水) 19:17:27.4110011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。