「C実践プログラミング」 でCの文法、make、gdbなど、基礎を習得 ↓ 「C言語ポインタ完全制覇」 or 「秘伝C言語問答 ポインタ編」 でポインタに関して完全理解する ↓ 「エキスパートCプログラミング―知られざるCの深層」 でスタック、ヒープ、リンカ、ローダなど周辺知識を習得 ↓ 「C言語によるオブジェクト指向プログラミング入門」 で大規模プログラムの作り方を学ぶ ↓ 「C言語デバッグ完全解説」でバグに強いプログラムの記述法をマスター ↓ 「Code Complete(上)(下)」でより良いC言語プログラムとは何かを各人で考察する ↓ 神の誕生
あ、タイトル間違ってるなw 実質98で頼むわ。 スレ立て謝礼でX Protocol教えてくれんか?
5 :
デフォルトの名無しさん :2012/02/25(土) 22:45:04.94
宿命はよ
>>2 その本しらんけど、
「大規模開発」と「オブジェクト指向」は等価じゃないと思うんだが?
>>6 タイトルと内容が異なることは往々にしてあるんだから、知らんなら言いがかり付けるなよ。
その本は俺も知らんが。
また今日もソースコードでオナってもた 綺麗なコード見ると美人に見えてくる そうだ、明日は可愛い娘を抜こう
>>7 ああ、たしかに悪い。
しかし、いきなり特定書籍を推薦するスレだろうか? と思うけどな。
10 :
デフォルトの名無しさん :2012/02/25(土) 23:04:36.15
え?
12 :
デフォルトの名無しさん :2012/02/25(土) 23:12:45.60
宿命はよ
引数をクリップボードにコピーするプログラムなんですがUNICODE文字セットのビルドでうまくいきません ユニコードビルドで引数にハートの入った文字をクリップボードにコピーさせたいんです マルチバイト文字セットのビルドで引数もマルチバイト文字だとうまくいってるようにみえるんですが… #include <windows.h> #include <tchar.h> int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nShowCmd) { HGLOBAL hText; int iLength = _tcslen(lpCmdLine); _TCHAR *pText; if (iLength == 0) { return 0; } hText = GlobalAlloc(GMEM_DDESHARE | GMEM_MOVEABLE, iLength + 1); if (hText) { pText = GlobalLock(hText); if (pText) { OpenClipboard(NULL); EmptyClipboard(); lstrcpy(pText, lpCmdLine); GlobalUnlock(hText); SetClipboardData(CF_TEXT , hText); CloseClipboard(); } } GlobalFree(hText); return 0; }
>>13 スレが違う。ここで聞かれても、それは関数ポインタの宿命としか答えようがない。
宿便だな。
16 :
デフォルトの名無しさん :2012/02/26(日) 00:35:31.06
おいらは宿なし。下痢腹なので。
おまえらレベルにもなると本をほとんど読まないでC言語をゴリゴリ書いてるの? おれはいつも本見ながらだけど
本は読まないけどやたらとマニュアルページで引数の順番とか確認する。
googleというマニュアルを使ってます。
参照するのは演算子の順位表だけだな。
それは迷うときは余計にカッコつけるから見ないw
余計なカッコをつけたくないから見る。
一々調べるよりはカッコつけるほうが速いだろ
ち、カッコつけやがって・・・
関数ポインタでないと出来ない事ってなんだろ?
ジャンプテーブルとか仮想関数っぽい事
ジャンプテーブルが固定なら、手間はかかるけど関数ポインター無しでも可能だよな。 関数ポインターの使い所が、「ジャンプ相手を動的に変えることが出来る」なら 例えばジャンプ先func1(int n)、func2(char s)を切り替えたい場合、引数をどうやって渡し分けるのか判らん。
どんな時にそれが必要なのかちょっと想像つかない。
>>25 状態遷移表とアクションを結びつけるのに使ったりする。
パーサとか。
>>255 なければできないことってのはないな。
コールバックとか無しでやるのはまぁちょっと面倒だけど。
>>27 引数を共用体にするか、void *を渡すようにするのが一般的だと思う。
/* 共用体 */
typedef union {
int n;
char s;
} T_Arg;
void (*f[])(T_Arg param) = {func1, func2};
/* void * */
void (*f[])(void *pParam) = {func1, func2};
33 :
デフォルトの名無しさん :2012/02/26(日) 07:16:37.17
で、宿命は?
引数をintベースにして、呼び出し側はcharの時は(int)でキャストして 呼び出され側は、charの範囲かどうかチェックすればいいんじゃないの? 関数ポインタ使うのにそういう設計したい理由がわからんけどね
>>34 >引数をintベースにして、
それでいいなら、関数側の引数をintで定義しちゃうんじゃない?
引数の使い分けが問題になるのは、整数型以外に、構造体や文字列を
渡すケースがあるときでしょう。
>関数ポインタ使うのにそういう設計したい理由がわからんけどね
Cベースのフレームワークだと、普通のやり方だよ。
構造体、共用体を引数にするならわかるけど サイズが固定化しにくいのを引数にして、共通化しようってのがわからんのよね
つまりwnd_procでlParamにポインタを渡す意味が分からないと言っているんだな。
そんな過去の遺物の話を出してもしょうがないだろ。
過去の汚物の溜まり場なんだから過去の遺物の話が出てきてナンボだろう それくらいは生温かい心で察してやれよ これも宿命だ
ヘボがうるせー。
クロージャーがサポートされりゃ、その過去の遺物とは決別できる。 でも、できてないって事は、この点に関してはCが開発された当時から 何の進化もしてないってことだよ。
お前がな。
別にクロージャがないから決別できないって話じゃないしな。
×クロージャーがサポートされりゃ、その過去の遺物とは決別できる。 ○クロージャがサポートされれば、オメーのような過去の汚物を切り捨てられる。
お前の負けwww
Cにクロージャを求めるのはお門違いだとおもう 機械語に落としにくいものはCにはいらない
C++にはそのうち入りそうだけどな。 関数ポインタで十分。 宿命はよ。
それじゃあCPUにクロージャ機能を詰み込めばいい
>>49 C++はlambdaの醜さに絶望したので決別することにした。
別にCやC++でわざわざそんなもの使う意味もないけどな。
52 :
デフォルトの名無しさん :2012/02/26(日) 10:37:49.80
宿命はよはよ
lambdaを使う意味はあるぞ。関数の命名という苦行から解放される。
l(), a(), m(), b(), d(), a2()
意味ねーw
56 :
デフォルトの名無しさん :2012/02/26(日) 12:12:52.42
宿命はよよ〜
今日の宿便はよでろ
BASICもどきになってないだけましでしょ、C
何がだ。 どうせCもBASICもろくに使ったこともないんだろ。
今、reverce関数を作ってるんだが、関数に配列渡すと、配列全体のサイズが分からなくなるんだが、配列全体のサイズを別に引数に渡さなくても良い方法って無いかな?
http://ideone.com/e6lAU このコードのreverce関数のint sizeが必要ないreverce関数を作りたい
×reverce ○reverse
×befor ○before
苦行ってのはキーボード打つのが苦手のことを言ってるの?
C++ならできる。Cでは無理。
だね
C++でも無理だろ。
>>63 バカ? 「命名」という行為になんでキーボード打たなきゃならないんだよ。
配列の頭かケツにサイズをつっこんどけばおk
C++自慢したいなら他でやったら
>>66 こういう「無理(できない)」と断言できる奴の精神構造がわからない。実例示されたらどうするんだろう。
「できる」なら自分が知っていれば断言できるけど。
>>71 vector使うとか、ふざけたこと言うなよ?
>>61-62 おおう・・・
コードと関係ないけど、thanks
>>64-66 ,68
出来ないのね・・・
ありがとう。
sizeofに配列渡した値が関数の外と内で違うのはびっくりしたよ
文字列なら、終端文字で何とかなるのに、intの配列だとそう言うの無いんだね・・・
>>73 int v[]は*vと書いてるのと同じだからね。ポインタのサイズになるわけよ。
>>71 ゆとりか。
1と1を足して3にできますか?
にもお前は答えられないんだな。
そういう算法を発見、発明すればいい
人間は空を飛べない ← 飛行機で鳥よりも高く、速く飛べる
79 :
デフォルトの名無しさん :2012/02/26(日) 13:54:55.41
さすが、平均もわかってないゆとりばかりだな。
>>72 テンプレート使って配列の要素数取れるって知らないのか?
2chで良かったな。これから「無理(できない)」って断言するときは気を付けろよ。
悪魔の証明を出来る、と言い切る精神構造がよく判らん、というだけの事だろ。
宿命がどんどん増えていくな。
>>71 出来ないと知っているので、無理って断言しても構わないでしょ。
間違いだと思うなら実例示せばいいじゃない。
断る
>>80 お前、ろくに知らずによく言えたもんだな。
>>80 提示出来ないなら大口叩かず、ヘソ噛んで寝とけ
>>81 ああ、お題は可変長配列か。無理で正しいわ。スマン。
>>94 2chで良かったな。わかったらこれから
>>80 みたいなことを言うときは気をつけろよ。
96 :
デフォルトの名無しさん :2012/02/26(日) 14:15:20.28
宿命はよ
可変長って言っても、確保されてればどっかに長さをもってるはずだから そこ覗けばできないことも無いような
持ってませんよw
99 :
デフォルトの名無しさん :2012/02/26(日) 14:22:47.89
>>97 もちろん実装によるがそんなの持つのはよっぽど特殊なものだけだろうね。
>>97 テンプレートはコンパイル時に決定しなきゃならないから無理だろう。
え、長さがわからないのにどうやって使い回しするんだ、OSとかは
102 :
デフォルトの名無しさん :2012/02/26(日) 14:30:39.42
OS関係ないけどな。
mallocのソースとか見たことないの?
104 :
デフォルトの名無しさん :2012/02/26(日) 14:32:21.78
>>101 無駄なものは持たない。
それがCの基本思想だからさ。
>>101 それを思いつかないバカを拒絶する。
それがCの基本思想だからさ。
言語上は無駄なものは持たないってだけで 低レベルな所では持ってるんじゃあ
107 :
デフォルトの名無しさん :2012/02/26(日) 14:35:46.55
>>106 そういう隠し事をしないってのもCの基本思想さ。
無駄な物を多く持つよ。
可変長の配列の管理コード書いたことありませんって言ってるの?
そうだそうだ
開発者Urban Mullerがコンパイラがなるべく小さくなる言語として考案した。 実際、Mullerが開発したコンパイラのサイズはわずか123バイトであった。 Brainfuckはチューリング完全でその簡潔さから多くの派生言語を生み出すこととなった。 Brainfuck - Wikipedia Lazy K (れいじーけー) は組み込み関数が3つしかない、純粋関数型言語である。 粋関数型言語として、チューリング完全でありながら、絶対必要なエッセンスだけを抜き出したプログラミング言語である。 使用するにも、処理系を実装するにも、ラムダ計算の知識が必要である。 Lazy K - Wikipedia HQ9+は4つの命令だけで構成されており、それらは'H'、'Q'、'9'、'+'という単一の文字で示される。 HQ9+はチューリング完全ではないが、いくつかの問題に対しては極めて効率的である。 HQ9+ - Wikipedia KEMURI(ケムリ)は、BrainCrash、HQ9+についで世界で3番目に短くHello worldを出力するプログラムを記述できる。 KEMURI_PLUSではチューリングマシンで実行可能なあらゆるプログラムが記述できる(チューリング完全である)とされている。 KEMURI (プログラミング言語) - Wikipedia
計算理論で、ある計算のメカニズムがチューリング機械と同じ計算能力をもつとき、その言語はチューリング完全であるという。 ラムダ計算はチューリング完全である。 これは、Yコンビネータによりラムダ計算の範囲内で再帰ができ、これがループと等価な能力をもつことから証明できる。 そのほか、μ再帰関数やマルコフアルゴリズムもチューリング完全である。 ど れだけ単純なもので、チューリング完全を満たせるか、という問題については、 「ウルフラムの 2, 3 チューリングマシン」の万能性が証明されている。 多くのプログラミング言語はチューリング完全である。 一見単純な機能しか持たない言語がチューリング完全である例としては、純LISP、Lazy K、Brainfuckなどがある。 正規表現、SQL、ループの書けない表計算マクロなども、チューリング完全でない。 チューリング完全 - Wikipedia
>>101 自分もそれで散々悩んで、結局
>>60 のコードになったんですが・・・
Cの入門書にも似たようなコードで配列を関数に渡す例が載ってて・・・
先頭を指すポインタと要素数渡すのが普通だよ。
>>60 のコードってつづりいろいろ間違えてて頭悪そう
きっととんでもないバカが書いたんじゃあないか?
>>114 bsearch()やqsort()を見てみればいい。
C言語は、チューリング完全な言語で最小でないことは明らか。多く無駄がある。 無駄が無いとかいってるやつはアホウ。 高級言語に分類される人間に扱いやすい言語だ。
>>119 チューリング完全で最小な言語は低級言語なの?
>>119 それは無駄の定義が違うだけ。
お前は一生オナニーだけしてろ。
>>119 チューリング完全で最小の言語って・・・アセンブラ?
Brainfuck +++++++++[>++++++++>+++++++++++>+++++<<<-]>.>++.+++++++..+++.>-. ------------.<++++++++.--------.+++.------.--------.>+. Malbolge (=<`@?>~6Z:z2VU/.R?10/.-,+*)('&%$#"!~}|{z]Kwvut3EqpiAmlONi MONAmona NNNNNNNNNNnMNNNNNNNMNNNNNNNNNNMNNNMNOOOOAaMNNoMNoNNNNNNNoo NNNoMNNoOONNNNNNNNNNNNNNNoMoNNNoAAAAAAoAAAAAAAAoMNoMo Hello worldプログラムの一覧 - Wikipedia
構成要素の多少と、上級言語/低級言語は、ぜんぜん別の話。
スレタイの見えないクズは消えろ。
そうだそうだ
128 :
デフォルトの名無しさん :2012/02/26(日) 15:54:21.47
で、宿命って何?
命を宿すこと。つまり
しゅく-めい 前世から定まっている運命。宿運。しゅくみょう。
宿る(運)命
>>114 可変長ってのを万能薬みたいに思ってるとしか
渡すときには長さはわかってるのでは?
>>133 だから…
渡された先ではデータ長が分からんだろ?
>>114 >Cの入門書にも似たようなコードで配列を関数に渡す例が載ってて・・・
ああ、悩みの元がわかった。
『Cでは関数に配列を渡せない。』
ポインタしか渡せないので、サイズを渡すしか無い。
構造体を渡せば、そのメンバに配列を含むことも可能なので、
サイズはわかる。
しかしその場合も構造体の定義を知っていなきゃならないので、
配列のサイズを渡しているわけではないよね。
だから、長さも一緒に渡せよ。
typedef unsigned char data10[10]; void fuck(data10 data) { for(int i=0 ;i<sizeof(data10); i++) { printf("%x ", data[i]); } }
>>137 // gccではコンパイル通るけど、言語仕様に合っているんだっけ?
// というのは別として
それでfuckは引数で渡された配列のサイズがわかるって主張したいの?
fuckはdata10という型を知っていなきゃならないので、
サイズを渡していることにはならないよ。
for(int i=0;i<sizeof(a)/sizeof(a[0]);++i)
コンパイル時には、静的に確保された配列ならサイズがわかる。 それ以外は無理。
終わった話を何回繰り返すんだ。
>>139 関数に配列は渡せないんだって。
下の結果は、期待通りかな?
#include <stdio.h>
size_t fuck(int *p)
{
return sizeof(p[0]);
}
int main(void)
{
int a[10];
printf("%u\n", fuck(a));
return 0;
}
void func() { char x[10]; } これは動的に確保されるんじゃないの?
144 :
142 :2012/02/26(日) 18:59:52.73
>>139 違った。こうだ。
size_t fuck(int *p)
{
return sizeof(p);
}
だっせーな。余計な()つけんなよ。sizeofが関数だと思ってんのか?
>>145 sizeof struct hoge
これ気持ち悪い
C99だとこれがコンパイルできて動くんだけど、どういう仕掛けなんだろう。 配列のサイズを隠し持ってるって事なのかな。 #define COUNT_OF(a) (sizeof(a)/sizeof(*(a))) void foo(int n) { int a[n]; printf("%ld\n", COUNT_OF(a)); }
>>146 余計な()を書くなとは言ったが、必要な()を省略しろとは言っていない。
>>149 C99ではsizeofは必要な場合は実行時に計算される。
じゃあ、
>>140 はC99では嘘って事なんだな。あんまりCっぽくないな。
いや、
>>140 の書き方なら嘘ではないのか・・・。ううむ。
コンパイル時には決定されていないから実行時に求めるんだよ。
>>140 は正しいだろ。
152 :
デフォルトの名無しさん :2012/02/26(日) 19:37:23.89
C言語入門の数当てゲームの問題をやっていて、10回入力失敗したら「game over」と表示したいのですが、出来ません・・・ どなたか教えていただけないでしょうか。 今のままだと10回失敗しても残り0回で終わってしまいます。 #include<stdio.h> int main(){ int i,j,k,x; x=3389; printf("答えを当ててください。\n"); for(i=1;i<=10;++i){ k=10-i; scanf("%d",&j); if(0<=j && j<=9999){ if(j<x){ printf("%dは小さい。残り%d回\n",j,k); }else if(j>x){ printf("%dは大きい。残り%d回\n",j,k); }else if(j=x){ printf("%d回目で正解です!\n",i);break; } }else{ printf("0から9999の間の値でもう1度入力してください。残り%d回\n",k); } } return 0; }
153 :
デフォルトの名無しさん :2012/02/26(日) 19:43:42.97
>>152 ちなみに入れようと思った文はこれです。
if(i=10){
printf("game over");break;
(お前の話は)どうでもいいが ただの初心者・入門者が 平然と return 0; するか? なんか *とっっっっても* 釣りくせーぞ 臭ってくるぞ
155 :
デフォルトの名無しさん :2012/02/26(日) 19:52:42.63
>>154 return 0;って全部に入れるんじゃないんですか・・・?
>>153 if(i==10){
printf("game over");break;
>>154 初心者から上級者までreturn 0;は常識だろ。何がいけないんだ?
>>155 >>156 なんか 自演 くせぇ gmks がしゃべりこくっていんな
アホだろ てめーぇら
くせぇ くせぇ
近寄るんじゃあねーヨ
158 :
デフォルトの名無しさん :2012/02/26(日) 20:07:21.43
>>156 ありがとうございます!
=は2個並べるんですね
後は頑張ってみます。
>>157 自演?
気分を害してしまったようなら申し訳ありませんでした
もっと勉強してから来ます
160 :
デフォルトの名無しさん :2012/02/26(日) 20:12:13.77
>>159 ありがとうです
お時間とらせてしまってすみません
>>154 入門書に普通にそう書いてるんだから、平然とそう書くだろw
うん
初心者とか言いながらreturn 0; してなかったら、「横着するな」とレスするだろ むしろint main() ではなく int main(void) かint main(int argc, char *argv[])と書けと言いたいくらい
K&Rで入門した正統派はreturn 0は平気で省くよな。
入門者なら return(0); だろ
なんで?
入門書に普通にそう書いてるんだから、平然とそう書くだろw
returnの後の式を()でくくるのはK&Rの古い版がそうなっていて、 それを考えなくコピペした入門書の影響。 新人がreturnを組み込み関数だと勘違いしていた。悪しき風習。 そういう入門書出してるやつ死ねばいいのに。
さすがにreturn 関数なんてアホな誤解してた奴はいないだろ
>>169 以外は
171 :
デフォルトの名無しさん :2012/02/27(月) 01:46:23.56
今は情報があふれてるけど、俺も20年前くらいは間違ってたよ あのころは情報自体が少なかった…
sizeof には括弧つける return には括弧つけない 俺の常識
それがジャスティス
sizeofに()つけるなら単項演算子全部に()つけろ。
それがお前のジャスティス
177 :
デフォルトの名無しさん :2012/02/27(月) 02:25:16.01
宿命はよ
sizeofはぱっと見単項演算子に見えないから()をつける派
179 :
デフォルトの名無しさん :2012/02/27(月) 02:50:28.11
sizeofはカッコつける。 returnはカッコつけない。 linux kernelではこのcordingが常識
>>165 入門書にそう書いてるのも今時めずらしいけどな
入門書でもreturn 0;派が主流
181 :
デフォルトの名無しさん :2012/02/27(月) 02:55:44.39
ついでに言うと if (a) { } else { } if () { は空白をあけて } と else {は一行にまとめるのがlinux kernelでの常識 else がある場合は {} を省略してはいけないのもlinux kernelでの常識
K&Rの古いので勉強した俺… その次にBSDのソースで勉強した俺… 今の標準的なスタイルに追従できてないかも…
GNUのスタイルだけは死ねと思う
GNUスタイルは考え方としては解らんでもないのだが…自分では使わんなw
GNUと謳っているからには著作権にまで気を使ったんだろ そんくらい気付けよks 括弧のスタイルにも著作権があると主張されたら困るからわざとやってんのよアレ なんでそんなことも分からんのかねここのアホどもは
186 :
デフォルトの名無しさん :2012/02/27(月) 08:59:52.92
ヘボ登場
>185 ( ´,_ゝ`)プッ
でもストールマンはunipressからGNU EmacsはGOS macsのパクリと 言いがかり付けられたとき、これで文句ないだろと変数名だけ変えた。
189 :
デフォルトの名無しさん :2012/02/27(月) 10:54:37.09
宿命はよ!
190 :
デフォルトの名無しさん :2012/02/27(月) 11:14:59.85
ふう
最近はreturn省略してるわ 人が読めればいいだろ
人が読めればいいよね
しかしコンパイラには読めなかった。
194 :
デフォルトの名無しさん :2012/02/27(月) 14:05:59.35
おかんがうちのLANのワークグループ名いじるんだが
それはいろいろ面倒そうで気の毒に思うがなんでこのスレに書いたの?
196 :
デフォルトの名無しさん :2012/02/27(月) 14:13:36.06
理由は人それぞれだけど、あるでしょ?
197 :
デフォルトの名無しさん :2012/02/27(月) 14:16:31.89
POINT pos;のx,yをWCHARに入れたくて、pos.x pos.yの型はLONG tagPOINT::xと出るので WCHAR str[100];_swprintf_l(str,L"x: %ld y: %ld " ,long(pos.x),long(pos.y)); としたのですが : error C2665: '_swprintf_l' : 2 オーバーロードのどれも、すべての引数の型を変換できませんでした int _swprintf_l(wchar_t *,size_t,const wchar_t *,_locale_t,...)' の可能性があります。 または 'int _swprintf_l(wchar_t *,const wchar_t *,_locale_t,...)' 引数リスト '(WCHAR [100], const wchar_t [15], long, long)' を一致させようとしているとき となります。助けてください
イヤです。
それはC++ですね、ここはC言語のスレです。
すいませんでした
202 :
デフォルトの名無しさん :2012/02/27(月) 21:27:19.97
宿命はよっ!
そうだそうだ
家にPCが2台あって、それぞれプロバイダが違います。 片方のPCではC言語の環境(cygwin)があり、ネットワークプログラムを作って 片方のPCと通信したいのですが、何をやればいいでしょうか? Helloworldみたいな簡単なプログラムでいいです。 コマンドプロンプト上でチャットとかも出来たらいいなと。 できますかね?
205 :
204 :2012/02/27(月) 22:19:51.91
このスレ的には無理 適したスレへ行ってください
207 :
204 :2012/02/27(月) 22:30:46.73
209 :
204 :2012/02/27(月) 22:35:51.52
>>208 ありがとうございます。準備がややこしそうですね、ネットワークの場合。
>>204 ます無線ルーターでも勝ってきて、ローカルネットワーク構築しろ。
212 :
デフォルトの名無しさん :2012/02/28(火) 08:39:33.24
宿 命 は よ
かたやわらにたゆひやな
産む
有無
急増する「女ネット右翼」の背景
昨年8月の「フジテレビデモ」の頃からでしょうか。
現実のデモだけではなくネット上でも、こうした「ネット右翼」と呼ばれる層に明らかな変化(それも「急変」と言ってよい程の大変化)が起こりました。
具体的に言えば女性、それも特に子供を持つ既婚女性の急増という大変化です。
韓国朝鮮人への敵意や嫌悪感、それも「もうとにかく嫌! 生理的に受け付けない!」とか「韓国人は近付かないで! 気持ち悪い! 吐き気がする!」といった類の、
私のような男性とは明らかに異なる、極めて生理的・感覚的なレベルでの韓国・朝鮮人への嫌悪感を剥き出しにした投稿が急増しているように思えます。
それにしてもなぜ急に、ここまで日本人女性の韓国・朝鮮人に対する嫌悪感が盛り上がってきたのでしょうか。昨年の「高岡蒼佑のツイッター」騒動が
発端になっていることは間違いありませんが、それはあくまでも一つの「きっかけ」に過ぎず、そこに至るまでには長い不満の積み重ねがあったものと思われます。
「人権擁護法案が通ると、日本女性が韓国男達・在日韓国男達からレイプされて明らかに犯人が分かっており警察へ訴えても
『俺が在日韓国人・韓国人だからそんなことを言うのだろう!』
と言われたら、日本の警察も司法も社会も一切韓国男達・在日韓国男達に手出しは出来ず、レイプされても単なる泣き寝入りになると。
要するに日本女性の訴えは完璧にレイプ犯が分かっていても完全無視され、韓国男達・在日韓国男達が徹底的に無罪として日本で守られると。
日本社会は韓国男達・在日韓国男達が日本女性を合法的に好き放題レイプすることが出来てしかもそれが罪に一切問われない社会になる」
迂闊でした。
確かに彼女らの怯えるとおり「人権侵害救済法案(旧名『人権擁護法案』)」が万々一にも成立してしまった場合、
真っ先にその犠牲になるのは彼女たち日本人女性なのです。
そして世界一日本人女性に妄執する韓国男どもは「法律が出来たら、日本女を強姦し放題だぜヒャッハー!!」とばかり、股間を膨らませ、
涎を垂れ流しながら法案成立の時を今か今かと待ち構えているのです。
http://ameblo.jp/issuikai/entry-11170747316.html
218 :
デフォルトの名無しさん :2012/02/28(火) 19:58:49.53
Werror 君、元気? ずっとはりついて、くやしそうだね ずっとそうやっててね、おもろいから
219 :
デフォルトの名無しさん :2012/02/28(火) 20:14:59.08
自己紹介乙。
宿命はよ
221 :
デフォルトの名無しさん :2012/02/28(火) 20:35:28.90
べろべろばー
>>218 誰だ、お前?
C++知らなかったヘボ?
223 :
デフォルトの名無しさん :2012/02/28(火) 20:46:51.24
自演乙
224 :
デフォルトの名無しさん :2012/02/28(火) 21:13:24.19
効いてる効いてるww
そうだそうだ
226 :
デフォルトの名無しさん :2012/02/28(火) 21:48:18.48
脳なんたらですw
227 :
デフォルトの名無しさん :2012/02/28(火) 23:55:15.85
やれやれー池沼の寄席きもいが笑ってやれんこともない C きっちり書いた確信が持てたことねえんだろ、やってることに自信ねえんだろ 一生そのままアンダードッグやってろ犬以下のゴミくず
効いてる効いてるww
>>227 なるほど。
お前が確信も自信もないのはよくわかったwww
「自分が言われたら一番痛いこと」いうものだからね
犬に拘るあたり、チョンだなこいつ。
プログラミング以外だとイキイキしてる奴が多いのは春休みだからか。
233 :
デフォルトの名無しさん :2012/02/29(水) 00:53:17.35
宿命はよ。
235 :
デフォルトの名無しさん :2012/02/29(水) 03:20:06.17
#include<stdio.h> int main(void) { double cm; printf("長さをcmで入力して下さい:"); scanf("lf",&cm); printf("それは%fインチです。\n",cm / 2.54); return 0; } これをコンパイル後に実行すると%fの中身が0.000000になり、理由がわからくて困っています どこか間違ってるでしょうか? 環境はmacでターミナルからemacsでやってます
>scanf("lf",&cm); scanf("%lf", &cm);
macでターミナルからemacsでやったらそれらしく動いた。
>>236 サンクスです 悲しいほど恥ずかしい間違いだった…
>>236 は本人がタイプミスを訂正したのかと思ったyo
240 :
デフォルトの名無しさん :2012/02/29(水) 07:12:45.61
このバカチョンがー!!
241 :
デフォルトの名無しさん :2012/02/29(水) 07:51:06.49
699 非通知さん New! 2008/02/19(火) 15:13:14 ID:O//33PMy0 韓国人の反日は精神的に卑屈なんだよ。 自分達のコミュニティでしかわからないことを押し付けて、独り悦に浸って笑うみたいな。 韓国では、公然と外国人差別が酷いが、中でも黒人は最低ランクで忌み嫌われている。 韓国語では、ケッセキ(犬の子)が最大の侮辱。 父親が犬でしかも華麗な一族の声、母親も日本を代表する女優の一人。 その子が、黒人で長男。日本人国民的アイドルが長女。 この時点で、在日コミュニティでは裏メッセージでニヤニヤが止まらない。 馬鹿な日本人は、そんなことも気付かずソフトバンクに加入し、 携帯業界を料金革命する世救主と崇めていると、また高笑い。 586 日出づる処の名無し 2008/02/20(水) 10:05:19 ID:OayhS04r ソフトバンクの携帯電話のCMって、 日本人と黒人の子供たちの父親が犬って設定だろ。 韓国で「犬の子」を意味する「ケセッキ」って言葉は、「 この糞野郎 」 的意味合いの超侮辱語。 知り合いの在チョンが、あのCM見る度にニヤニヤしてた意味がようやく理解できた。
242 :
デフォルトの名無しさん :2012/02/29(水) 10:48:21.29
そろそろ話題もないのでマジ宿命頼む。
ウゼエなお前
244 :
デフォルトの名無しさん :2012/02/29(水) 11:16:43.07
宿 命 は よwww
そこはダイスの代わりにCで書こうぜ
247 :
デフォルトの名無しさん :2012/02/29(水) 13:55:16.68
うん
248 :
デフォルトの名無しさん :2012/02/29(水) 15:54:53.10
で、宿命は?
249 :
デフォルトの名無しさん :2012/02/29(水) 18:02:43.59
#include <stdio.h> int main() { double pai=3.14159265358979; int mon=2; float flt=1.2f; printf("%5.2hf\n",flt); printf("%-5.2f\n",flt); printf("%05.2f\n",flt); printf("%+08.2f\n",flt); printf("%-08.2f\n",flt); printf("%d\n",mon=3); printf("%e\n",pai); printf("%08.2f\n",pai); printf("%05d\n",mon); printf("円周率は%fです\n",pai); printf("円周率は%lfです\n",pai); printf("もう少し詳しい値は%10.81fです\n",pai); printf("もう少し詳しい値は%15.13lfです\n",pai); printf("もう少し詳しい値は%20.18fです\n",pai); printf("円周率は%010.2f\n",pai); printf("円周率は%-10.2f\n",pai); printf("円周率は%10.2f\n",pai); return 0; }
250 :
デフォルトの名無しさん :2012/02/29(水) 18:03:19.20
実行するとちゃんと正しい表示はされるのですが、コンパイルすると c 8: 'mon' に代入した値は使われていない(関数 main ) と出てしまいます。まだ始めたばかりでどう対処すればいいのかわからず困っています。 アドバイス頂けたら嬉しいです。
>>249 まずはここで2を代入してる
int mon=2;
そしてお次に、2を一回も使わずに
printf("%d\n",mon=3);
こんなことを欠いている。
だから「オメー、せっかく代入した2を使ってねーよ!!俺様が教えてやるから直せよな!!」
と、コンパイラがやさしくあなたに語りかけている
C言語を上達するコツはコンパイラとの愉快で刺激的な語らいが5割を占める
252 :
デフォルトの名無しさん :2012/02/29(水) 18:56:13.35
253 :
デフォルトの名無しさん :2012/02/29(水) 19:02:27.73
存在したのはチョンとヘボだけで、宿命なんて存在しませんでした。
254 :
デフォルトの名無しさん :2012/02/29(水) 19:02:56.44
終 了
255 :
デフォルトの名無しさん :2012/02/29(水) 23:51:24.00
今年もうるう年問題でいろいろシステムやプログラムのバグが起こったが、 そもそも、バグが混入しやすい原因は、C言語の標準ライブラリで日付関係の関数が充実しておらず、 日付扱うアプリ作るたびに、毎回日付関係処理の部分を作成してるから いちぶのスクリプト言語みたいに、日付関係処理を一通り標準Cライブラリで実装して、 アプリ開発者に毎回作らせるのをやめるべき
C#かオジャバでも使ってろや Dateライブラリ使えるような環境ならOSの機能呼ぶわアホ
つか、28日って固定でもってるの?
つーか、標準関数さえ使ってない間抜けが多いんだがな。 折角localtime(), strftime()があるのに自前で解析してたり、 mktime(), difftime()があるのに自前で経過時間を計算したり。
一応サマータイムなんかにも対応しとかないとアレだし、まぁ普通は自前のを 使うけどな。 今回のは中国とかインドに適当に発注したから1年=365日固定とかのプログラムを QAもせずに使ったってオチじゃねーの?
260 :
デフォルトの名無しさん :2012/03/01(木) 07:49:51.71
毎度自前のを使うのがバグ混入の原因になるんだよな かといって標準の時間関係の関数だけじゃどこか足りなかったりする
2月28日に停止して3月1日に人力で起動し直す システムにすればバグ発生しないよ なんでこんな簡単なシステムにしないの?
ヘボの登場である。
8bitごとに区切るとは僕の中では8個に区切るだから 0x1 , 0x2 0x3 ...0x8と8個に区切ってるじゃんと。 浅はかですかね..ちょっと良く分からんなと。
浅はかですね。
16進数とか、ビットとか、基礎を全く理解してない感じ
268 :
263 :2012/03/01(木) 09:40:53.21
うん?0x1は0,x,1の3bitでは?混乱します...
269 :
263 :2012/03/01(木) 09:42:55.84
>>267 16進数は数えですよね。
16ごとに位が一つあがるという。
A=10進の16
A1=10進の257
新星現る。 いや、真性か。
コンピュータ内部では数字、文字一つが1bitなんですか? 23A2340%fsみたいな文字列があった場合は。fや%や2がそれぞれ1bitとして 記憶されるわけでしょうか?
1 ビットっていうのは ON か OFF か (あるいは 0 か 1 か) しか記憶できないんだぞ?
>>272 それは最終的な段階ですよね?バイナリという。0と1だけの表現体系。
ただ中間部では、1文字1bitじゃないんですか?
中間部ってどこ
>>274 例えばドキュメント作成ソフトとか、こういった2chに書き込む時とかにソフトウェアが処理する
時です。0や1というのはあくまでハードウェアの内部処理のみに出てくる概念だと認識しているのですが。
276 :
263 :2012/03/01(木) 10:25:03.45
すいません、ちょっと分からないので書店にて調べてきますね。
中間部などない!
中間だろうが最終だろうが、ビットが何であるかは変わらない ソフトウェアが複雑な数値や文字といったものを処理できるのは、単に、大量のビットを使っているだけ
1ビット ≒ 1円硬貨 文字 ≒ 10円硬貨 複雑な数値 ≒ 100円硬貨
280 :
263 :2012/03/01(木) 10:45:02.72
100円硬貨自体を単位としたら,例えば1big円,1円'みたいに、新たな単位ができませんか? 本当に良く分かりません。まじで本屋行ってきます。
それは新たな単位であって、つまりビットとは別の新たな単位だろ? ビットはビットのままだろ?
釣り師だよな。 よく理解してないと自覚していることについて、理解しているだろう相手に反論するって正気じゃ出来ないんだが。
某パーソナリティ「デジタルって0か1の世界だっていうけど、 0を男、1を女に例えるとオカマは何になるの?」 男女に例えるなよ。 強いて言えば設計ミスか?
正気じゃないんだろ。つーか、スレ違いだがね。
>>283 InterSexualにはいろんな段階があるぞ。
GIDもあるし、生物みたいな複雑系を二つに分類するのが間違い。
287 :
デフォルトの名無しさん :2012/03/01(木) 13:16:11.83
>>283 それはインターフェイスと実装が異なるということだ
インターフェイスに少なくとも 1bit
実装に少なくとも 1bit
合計で少なくとも 2bit の情報量からなる論理だ
おまえさんの口ぶりでは H レベルと L レベルの中間電位のことが言いたげだがちょっと違う
正論理と負論理を切り替えるなら排他的論理和が必要で、これまた 2 入力だ
288 :
デフォルトの名無しさん :2012/03/01(木) 13:32:34.39
さいころの出目は6です
へえ
リトルエンディアンの話以前に、0xF が4ビットであることの説明から。 0〜15を表すのに必要なビット数は4ビット。 0000 = 0 0001 = 1 0010 = 2 0100 = 4 1000 = 8 1111 = 15 だから 0xFFFFFFFF などの1文字 F は、その情報を保存するためには4ビットが必要。 だから 0xF は4ビットであり、0xFF は8ビットである。
リトルエンディアンとビッグエンディアンの説明で、よく「8ビットの塊づつで、前後が入れ替わる」的な説明をよく見かける。 これはダメ。この「”8ビットの塊単位”で入れ替えてる」という説明は、変な誤解をさせるから良くない。 実際は、8ビットの塊の中でも、前後が入れ替わってると考えればいい。 2という数字を8ビットで表すと 0 0 0 0 0 0 1 0 だが、 リトルエンディアンの場合 bit配列[8
スレ違いだからやめろ、カス。
リトルエンディアンとビッグエンディアンの説明で、よく「8ビットの塊づつで、前後が入れ替わる」的な説明をよく見かける。 これはダメ。この「”8ビットの塊単位”で入れ替えてる」という説明は、変な誤解をさせるから良くない。 実際は、8ビットの塊の中でも、前後が入れ替わってると考えればいい。 2という数字を8ビットで表すと 0 0 0 0 0 0 1 0 だが、 リトルエンディアンの場合 bit配列[8]側(上位メモリー側) bit配列[0]側(下位メモリー側) 0 0 0 0 0 0 1 0 ビッグエンディアンの場合 bit配列[8]側(上位メモリー側) bit配列[0]側(下位メモリー側) 0 1 0 0 0 0 0 0 つまり、数字をメモリーに記録する際に、 リトルエンディアンは、メモリーの下位側ほど、下の桁を記録するやりかた。 ビックエンディアンは、メモリーの上位側ほど、下の桁を記録するやりかた。 「8ビットで区切る」なんていう考え方は元々無い。結果的に「8ビットで区切られてるように見える」だけの話
ここを誤解して、 「8ビット内では、ビッグエンディアンも、リトルエンディアンも同じ記録の仕方」と勘違いしてる人間が非常に多い。 その諸悪の根源は、「8ビットで区切る・8ビット塊単為で順序を入れ替える」的な妙な教え方が巷にあふれてるためである。誰も本質を教えてない。 例えば、もしも1ビットづつしか送信できない場合があったとして、 16ビット(2バイト)のデータを送信するとしたら、 ビッグエンディアンの本質を理解してれば、単純に、00000000 00000010 の上の桁から順番に送信すればいいだけなことが解る。 一方、ビッグエンディアンを妙に誤解して「8ビットづつで前後ろ入れ替え」的な理解の仕方をしてしまった人は、 おそらく8ビットの塊で前後を入れ替えるだろう。そして、各バイトを「(リトルエンディアン同様に)下位ビット側から」送信してしまうかもしれない。 本質は、メモリーの上位側と下位側、どっちを低い桁側として考えるか? という違いでしかない。 「8ビット単位での順序の入れ替え」は、実質的にはそのとうりだが、あまりに技法に走りすぎていて、本質を全然説明できていない。 にも関わらず、世間の多くのサイトでは「8ビット単位での入れ替え」がビッグエンディアンの本質であるかのように書いている。本質が解ってない。
ビット単位に上位も下位もないだろ。 BEで書き込んだデータをLEで読み込んだとしても8bit単位で反転などしない。 スレ違いだからいい加減にしとけ。
>>294 お前が記憶装置と通信路をごっちゃにしてるだけ。
297 :
とかね :2012/03/01(木) 14:24:26.00
0xはどこに行ったんですか? 数えてあげなければ可愛そうじゃないですか。
299 :
デフォルトの名無しさん :2012/03/01(木) 14:33:56.15
>>294 > 本質が解ってない。
おまえがな
本質は加算器などのように、ビット列を解釈する主体との関係であって
ビット列そのものが物理的な一直線上にあると思い込んでいるおまえの説明こそ極めて有害
エンディアンがリトルとビッグしかないと思い込んでいる不勉強を恥じろ
計算機はリトルエンディアン 通信はビッグエンディアン これが今の主流。
ちなみに、通信のエンディアンはビットの並びで言うが、計算機のエンディアンは
バイト単位でしか言わないのである。
>>294 32bit1ワードとして、ABCD〜DCBAまでの何通りあるかわかるか?
うん
0x123412 という文字列があったとして、最終尾の0x2=0010は、(2/16)*4bit=0.5bitですよね 占める要領は。てことは残りの3.5bitが無駄にならないですか? 二番目の1でも4bit確保するんですよね?メモリの無駄では? それよりは4bitで0x1と0x2をまとめて0x12として 0x12=1100として確保したほうが無駄じゃないと思うんですが。
そうだな。それに違いない。
ビットという単位 バイトという単位 の関係が理解できていない
なに言ってんだ。
>>303 が正しいに決まってるだろ。
おいおい、それが立ち読みの成果かよ。
>>300 > 通信はビッグエンディアン
イーサネットで取り扱うネットワークバイトオーダーの話?
USBとかS-ATAとかRS232Cとか いわゆるシリアル通信一般で流す時の並びの話?
(ビットオーダーとバイトオーダーとそれぞれありそうだけど…
しょうがないな
うん?文字列って基本どうやって分解してるんだろ。 13212%fsweだと、一文字ずつ分けてるの?
テキストファイルに書き込んで保存後にバイナリーエディタで覗いてみろ。
0x12=1100じゃねぇww16進だった。 勘違い。 1312みたいな適当な文字列があった場合 16進として読み込むのか、10進で読み込むかで メモリのサイズが変わってくると思うんですが。 それはどう判断されるんでしょうね。論文に加工かな。
まじで論文核冪
いいからどっか行け。スレ違いだってば。
316 :
デフォルトの名無しさん :2012/03/01(木) 16:59:38.57
特別なライブラリを読み込む関数をarでアーカイブにまとめたんですけど、 アーカイブをリンクする時に結局ライブラリを読み込まないといけないです 実行ファイル作成する時にライブラリを読み込まないでよいように、アーカイブを作成するにはどうすればいいですか?
> どうすればいいですか? arのマニュアルを読む。
>>316 環境によって違う
ダイナミックリンクライブラリとシェアードオブジェクトしか作ったことないから
COMコンポーネントとかは知らね
319 :
デフォルトの名無しさん :2012/03/01(木) 17:11:40.78
どうすればいいかっていってるだろ!
まず、服を脱ぎます。
環境によって違う 金があるなら人に頼むというのも手だ
そもそも何したいと言ってるのかわからない・・・
>>322 俺の第六感を駆使して
>>316 が言いたいことがなにか考えてみた。
例えばライブラリ A がライブラリ B に依存しているとして、
ライブラリ A を必要とするプログラムはリンクのときにライブラリ A とライブラリ B を指定しないといけない。
それをライブラリ A を指定するだけでいいようにするには? っていうことなんじゃないかと。
そもそもスレ違いだ。 コンパイルした後の話は該当環境スレか板へ。
すんません、Cの分割コンパイルの話だからここでいいかと思ったのですが arで何とかできそうなんですね、もっと調べてみます どうもありがとうございます
>>323 なるほど理解した。
バラして固めなおせば良い様な気もするけどやったことないな。
バラさなくてもどんどん追加できるはず
依存してる先のライブラリをバラさないと一個にまとめられないのでは。
そういうことか 俺様ライブラリ使うときに -lm 必須とか面倒だし 標準ライブラリに追加するのは嫌だもんな ってやりたいことは分かったけどやるべきではないな
makefileに1度書けば済むだけの話だと思うが。
331 :
デフォルトの名無しさん :2012/03/01(木) 19:17:52.13
gcc をビルドするにも色々かき集めるよな
332 :
デフォルトの名無しさん :2012/03/01(木) 19:18:57.07
C言語を習ったとき、-lmの意味がわからんかったなぁ…
WANとかLANみたいなネットーワークって何の役に立つんですか? 例えば2chなんかはサーバが海外でしょ? 別にネットワークを構築してなくても 世界のユーザーが2chにインターネットによってアクセスできるじゃないですか。
だからどうした。
レベルの低い釣りだな。
338 :
デフォルトの名無しさん :2012/03/01(木) 23:16:03.77
LANを構築してるから、ネットの受信ができるんじゃないのかな。 でも学校とかが学校単位でネットワーク構築してるのは意味が分からない。 何の利点があるんだろ。学校がメールサーバを統一してるのも良く分からない。
はよ
レベルの低い釣りだな。
ごめん。
木にすんな
その木何の木木になる木
かっこいいりーどみーの書き方教えてください(´・ω・`)
345 :
デフォルトの名無しさん :2012/03/02(金) 06:47:13.53
断る
347 :
デフォルトの名無しさん :2012/03/02(金) 19:52:41.97
intと、intを引数に取り戻り値がvoidの関数へのポインタ、を引数に取り、intを引数に取り戻り値がvoidの関数ポインタ、を返す関数signal(2) C言語キモい!
>>347 そんなこと言ってたら Haskell とか超キモいことになるだろ…
>>347 それが関数ポインタの宿命じゃよ……
理力の暗黒面の落ちし悪の言語、
それがC……
初心者の戯言。
void (*signal(int SIG, void(*FUNC)(int)))(int);
352 :
デフォルトの名無しさん :2012/03/02(金) 20:17:12.81
Werror よけだよ 気にするな
typedef void (*sig_t)(int); sig_t signal(int sig, sig_t func);
またチョンか。
関数ポインタとWerrorで埋まる神スレ。 純粋な質問はここでは無理っぽいなw
純粋な質問とはなんぞや
ただ、そういうことにしたいんだろうw
回答を必要としない、質問のための質問のことです。
宿命はよ
音無小鳥、0x20歳です
同い年か 俺はもう少しでインクリメントされますが。
363 :
デフォルトの名無しさん :2012/03/02(金) 22:07:17.18
int a=2
361 :デフォルトの名無しさん:2012/03/02(金) 21:28:05.19 音無小鳥、040歳です
365 :
デフォルトの名無しさん :2012/03/02(金) 22:14:19.64
小鳥ちゃんセックスしたいよ。お願いだよ
#include <stdio.h> #include <string.h> typdef struct{ char *name; int num; }data; void input_data(void); int main(void){ input_data(); return 0; } void input_data(void){ data syain; strcpy(syain.name, "Suzuki"); printf("%s\n", syain.name); return; } /* end of file */ Segmentation faultになるのはどうしてでしょうか
typedefのeが抜けたorz
初期化してないポインタに対してstrcpyしたから。
char *name = "Suzuki"; これはOKでも、strcpy(name, "Suzuki");はだめなのですか。 ありがとうございます。てっきりstrcpyでコピーした文字列、Suzukiの先頭、Sを指しているのかと思いました。 これは文字列とポインタの部分がよく理解できていないということでしょうか
高級言語的な考え方だけじゃCは無理だお
お前の脳みそが低級だからだ
少し自分で考えてみました。 上のソースの構造体のメンバ*nameは、アドレスが設定されていなかったのですね。 ポインタにアドレスを設定するには、name = のように代入しないといけませんものね。 name = func();のようにして、文字列をコピーする関数を自作する必要があったのだと思いました。 char型へのポインタを返す関数を自作して、その中で文字列をコピーさせればよかったのですね。
char *name = "Suzuki"; // name が "Suzuki" を指すようにする。 // "Suzuki"はデータ領域に最初から置かれてる。 data syain; // syasin.name はどこか知らない場所を指してる strcpy(syain.name, "Suzuki"); // どこか分からない場所に"Suzuki"の内容をコピー // どこか分からない場所は壊れちゃう>< コピーする場所を用意したうえで、そこにコピーしてやらないと。
自作しないでもstrdupというのがある。
>>375 free() するしないでもめるのでおすすめしない。
捨てるときはfree()を使うことになってるんじゃないの?
相手にするな。
え誰を
>>376 それじゃ、てめーは内部でバッファアロケートするstdioも使うな。
fcloseするしないでもめるからな。
てめーがつまらねー言いがかり付けてきたんだから二度と使うんじゃねーぞ。
とっとと死ね。氏ねじゃなくて死ね。
あー、もめるって捨てるか捨てないかって話なのか。 そんなのプログラムの目的によるわな。
おまいらもちつけ!! /\⌒ヽペタン / /⌒)ノ ペタン ∧_∧ \ (( ∧_∧ (;・∀・))' ))(´Д` ;) / ⌒ノ ( ⌒ヽ⊂⌒ヽ .(O ノ ) ̄ ̄ ̄()__ ) )_)_) (;;;;;;;;;;;;;;;;;;;)(_(
Qzって本当にクズだな。
>>380 >内部でバッファアロケートするstdioも使うな。
>fcloseするしない
スタートアップ/プロローグで fopen() したものは exit()/エピローグで fclose() するのでは?
もめる要素がないのでは?
QZ相手にすんなよ 普通NGに放り込んで放置だろうが
リークでもなんでもないfree()の省略に噛み付いたアホが言っていい台詞じゃねえなw
>>386 そのリークとやらとfree() の省略との違いは?
>>385 ほう、NGに登録していない人がいうことですか?
>>347 別にキモくないよ。慣れてないからキモく見えるだけで
QZってどの派閥だっけ ・書き捨てアプリでもfreeできるものはしたほうがいいよ ・freeなんてしなくていいよ、ただし常駐プロセスを書くときは別 ・とにかくfreeなんてしなくていいよ ・freeなんてしてはいけない、どうせすべてを確実にfreeすることなんてできないだろ freeするという言い回しについて賛否あることは理解してますが、ここでは無視してください。
free()しないのは全てメモリリークで絶対に許さない派
組み込み系とITプログラマー どっちのほうが楽ですか?
>>386 追加しておく。
free() の省略といいながら実際には手順に惑う場合はないか?
循環したノードや複数から参照されたノードはどうする?
楽なわけない
>>392 あんたの言う、その二者の違いはなんだ?
つーか、スレ違いだがね。
ハードウェアのバグをソフトウェアでなんとかするか 仕様のバグをどう解決するか どっちもしんどい
>>393 malloc/freeは基本的な部品なんだから、
もっと特別なメモリ管理が必要ならそれらを土台に構築するだろ。
もしくは構築済みのライブラリを使うとか。
>>397 おっしゃるとおりですね。窮地に陥ったら迷わず BoehmGC の誘惑に負けてしまうと思います。実は宿題スレでは今でも使いたいくらい‥‥‥。
宿題スレで窮地に陥りかけてるQZか
QZは不要だから巣から出てこなくていい
このあいだlispスレで議論ふっかけて軽くスルーされてたな。
ぷっ
最近新しい概念が分かってきてうれしい。 分かった事なんだけどネットワーク関係ってプログラミングの実装 ほとんど関係ないんだよね。 チャート図とかガントチャート図とか、文系っぽい。 C言語はひたすら実装の勉強してるのみんな?
実装=あるものを利用するだから、研究もくそもないよね。 プログラマーが構文解析やアルゴリズムを考える必要は全くない。
研究開発部門ならあり物以外の分野にも手を出す。
研究職にでもならない限り、文系プログラマの方が優秀だったりするしなぁ
プログラマって有能な人は4時くらいで退社できるの?
408 :
デフォルトの名無しさん :2012/03/03(土) 21:05:19.30
有能というのが何の有能かによる プログラミング能力がある人ならば仕事が多く積み重なり時間がいくらあってもたりない スケジューリング能力がある人ならそもそもプログラマから逃げ出す 仕事を他人に振る能力がある人くらいじゃないか?早く帰れるのは
>>409 朝9時から夜7時や8時までプログラミングしてるマっているのか?
想像を絶するな。
411 :
デフォルトの名無しさん :2012/03/03(土) 21:27:59.98
下っ端の派遣PGは二交代 メインプログラマは一か月に数回家に帰れる 水道電気などが一年弱ほぼ基本料金だった 普通だよね
俺は出社が自由で夜は終電が当たり前。。 だいたい昼過ぎに出社して23時半頃会社出る。 金曜日は基本的に会社に泊まって夜を明かして飲み会に付き合わされる。 外食する金を浮かせるために会社で飲み会やるケチ会社。 きっと俺みたいのを社蓄っていうんだろうな
プログラムは趣味でやる程度でいいと思った。
それが一番楽しいよ。 俺は2度解雇された経験があるけど、 会社辞めて次の会社に付くまでの期間に自由気ままにやるプログラミングが楽しくて仕方なかった。
C言語の奥が深すぎてC++の勉強が始められない
ではC++をあきらめてJavaかC#に行くと良い 正直C++の使いどころはもう無いよ
昼過ぎから23時半ってことは1〜2時間残業してるくらいか 時間的にはたいしたことないな
>>418 それって趣味レベルでは到達できないものなの?
標準関数全部覚えたらやることなくなった。
creat()まではまあお茶目で許すけどさ fcntl()とかSIGCHLDとか命名した奴はアホだろ
朝9時から夜9時はマジキチ、まぁ都市伝説に近いと思うが。 1年も続かないだろ。
携帯開発とか知らんのか 平気で2時3時まで作業させて翌日9時厳守なんだが
プリプロ後のソースならyacc用のBNFが転がってるからそれ使えば好さそうなんだけど プリプロセッサって一般的にどうやって作るんだ?yaccでできるものなのか?
428 :
デフォルトの名無しさん :2012/03/03(土) 22:27:14.28
>>426 ゲームとか携帯は数カ月単位でそんなんだよ
興味ある人も話したい人もいるだろうが まとめてマ板へ行け
>>429 俺は大したことないよ1年半ぐらい週帰宅するのが2〜3日
盆と正月以外はほとんど会社に泊まってたぐらい
若くてリーダーやる奴はたいていその程度の経験はしてる
ソフト業界の都市伝説は大抵そこかしこで起こっている事実 朝9時から夜9時(昼休憩あり)だと月60時間残業 忙しい時期にはこのくらいどこもなるんじゃないか
>>422 古代のリンカには名前に使える文字数にキツイ制限があったりした。
>>431 ずっと座ってるんだろ?エコノミー気をつけろよ。
プログラミング楽しい人にとっちゃいいかも知れんが、
センスがあるだけでプログラミングが嫌いな人は苦痛
で仕方ないだろうな。
コードを音声で認識して入力するマシンとかないのかね。
馬鹿馬鹿しい キーボードから入力する方が速いじゃないか
スマホ界にはメール書いたりググったりする程度の音声認識は一応ある。
Windowsにももちろんあるが、何の環境の話だ。
440 :
デフォルトの名無しさん :2012/03/03(土) 22:48:18.18
>>403 おまえさ、それ自ら「入る隙がない」って言ってるだけだぞ
まあそうなんだろうけど
ソフト業界って海外にプログラム委託しないの?安いじゃん。
昔、中国に委託してあがってきてから後悔して泣きながら作り直すのが流行った時期がある。
>>441 安くて正確な委託先はなかなかない
依頼準備と受け入れに結局時間かかるっぽい
プログラム何て関数ごとに皆で分担すればいいんですよ。
プログラムを作るプログラムがあればいいのにな。
447 :
デフォルトの名無しさん :2012/03/03(土) 23:06:18.81
そのうちできるよ
448 :
デフォルトの名無しさん :2012/03/03(土) 23:07:03.95
機械語を作るためのプログラム→アセンブラ アセンブラを作るためのプログラム→C言語 これまでもその思想で実現してきてるんだよ
月60時間残業が常ってその時点で労基法違反じゃないの?
>>445 関数単位だと不公平がでるから、こうした方が良いよ。
まず、担当者全員を集めて2チームに分ける。
そして、片方のチームが偶数行の実装を、
もう片方のチームが奇数行の実装を担当する。
それでも大変な場合は、またそのチームを分割して
同じ様に作業を振り分ける。
452 :
デフォルトの名無しさん :2012/03/03(土) 23:14:20.84
よくもそれだけつまらないことを考えるな。
「問題を分割せよ」はプログラミングの基本だからな。
問題を分割できてないがな
通販サイトとかのプログラマっているの? やることなくね?
>>451 1行ごとにコメントを書けっていうプロジェクトで、どっちをやりたい?
プロジェクトマネージャとプログラマってどっちが頭良いの?
頭がよいことに価値はない。業績に価値があるのだ
>>456 普通、「コメントは1行で書かなければならない」
という決まりは無いから、どちらも変わらないよ。
労基法守るからそこそこましな会社だと数年程度のエンジニアが年収800万で管理職より給料多いなんてことになる
プログラマって独身率低そうだな。 頭良いともてるだろ。
金はあっても時間が絶望的に無い
463 :
デフォルトの名無しさん :2012/03/04(日) 00:28:55.17
会社辞めたらいいじゃん。経験者は年とっても即戦力になるっていうし 2年くらいアルバイトでもすれば。
会社やめて田舎に帰ったらもっと絶望的になったでござる。 タンポポを置く仕事すらないんだぜ。
会社にアトピーだった奴がいるんだけど 毎晩遅くまで残業して顔が腫れ上がってて それでも休日出勤&残業三昧で、終いには欝になって入院した。 面会拒否で一度も会えなかったのだが、自殺しただの違う会社で復帰しただの色んな噂聞くだけで真相分からず。
callocは絶対にfreeしないといけないのでしょうか。 char *pstrcpy(char *p) {
↑スマソ char *pstrcpy(char *p) { char *string = p; char *ptr; char *result; int len = 0, i = 0; while (*p++) len++; ptr = (char *)calloc(len, sizeof(char)); while (*string) { ptr[i] = *string; *string++; i++; } result = ptr; free(ptr); return result; } ptrをfree()しないで、そのままreturnすればうまくいくのですが、resultにアドレスをセットしてptrを解放し、resultの値を返そうとするとうまくいきません。 動的にとったメモリはローカルな変数に代入してはいけないのでしょうか
ケースバイケース この手の問題に答えはないと思ったほうが
解放しちゃだめなものを解放してどうすんだよw
こっちはうまくいくのですよね・・・ char *pstrcpy(char *p) { char *string = p; char *ptr; int len = i = 0; while (*p++) len++; ptr = (char *)calloc(len, sizeof(char)); while (*string) { ptr[i] = *string; *string++; i++; } return ptr; } どうしてなんだろうorz
ptrを解放する = resultに入ってる値も無効になる
質問の仕方間違えるとトンデモな答えが返ってくるのも、この手の質問 何やりたいかはわかるけど、動かない理由探し?
そうなのです。どうしてうまく動かないのか疑問なのですorz 参考書にはcallocで確保した領域は使い終わったら解放しろと書いてありますし。。。 free()しなくてもメモリリークは起きないのでしょうか
バカは引っ込んでろ
まだ使うのに解放してるのがまずいんだよw
free()するとresultの値も無効になるのですか・・・ ありがとうございます。 そうすると、この関数を使う以上はfreeできないということですよね。 プログラム上free()して、resultに何か値を代入しているわけではないのでresultの値が無効になるなんて思ってもいませんでした><
参考書みたいなのは、決まった課題に対してのやり方が書いてあるだけだからね
わかりやすいな
>>478 ありがとうございます><
おかげさまで理解できました。
ポインタむずかしい><
この場合、解放するのはこの関数からポインタを受け取った側で行う p = pstrcpy("abc"); .... free(p);
p = strdup("abc"); free(p); だな。
だな
大尉だな
>>478 画像でなく、AAにした方がいいんじゃないかな
Cってクロスプラットフォームで動くって本当ですか?
誰が言ったんだ?言った奴に聞けば?
>>486 A Wide Range of Host and Target Platforms
Host Platforms
Win32 systems (IDE and command line)
32-bit OS/2 (IDE and command line)
DOS (command line)
Windows 3.x (IDE)
Target Platforms
DOS (16-bit)
Windows 3.x (16-bit)
OS/2 1.x (16-bit)
Extended DOS
Win32s
Windows 95/98/Me
Windows NT/2000/XP
32-bit OS/2
Novell NLMs
Experimental / Development
Linux, BSD, *nix
PowerPC, Alpha AXP, MIPS, Sparc v8
Detailed Contents - Open Watcom
http://www.openwatcom.org/index.php/Detailed_Contents
「動く」の意味を知りたいねえ
>>489-490 うそつきですね
ubuntuに秀丸をダウンロードして実行しても動きませんでしたよ
>>486 秀丸はCじゃないよ。
>>490 はWatcomが色んなぷらっとホームで動作することを示しているんじゃないの?
>>433 同じ時代にもっと長い名前もあったのにか?
>>495 creatの最後のeについては知らないけど、
大昔のリンカは名前の長さ6文字とか8文字とかだったから、
とりあえず名前を短くする習慣が普通にあったんじゃないの?
「もう一度UNIXを作り直すとしたら?」 「creat()にeをつけます」
498 :
デフォルトの名無しさん :2012/03/04(日) 22:38:24.77
え
テスト
creat()だった。ぐぐってからレスすればよかた。
>>501 修行が足りない。ここで事実をねじ曲げてでも一度やった主張を取り下げないようにしないとQZにはなれない
>>501 こういうつづりも知らないバカが大声出すから
世のなかクソまみれになるんだよ
オメーは調べることもしないんなら
さっさとマなんてやめちまえ
シャバにしゃしゃり出てくんなks
504 :
デフォルトの名無しさん :2012/03/05(月) 11:05:51.72
とお前がいつも言われてるんだな、かわいそうに。
505 :
デフォルトの名無しさん :2012/03/05(月) 13:08:03.10
リーナス君くらいの真面目な学生さんは我が国にはいないのか?
低レイアやってても金にならんしなー 優秀な人材は集まらんよ。
うん
はいってない? dos.h _dos_creat() io.h _wrtl_creat() winbase.h _lcreat() Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
io.h creat() dos.h _dos_creat() fcntl.h _wcreat() winbase.h, win16.h _lcreat() Watcom
io.h creat() _wcreat() dos.h dos_creat() _dos_creat() winbase.h _lcreat() Digital Mars Compiler Version 8.42n
荒らし市ね。
>>512 大丈夫? 疲れてるなら休んだほうがいいよ
514 :
デフォルトの名無しさん :2012/03/05(月) 21:32:22.19
お前がな。
どこが荒しなんだ
516 :
デフォルトの名無しさん :2012/03/05(月) 21:39:55.62
>>496 少し前のANSI C (C89/C90まで) だと、外部識別子は6文字までしか保証されていないね。
creat()が何かを知っていればそんな化石みたいなものを貼ろうなんて思わんだろう。
518 :
デフォルトの名無しさん :2012/03/05(月) 21:41:05.06
だろうね…
つまり自分はこう思うから他人もそうするはずだと 自我が確立してない幼稚な人なんですね
QZがな。
521 :
デフォルトの名無しさん :2012/03/05(月) 22:02:48.39
ププッ
ふっ
int a=1
int *a=&1
auto変数について、質問です。 char *func(void) { char ary[1024]; strcpy(ary, "abcde"); return ary; } int main(void) { char *p = func(); return 0; } /* end of file */ このプログラムにおいて、エラーが発生するのは、auto変数であるaryが関数funcを抜けたあとにメモリ上から解放されて、 呼ぶ側の関数内のポインタ変数*pが無効な場所(メモリ上解放された場所)を指すからでしょうか。
その通りです
ありがとうございます。 関数を呼ぶときは、下の関数で領域を確保せずに上の関数で領域を確保し、それを引数に渡すように書こうと思います。
>>528 老婆心ながら、確保した領域のサイズも下の関数に渡すようにして、
確保した以上に書かないよう(バッファオーバーフローしないよう)にしてください
独学でC→C++→JAVA→C# と勉強してきて、ある程度のソフトはつくれるようになったんですが 時たま出てくる、赤黒木や赤赤黒木などの意味がわからないんです 「たぶんリスト関係のことやろな〜」ぐらいにしか思っていません。 どなたか、どういう意味なのかご教示ください。
そのまんまぐぐったら出て来る
うん、そうだね
CのプリプロセッサってCで書かれてるの?
fprintf関数について質問なのですが、例えば test1 test2 という内容のファイルがあったとして、 fprintf(fp, "%s", a); fprintf(fp, "%s", b); ※ a, bは配列として定義されている を実行すると、aにtest1 bにtest2が入りますよね? この自動的にbにtest2が入る仕組みがわかりません。 fpが移動しているのかな?と思いましたがprintf("%p\n", fp)で確認したところ移動していませんでした。 分かる方ご教授願います
537 :
536 :2012/03/06(火) 23:33:48.94
間違えました。 ×fprintf ○fscanf です
>>535 そういうことが多いとは思うが、そうでなければならないわけでもない。
>>538 FILE構造体のメンバでいろいろやっているという認識でいいでしょうか?
fscanf自体の処理はわかりませんでした
それと、ヒント とかいらないんで普通に教えてくれたら嬉しいです(仮にも質問スレ・入門編ですので。
偉そうなこと言ってすいません。 ありがとうございます。
>>536 fp はポインタ。 ポインタが指している先のデータがたぶん変化している。
そのデータはファイルのどこまで読んだか等を記録している構造体で、
具体的にどのようなメンバをもっているかは規格では定められていない。
fscanf を含む処理系が用意している入出力関数を経由してしか触ってはいけない。
fopenとかしないの?
543 :
デフォルトの名無しさん :2012/03/07(水) 00:17:27.86
た ぶ んwww
>>543 OS 側で IO を管理するデータをもっている場合には FILE 構造体自体を書き換えなくて済むかもしれない。
ファイルディスクリプタの番号だけしか入ってないというような実装にしたってかまわない。
普通はそういうことはあんまりないと思うのでたぶんと表現した。
そんなOSねーよwww
stdin使ってるならわかるけど
結局のところ、具体的な IO の仕組は処理系依存な話で、 言語仕様としてはこうやったらこうなるというだけのことしか決まってない。
つーか、どんなコード書いたらそうなるのか知りたい
550 :
536 :2012/03/07(水) 00:37:15.01
>>547 回答ありがとうございます。
ggったら情報あったので一応
関数 fscanf() は,第1引数 fp によって示されたファイルポインタ(FILE構造体のアドレス)にしたがって上記の各メンバーを参照します.
まずメンバー _ptr が示す位置からストリームのアクセスを開始し,必要なデータをここから読み取ります.
もしストリームに残っているデータが無くなれば,そのことをメンバー _cnt が 0 になったことから知り,
システムコールを引用してファイルからデータを転送してストリームに蓄えます.
どのファイルからデータを持ってくるかはファイル番号 _file が指定します.
また,一度に持ってくるデータの量は,ストリームのサイズ _bufsiz が指定します.
ファイルアクセスの際に何かエラーが発生したならば,そのことをメンバー _flag の値によって知ります.
http://www.comm.info.eng.osaka-cu.ac.jp/~sugi/C_lang2/C9.html#anchor880803
>>550 それもあくまで一例だからね。
> FILE構造体のメンバー(およびこれを用いたファイルアクセスの方法)についてはANSI−Cでは規定されていません.
> したがって,OSごとに異なっている可能性があります.詳しくは,インクルードファイル "stdio.h" の中を調べてみてください.
とも書かれていることに注意。
わかってない人の抜粋した部分だけでよく話がすすむもんだ
>>551 そうですね、ありがとうございます。
どちらにしろこのへんはプログラマが気にするべきことでは無いということでしょうかね・・
>>553 知りたかった答えの直接の答えとしてはftellを使えばいいよ。
はちみつが書いてるような、FILE構造体の中身が変化しないような
OSがあった(または今後できた)としても、ftellは正しく位置を返さなければならない。
これが実装依存であるものと、規格で定められたものの違いだね。
はちみつ流に言うなら、ftell()は正しい位置を返さなくてもいいよ。 正しい位置を返したように振る舞いさえすれば。
ftellは「正しい位置を返す場合もある」が正しい。 正しい位置を知りたい場合はftelloを使う。
おー
矢印のところに「左のオペランドが、左辺値になっていません」と出るんですけど 「単位があっていない」ということでしょうか struct constellation は int month; int day; char name[50]; で、star[]はmonth,day,nameにそれぞれ値が代入されてます char detect(struct constellation *x) { int i; for(i = 0; i <= 12; i++) if(star[i].month == x->month && star[i].day < x->day) x->name = star[i].name; ← else if(x->month == star[i+1].month && x->day < star[i+1].day) x->name = star[i].name; ← }
配列全体を = で一括代入することはできない 配列の各要素を 1 個ずつ = で代入することはできる 文字列なら strcpy を使え
>>558 char a[50], b[50];
a = b;
ができないのと同じ
お早い返答ありがとうございます こうですか? char detect(struct constellation *x) { int i; for(i = 0; i <= 12; i++) if(star[i].month == x->month && star[i].day < x->day) strcpy (x->name, star->name[i]); else if(x->month == star[i+1].month && x->day < star[i+1].day) strcpy (x->name, star->name[i]); }
ちがうけどあとはがんばれ
strcpy()は使用禁止。 必要もないのにどうしても使いたい場合はstrncpy()を使え。
>>564 これで満足かw
strncpy(b, a, strlen(a)+1);
危険度は大して変わらん。
手元の「明解C言語」に *ptr = &vc[0]と書いてあるので ptr->name = &vc.nameでもいけるかと思ったのですが errorが出ました 構造体とポインタはどうやって同時に使えばいいのでしょうか
普通に。
構造体じゃなくて、配列とポインタの関係を理解してないんだよ
ptr->name = vc.name;
>571 nameが配列だとエラーだな。
char *ptr; char name[10]; ptr = name; /* (あとで嵌るかもしれないけど)文法上はOK */ name = ptr; /* 文法上NG */ ptr++; /* OK */ name++; /* 文法上NG */
typedef struct sz_name{name[AMOUNT_NAME_BUF];}; &(sz_name*)ptr->name=&(sz_name*)vc.name;
***test
C言語って絶対に仕事で使いたく無いよな。
577 :
デフォルトの名無しさん :2012/03/07(水) 18:19:33.14
自分が使えないからだろw 聞いてやるなよwww
どんなコード書いても嫌味な上司からは突かれるから。 そして無駄な所ばかりに気を使って書いても書いてもエンジニアとしてのスキルが上がらない。 近代的な言語だと面倒なところは言語に任せられるから、もっと有意義なことを色々勉強できる。
581 :
デフォルトの名無しさん :2012/03/07(水) 18:44:07.52
ここで愚痴ってるのは結局、両方できなかったクズだからだろ # 嫌みのつもりで言ったことが嫌みになってないときほど痛快なときはない
まあ、バカに合わせてif (true == hoge)とか書かされるくらいなら、 たしかに仕事では使いたくない
そういうのに異様に興奮する馬鹿も仕事ではつかいたくないわ
>>582 今時、そんな書き方は不要だと結論出てるだろ。
質問です。 lcc-win32というコンパイラをDLし、Win98SE Athlon2K自作PC機にインスコして 起動したら、「このプログラムはファイル形式が無効なため、実行できません」 「ファイル C:\LCC ・・・ \WEDIT.EXEが壊れています。ファイルをもう一度インスコしてから ・・・」とエラーが表示さります。Pen200MHz Win98SEノート機にインスコしても同様でした。 NECのMY-26X/L PenD 2.6G WinXPだと正常に動作します。98SEで正常動作させる方法がわかりましたら 教えて。エロい人。よろしくお願いします。
自作機ならlinux使えばいいじゃん 環境全部がそろってんぞ クソCのみならず他のクソも気の向くままこねくり回せる
587 :
デフォルトの名無しさん :2012/03/07(水) 21:08:03.02
int a=1
int tinko = manko = 69;
>>585 壊れてるとメッセージが出るなら壊れてるんじゃないかな。
win98 の環境をもってないから検証できないけど。
lc.exe を直接起動してみて使えるなら wedit は諦めて適当なエディタを使えばいいんじゃね。
>>586 質問の前提を覆してどーする
>>584 左辺右辺を入れ替えたとしてもひどく不安になるコードだよね。
>>585 User Manual for lcc-win32.
The system will not work correctly without this file.
関係ないかな
592 :
585 :2012/03/07(水) 23:05:05.02
>>589 ご教示ありがとう。
>lc.exe を直接起動してみて使えるなら
早速、試してみます。m(_ _)m
>>591 ご助言ありがとう。確かにマニュアルを必ず併用することっていう
注意書きがありました。マニュアルもインスコしたつもりでいたのですが
確認してみます。m(_ _)m
質問です。
10個の英字を1つずつ読み取り、その中からアルファベット順で最初にくる文字を、最後に表示するものを作っています。
開発環境は Eclipse 3.7.2 Indigo SR2
コンパイラ(?)はHello World ANSI CプロジェクトのMinGW GCCを使っています。
http://codepad.org/XWqZooaS 上記のソースコードを実行すると、コメント「ココ」の部分が2回分連続で表示され、
結果的に5回しか入力を受け付けず、最後のprintf("%c", smallest);も実行されません。
また、getchar()の部分をgetche()に直すと正常に動作します。
getchar()を用いる場合、どこを修正すれば正常に動くようになるでしょうか?ご教授お願いします。
改行も文字なんだぜ
>>594 改行を省くようにしましたら正常に動作いたしました。
夜分遅くなのに、迅速なご回答本当にありがとうございます。
598 :
デフォルトの名無しさん :2012/03/08(木) 10:27:57.46
>>585 lcc-win32 じゃなく
lcc を使え
win32 とあるのは NT 系の Windows 用に改造したバージョンという意味で、
9x 系の Windows ではオリジナルがそのまま使える
# ここ、こんなのすら答えられないバカばっかり
つまり、QZ(クズ)。
C言語プログラマーって 今時なベンチャーに顔出すとほとんど化石扱いされるな
ていうか今時Cしかできないやつとかいないだろ。
Cでプログラム書けるってだけで化石扱いされるな
10年前に受けた仕事はCとPowerPC系アセンブラ両方の知識必要だった。 アセンブラはZ80と86系しか書けなかったから(X68の入門書を数ページ読んだことはある) ちょっと戸惑った。
そういやぁ8年ほど前知り合いがCOBOLやBASIC読まされてるって嘆いてた。
COBOLは今でも使われてるだろうが、BASICは嘘だな。
今時のベンチャーって携帯ゲームバブルに乗ってるのはいいけど その後のこと考えてない気が
>>607 その後ってなんだよ
何が起きるんだよ
お前も考えていないんだろ
609 :
デフォルトの名無しさん :2012/03/08(木) 13:21:29.01
「バブル」という用語自体、時代の変化に順応できないやつの言い訳だし
>>608 経営者が会社をつぶして終わり
従業員は職を失う
売れるものがないから
仮に経営者が従業員に義理を通そうとしても借金まみれになるだけ
アタリショックでggrks
>606 BASICで書かれたプログラムを別の言語に書き換えてくれてって仕事だったってさ。 所々制御関連のコードがあって大変だったといっとった。
確かにそれは小さな工場とかで多そうだな。PC98FAとか。 楽な仕事でうまらやしいw
614 :
デフォルトの名無しさん :2012/03/08(木) 14:56:13.36
うん
あんまり楽じゃなさそうだけどな・・・
(´・ω・`)…
今ってJavaが基本なのかな? Javaは知ってるけどC知らないってのが俺の周りに結構いる
いるだろうね なんか知らんが Android とか流行ってるしね
>>598 なるほど、そういうことだったのか。
lccって使ったことないからそういうのサッパリ。
・韓国人の民族性を表すことわざ一覧 朝鮮のことわざ 「女は三日殴らないと狐になる。」 「他人の牛が逃げ回るのは見ものだ。」 「他人の家の火事見物をしない君子はいない。」 「弟の死は肥やし。」 「梨の腐ったのは娘にやり、栗の腐ったのは嫁にやる。」 「母親を売って友達を買う。」 「営門で頬を打たれ、家に帰って女房を殴る。」 「姑への腹立ち紛れに犬の腹をける。」 「あんな奴は生まずにカボチャでも生んでおけば、煮て食べられたものを。」 「人が自分にそむくなら、むしろ自分が先にそむいてやる。 「野生のまくわ瓜は、最初に独り占めした物が持ち主だ。」 「らい病患者の鼻の穴に差し込まれたにんにくの種もほじくって食べる。」 「一緒に井戸を掘り、一人で飲む。」 「自分の食えない飯なら灰でも入れてやる。」 「川に落ちた犬は、棒で叩け。」 「泣く子は餅を一つ余計もらえる。」
韓国でやれ
お邪魔します。Borlandのフリーコンパイラ Cver5.5で、下記のような 絶対アドレッシングした(つもりで)メモリから読みこみ(したつもり)したら、 不正処理をしたので強制終了します というメッセージが出たんですが。 これは、仮想86モードで絶対アドレッシングした(つもり)ことが原因? OSはWin98です。 #include<stdio.h> void main(void) { int *a; int b; *a=0x00650000; b=*a; printf("hello\n"); printf("a = %p\n",a); return 0; } 因みに、これは問題なしです。ソースは 苦しんで覚えるC言語 サイト。 ”p=0064FE00”でした。 ↓ #include <stdio.h> int main(void) { int *p,i; p = &i; printf("p = %p\n",p); printf("&i = %p\n",&i); return 0; }
>>622 どこか分からないところに書き込んだのが原因
>>622 そのプログラムに割り当てられてない部分のメモリ空間は OS が保護していて、
書き込んだり読み出したりしようとするとエラーで強制終了させられる
番地直打ちとか アホか
>>622 仮想 86 モードじゃなくてプロテクトモードだろう
ページングが有効なので、ページ割り当ての無いところにアクセスしたらページフォールトが起きる
>*a=0x00650000; これだと a がたまたま指してるどこかわからない場所へ、 0x00650000 を書き込んじゃうんでは。
そっちだね
629 :
デフォルトの名無しさん :2012/03/08(木) 21:59:14.09
627 がやっとまともなことを言うまで、バカばっかりだな
どうせチョンでしょ。
633 :
デフォルトの名無しさん :2012/03/08(木) 22:07:29.92
非エスパーに読める発言は 627 が最初だよ
× 非エスパー ○ チョン
韓国でやれ
× 韓国 ○ 南朝鮮
637 :
デフォルトの名無しさん :2012/03/08(木) 22:34:20.64
え?
韓国は、北のことを北韓(ほっかん)といい、 北朝鮮は、韓国のことを南朝鮮という
チョンの話なぞどうでもいい。
間を取って 韓朝 でいきますか
韓国朝鮮、略して韓朝はどうだろうか。 朝の文字が付いて、どこかしら格好いいし威厳もある。 偉大なる韓朝を日に三度ほど復唱すれば 韓朝の栄光は世界の果てまで行きわたる 韓朝マンセー
浣腸浣腸うるせーわ
643 :
622 :2012/03/08(木) 22:55:05.58
>>627 さんをはじめみんなありがとう。
>*a=0x00650000;
ここは、初め a=0x00650000;としたら移植性云々と言われたので
*つけたら 警告でなくなったんでいいか・・・と。お粗末でした。Orz
>>627 さんの指摘通りに試そうと思います。
このスレの住人さんたちは親切ですね。こんなにまじめに助言をもらえるとは
思ってなかった。重ねてthxです。
いくらなんでも粗末すぎる。 祖チン乙。
9cmかよ。
しかし、どういう過程を経て知識を付けたらこういう用語の無意味な羅列と粗末なコードの
組み合わせになるのかちょっと興味深いぞ
>>622 とりあえずその「苦しんで覚えるC言語」とやらのせいなのか?
9cm乙。
>>646 苦しんで覚えるためのサイトを見てここに質問してりゃ世話ないよなぁ
struct st_testって書き方が必要ないなら省略できるよ
この場合って、そもそも struct st_test と ST_TEST って同じものと考えていいんだよね?
struct st_test {...}; typedef struct st_test ST_TEST; の2つをいっぺんに書いた書き方だべ。 ST_TESTしか使わないなら、 typedef struct {...} ST_TEST; でもいいし。 struct st_test しか使わないなら、 struct st_test {...}; だけでもいい。
typedef 既にある型 新しい名前; struct st_test{・・・}; の複合だろ。
typedef struct st_test{ struct st_test *next; int i,j; char c; float f; }ST_TEST; こんな時は必要。
C++からはst_testをそのまま型名として使えた気がするけど Cでは認められてないの?
そうだね。
最近のマイブーム 先に typedef する typedef struct st_test ST_TEST; struct st_test { ST_TEST *next; };
struct st_test をST_TESTに省略するために行数増やすってのも本末転倒な気がするが
そのあと使うたびにstructってつけなくて良くなるんだからいいじゃん。
660 :
デフォルトの名無しさん :2012/03/09(金) 02:03:25.22
いいじゃんね
まあね
662 :
デフォルトの名無しさん :2012/03/09(金) 10:07:30.24
スレ違いかもしれませんが 本気で困ってます! iPhoneの電話帳がOSアップデートと同時に全部消えて、iTunesにもバックアップがとれてません!プログラミングでなんとかならないでしょうか? お願いします(T_T) どうにか復元させたいのですが
sprintfに渡すバッファの長さが足りてるか実行時に確かめたいのだけど 実際には書き込まずに変換後の文字列の長さを返す関数とか無いんですか?
>>664 snprintf を使え。
返り値が負ならエラーだ。
int main(void) { char s[4224]; struct buffer { char c[384]; } b; printf("%d\n", sizeof(struct buffer) ); printf("%d\n", sizeof(s) ); }
>>665 返り値が負って標準非準拠のダメダメのやつじゃねぇか
え?
ん?
た?
め?
>>664 printf()の戻り値。副作用が問題になるなら、fprintf()で。
遅い? /dev/nullならそこそこ速いだろ。
>>664 自作するしかないけど、どうぞ。
void *length_hack(void *len, const char *fmt, ...)
{
va_list arg;
int ret = 0;
char ss[1];
va_start(arg, fmt);
ret = vsnprintf(ss, 1, fmt, arg);
*((int *)len) += ret;
va_end(arg);
return len;
}
>>646 しかし、どういう過程を経たら、こういう煽り好きな
悪い性格になるのかちょっと興味深いぞ
>>646 生まれつきか?w
その性格が災いして会社をクビにでもなったのか?w
>>648 毎日の自宅警備で何か嫌なことでもあったのか?w
>>667 あ、ごめん。 俺の勘違い。
「n が充分に大きい場合に配列に書き込んだはずの文字数を返す」
と規格に書いてあったから n が充分に大きくない場合はエラーと勘違いした。
要するに本来は
(n が充分に大きい場合に配列に書き込んだはず) の文字数を返す
と解釈すべきところを
(n が充分に大きい場合に) (配列に書き込んだはずの文字数を返す)
と解釈してしまった orz
http://www1.axfc.net/uploader/Img/so/137793 原文はこういう曖昧さはないのかなぁ。
返却値が非負かつn以上の場合もあるわけで、
その場合に
>>673 が効いてくる
ちょこっと修正が必要だけど試してごらんよ
>>664 l = snprintf(NULL, 0, fmt, arg, ...);
>>665 以降でキミに答えてるのは素人だから無視していいよ。
>>673 より
>>679 の案の方がいいね。
ということで
>>673 を修正。
int *length_snprintf(const char *fmt, ...)
{
va_list arg;
int ret = 0;
va_start(arg, fmt);
ret = vsnprintf(NULL, 0, fmt, arg);
va_end(arg);
return ret;
}
>>679 だってbugに気付いてないくらいだから素人と同じ。
>>680 バグってなんだよ。↓これを指摘しろという事か?
>>679 で完璧な回答なのになぜバグコードを晒し続けるんだ?
int *length_snprintf(const char *fmt, ...)
{
int ret = 0;
return ret;
}
gcc (Ubuntu/Linaro 4.6.1-9ubuntu3) 4.6.1
>>673 ,
>>680 共上記の環境では意図通りに動くよ。
これ、あーげる。
#include <stdarg.h>
#include <stdio.h>
int length_snprintf(const char *fmt, ...)
{
va_list arg;
int ret = 0;
va_start(arg, fmt);
ret = vsnprintf(NULL, 0, fmt, arg);
va_end(arg);
return ret;
}
int main(void)
{
char ss[1];
int ret, l;
l = snprintf(NULL, 0, "%d", -1 * 1000000);
fprintf(stdout, "l = %d\n", l);
l = length_snprintf("%d", -1 * 1000000);
fprintf(stdout, "l = %d\n", l);
return 0;
}
>>682 compile できたの?
l = snprintf(NULL, 0, fmt, arg, ...);
errorが出てできないっしょ。
>>682 のいうとおり
>>680 は"warning"が出てるね。
まあ、私の場合はcompileは通りますので、、、
"完璧"とまで言ったんだから、どのcompilerで完璧だったのか教えてよ
>>682
実行してみると正しい結果になるのは解ったんだけど どうしてそうなるのか解らない vsnprintfの返り値は書き込んだ文字の数だから bufがnullでnが0だったら0が返ってくるはずでは?
>>686 実際に書き込めた数じゃないぞ
これ読んでも分からんかったらまた聞いて。
http://linuxjm.sourceforge.jp/html/LDP_man-pages/man3/printf.3.html 名前
printf, fprintf, sprintf, snprintf, vprintf, vfprintf, vsprintf, vsnprintf -
指定された書式に変換して出力を行う
返り値
成功時には、上記の関数は書き込まれた文字数を返す (文字列の最後を示す
ために使用する '\0' は数に含まれない)。
snprintf() と vsnprintf() は、 size バイトを越える文字数を書き込まない (size には
文字列を終端する '\0' もを含まれる)。この制限によって出力が切り詰められた場
合には、もし十分なスペースがあれば書き込まれたであろう文字の個数 (文字列を
終端する '\0' を除く) を返す。従って、返り値が size 以上だった場合、出力が切り
詰められたことを意味する (後述の注意も参照のこと)。
エラーが発生した場合は、負の数を返す。
>>684 アホですか?
snprintfの第一引数にNULL, 第二引数に0渡せって例示した疑似コードじゃん。
文字列のコピーの際に見かける、while (*s1++ = *s2++)という表現について質問です。 これは条件文のところを、(*s1++ = *s2++) != 0x00と読み替えることができ、 ループが終わるのは*s1が0x00になったときという認識でよいのでしょうか。
よいです
ありがとうございます。 *s2++は*s1++に係っていて、その*s1++を0x00と比較するということですね。
>>688 全然完璧じゃないじゃん。
>>688 は疑似codeを"完璧"な回答っていうの?
悪い意味での傲慢さを感じたので言っとくと、
...
は関数の引数なんかにならないよ。
関数を定義する時は、
>>683 みたいに使えるけどね。
疑似っていいたいなら、
>>683 みたいに
snprintf(NULL, 0, "%d", -1);
でいいでしょ?こっちの方が簡単じゃん。
なんもかも中途半端なの、
>>688 の仕事は!
argとかvprintf(), vprintf(), vsprintf(), vsnprintf() に渡す引き数名でないってとこに、
引っかかるというか違和感を感じるんだけど、
stdarg.hを使ったことないんだろうからまあいいや。
>>683 に書いておいたから勉強して。
>>690 変数名から、
while (*s1++ = *s2++) != '\0'
と考えた方がいい。
また、loopが終わるのは*s2が'\0'となった時という認識の方が良いと思います。
以下の時while()に入った瞬間に終わっちゃうと思ってしまわない?
char s1[80], s2[80];
s1[0] = '\0';
strcpy(s2, "abc");
while (*s1++ = *s2++)
>>693 アホですねえ。質問は
> 実際には書き込まずに変換後の文字列の長さを返す関数とか無いんですか?
なので、snprintfの使い方を示せばそれで完璧な回答。
int*宣言してint返すコードを書くようなカスが出しゃばるなよ。
そして、ありませんかに対して
>>664 > 自作するしかないけど、どうぞ。
と答えてるけど、実際にはあるからウソじゃん。 snprintf(NULL, 0 の使い方知らなかっただけだろ。
それを素人と言われて完璧な回答に言いがかり付けるとは素人以下のカスと言わざるを得ない。
もう邪魔だから消えろカス
C99じゃないと使えないとかゴミだし
C言語ってなんか便利機能追加される予定ないの それか超テクニックとか乗ってるサイト教えれ
>>694 int*宣言してint返すコード && 意図通りに動く
と
実際にはcompileすら通らなくて自称かつ自画自賛で完璧な疑似code
って比較にならないよね。
snprintf()は、
compileすら通らないcodeでsnprintf()の使いかたを示せたとか言うんだー、へ〜、へ〜
さらには、... とか引数として与えれないのに、
snprintf()の使いかたを示せた完璧なcodeっていうんだーへ〜へ〜
>>695 お尻だけ隠してる、よっぽどかっこ悪いってようやく気付いたんだね。
みんなの前で言っちゃってごめんNE!
>>684 をコンパイルしようなんてやつはいないだろJK
お前頭おかしいよ。
素人以下のカスが必死に回答するのって止めといた方がいいな。
>>699 の壊れっぷりを見るとつくづく思う。
> snprintf()の使いかたを示せた完璧なcodeっていうんだーへ〜へ〜
完璧な回答と言ったが完璧なコードとは言っていないぞ。
>>693 素人と言われてヒートアップするのはいいけど
> while (*s1++ = *s2++) != '\0'
これはなんですかあ? コンパイル通りそうもないけど。 まさか
>
>>688 は疑似codeを"完璧"な回答っていうの?
って、言ってる人が疑似コードなんか書くわけないよね。謎だな。
> s1[0] = '\0';
この書き方が素人っぽい。
ドングリの背比べ。
他所に行ってやれ、ガキ共。
>>703 素で間違えたよ悪かったな!
char s1[80], s2[80], *p1 = s1, *p2 = s2;
s1[0] = '\0';
strcpy(s2, "abc");
while ((*p1++ = *p2++) != '\0');
fprintf(stdout, "s1 = %s\n", s1);
fprintf(stdout, "s2 = %s\n", s2);
絶対にミスしちゃいけない煽り返しレスで2度も間違えるなんて、やっぱり素人。
>>693 > また、loopが終わるのは*s2が'\0'となった時という認識の方が良いと思います。
これも不正確だし。質問者の認識の方が正解に近い。
'\0'が0で無い場合ってある?
それでも '\0'は'\0' 0は0で使い分けられるならそれにこしたことはない
>>710 その使い分けは意味がない。
\0 は \012 等の 8 進法表記の一種であり、\n, \r とは事情が異なる。
0 と書いてなんら問題ないし、どうして使い分けなければならないのか?
文字という意味があるよ、クズ。
int data[10]; のとき data と書くのと &data[0] と書くのは一緒だけど意図してるものは違う それと一緒
>>690 > ループが終わるのは*s1が0x00になったときという認識でよいのでしょうか。
正しい。
>>693 の
> また、loopが終わるのは*s2が'\0'となった時という認識の方が良いと思います。
は素人のヘボ回答だから信用しちゃダメ。
*s1++ = *s2++は代入式であり値を持つ。その値は左辺側の変数に代入された値。
この例では両辺ともintなので同じに見えるが、
int a; double b;でa = bはint型の値になる。
したがって
>>690 の理解が正しく、右辺側の*s2が0になった時とする
>>693 は間違い。
>>693 は回答する側としては知識も経験も足りないと評価せざるを得ない。
>>714 初学者に「data=&data[0]」と説明するとき以外に&data[0]とかく理由がない。
まあ意味がないという点では \0 と一緒だろう。
>>716 #define も意味がなくなるな
お前は害悪にしかならんので巣から出てこないで欲しい
>>711 char *a = "死ねクズ\0氏ねじゃなくて、死ね";
>>711 文字列中のエスケープの場合に0では代用できんだろ、クズ。
文字列の定義を勉強しなおせ
QzがGetOpenFileNameを使えないクズだと決定。
>>722 MSの糞仕様を糞というだけで使えるか使えないかの問題ではない。
725 :
デフォルトの名無しさん :2012/03/10(土) 10:17:04.57
strstrディスるな屑。
>>724 だったらMSよりも良い仕様を全世界レベルで広めてくれよ
>>724 >>711 > \0 は \012 等の 8 進法表記の一種であり、\n, \r とは事情が異なる。
> 0 と書いてなんら問題ないし、どうして使い分けなければならないのか?
これは使い分ける必要がなく、0と書くという表明だろ。
"All Files\0*.*\0"
で済むところを
char filter[] = {
'A','l', 'l', ' ', 'F', 'i', 'l', 'e', 's' 0, '*', '.', '*', 0, 0
};
こう書くわけだ、大変だな。クズ。
こんなクズコードはレビュー通らないので、QzはGetOpenFileNameを
使えないカタワという結論になるわけだ。
____ / \ / ⌒ ⌒ \ 何言ってんだこいつ / (●) (●) \ | 、" ゙)(__人__)" ) ___________ \ 。` ⌒゚:j´ ,/ j゙~~| | | | __/ \ |__| | | | | | / , \n|| | | | | | / / r. ( こ) | | | | | | ⌒ ーnnn |\ (⊆ソ .|_|___________|  ̄ \__、("二) ̄ ̄ ̄ ̄ ̄l二二l二二 _|_|__|_
Cは文字リテラルの型が int つーのがクソだな。 char なら意味的な使い分けだけでなく言語的な使い分けだと言えたのに。 非互換になってでも C++ で改めたのは英断だったと思うわ。
charの256個以外にEOFが必要 EOFが-1
731 :
デフォルトの名無しさん :2012/03/10(土) 14:01:37.10
NULL も意味的な使い分けなんだが・・・ そもそも bool のない言語で何を勘違いしているのか
C99 では stdbool.h で bool が定義されてるよ。 _Bool の別名。
sizeof(char) <= sizeof(short) <= sizeof(int) <= sizeof(long) 仕様で決まってるのはたしかこの関係だけなんだよね sizeof(char) == sizeof(int)の処理系で charが8bitの環境ってEOFをどうやって扱うの?
734 :
デフォルトの名無しさん :2012/03/10(土) 14:13:47.95
bool ないとやだやだジタバタするガキんちょ用に、おしゃぶりくれてやったのは知ってるが だからって本質的に何かが変わったわけではない # feof は int 返しのままだし、is* のマクロ実装や strcmp もどうもしてない
>>733 > たしかこの関係
たしか、ってどういうこと?
意味不明で出所不明な妄言に近い何かを書いてんの?
SHRT_MAX は少なくとも 32767 以上でないといけなかったはず
256個の文字をすべて使ったら、char型ではどれを終端として使えばいいかで揉めてるの?
>>736 オマエは存在自体がクサいな
永遠に黙れアホ
たしか… はず…
たしかcharは8bit以下であったはず …こんな調子ならいくらでも言えるわな。ああくせえくせえ
頭固そうなやつらだな お前らまさかと思うがいつもその調子なのか? 確実に職場の空気悪くしてるぞ 早く解雇されるかやめてくれねーかなって 確実にそう思われてるタイプ
>>743 うちは「たしか」、「はず」なんてミーティングでは許されない。
最低でも「たしか〜。次回までに調べてきます」。
ダメな奴らが集まる職場ってあるんだな。
>>744 誰がミーティングだけの話してるって言ったよ
お前も案外聞いてることと言ってることがあやふやの適当人間だったんだな
そういうおっちょこちょい人間らしいとこが有ってちょっと安心したよロボット人間かと誤解してたわ
そりゃあもちろん仕事ならきちんと調べるが、ここに書き込むくらいでわざわざそこまでしない だいたい例え断定口調で書かれてても誰が言ったかもわからん書き込みを信じるわけにはいくまい どのみち最終的には自分で調べるだろ?
調べてから発言しろよ。カス。
発言する奴が調べて、訊いた奴も調べたら、二度手間じゃないか 大いなる時間の無駄だ
>>744 >うちは「たしか」、「はず」なんてミーティングでは許されない。
"たしか" とか "はず!" という発言を許さない環境で出来上がる物って、
大概、保守性や拡張性を失った "とりあえず動く" だけのものになる。
根本的な設計の妥当性とかは議論の対象にならないから。
結果、そのようなスパゲッティの山盛りを保守するしか能の無い奴が
幅を利かせることとなり、ただいたずらに工数だけが浪費されていく。
そして、そうなってしまった事に対する責任は誰も取らない。
駄目な現場の典型だね。
>>730 規格では、EOFは「型がintで、負の値をもつ整数定数式」なので、
-1以外もあり得る。
発 者 同 . 。_ ____ 争 生 同 .じ . /´ | (ゝ___) い .し 士 .レ .__/'r-┴<ゝi,,ノ ro、 は、 .な で .ベ ∠ゝ (ゝ.//` ./`| }⌒j .い し .ル } ⌒ /`ヽ、_∠l,ノ ・ヽ´ .! ! か の / ´..:.} >、、___, .r、 ソ、`\ / ..:.:.} / |∨ ` ̄ / ..:.:./ | 丶 / _、 ..:.:.:.{ .{.:.:. \ { ..:Y .ゝ、 {.:.:.:.:. ヽ |、 ..:/ 丿 .:〉 >.- ⌒ . ヽ / {. ..:./ ソ ..:./ .( ..:.:.:` ..:} ./..:.:}.:.:./ ヘ、 ..:./ .\ ..:.:r_,ノ、.:.:} ./..:.:/|.:/ {.:./ X.:.:}.} X X /..:.:/ .}.:| }:/ .Y丶ヽ Y.:Y . __/.:/ { } 《.〈、 _,,__>.:》丶 Y.:\ /.:.:.:.:.::/ !.:.:ゝ ゝ.:. ̄ヾ ´:.:.:.:.:.:.:.:.:ヾゝ \.: ̄> 9
>>748 たしか…なんてクズ情報はないのも同じだから電気代の無駄。
>>749 出来ない奴の言い訳の典型だな。
>>752 いいかげん反論が苦しくなってきてるぞ
少し冷静になるんだ。お前ならできる。頑張れ
>>752 言い訳しなくてはならない事をした覚えはないが、何か?
>>753-754 > "たしか" とか "はず!" という発言を許さない環境で出来上がる物って、
> 大概、保守性や拡張性を失った "とりあえず動く" だけのものになる。
原因と結果の因果関係が全く不明だね。クズの言い訳じゃないなら説明してごらん。
管理者が無能になりすぎて減点方式がいきすぎると 何もしない何もできないのが一番評価が高くなる
>>755 これは俺の感想だからね。説明することなんて何もない。
実際、よくある話だし。
早い段階からガチガチに厳密にやろうとしてもいいものは作れない 細かいところばかりに眼がいって大局を見失い全体的な最適化が難しくなる 抽象的で大雑把なイメージから徐々に細かいところを詰めていくのが正しいやり方 この粘着君はこんな当たり前のことも知らないことからしておそらく学生だろうね
つーかプログラマーのはしくれなら知ってるはずだぞ この業界狂った奴が多い プログラミング取ったら何にも残らないような奴がいるってことを
だれが現場職場の話をしてんのよ。
話そらすなよ。
上手くごまかせたとか思ってるだろうけど、
それはムダだから。
>>733 の文脈で「たしか」なんて使ってるのは無能や低能。
参照元の資料を出してスタートライン。
実例を書いても数分もかからない。
それとも、その大小比較のためのsizeofのコードすら書けないのか?
>>758 いや、学生ではないと思う。
よく居るよ、こういう視野の狭い奴。
>>760 現場の話最初に持ち出したのはお前だろついに気が狂ったか
763 :
デフォルトの名無しさん :2012/03/10(土) 17:26:47.30
言葉狩りにご執心な事業ゴミには触らないこと 主張が傲慢なやつはせっかく論破してもゾンビみたいにしつこいから 相手しているフリをしつつ、結果を見て懲りていただく算段を練った方がいい 論議中に個人批判を始める手合いも根は同じ
つーかどっからsizeof(char)なんて出てきたんだ?
言葉狩りとかwww 型のサイズ、基本だろ そこの重要なところで「たしか」くらいの認識しかない奴は、今すぐ淘汰されろ 業界から去ってくれ
ダメな奴が群れるんだな。 発言に対しては責任を求められるから、普段から困らないよう用意しておく。 そのうえで発言できない奴こそ減点対象だ。
CとC++なら sizeof(char)==1 って仕様で決まってるけど javaだとなんか違うんだっけね
下手に知能の高い奴が生半可にかじった分野の理解方法を他人も共有出来ると思い不用意に話題を進めると その分野で停滞してる無能寄りのヤツから無駄なツッコミ喰らうてのはありがちだよね
荒れ狂うC言語使い
汚い人間だね
ファイルから1文字読み込み 【書式】 #include <stdio.h> int fgetc(FILE *fp);
>>768 javaの場合はcharは2バイト、byteが1バイト。
>>727 どうでもいいんだけど、
"All Files\0*.*\0"
の\0は8進法表記の一種であると納得してるっぽいよね
ていうか、0って8進数じゃないの?
数字の後ろにつける、ULとかLとかの一覧ってある?
>773 javaもcもなんでcharってsigned何だっけ? intに代入しやすいからか?
8進法表記であることと、'\0'を終端文字として0と意味的に区別することは、別に相反しない
>777 何でと問われても知らんがなw 規格作った奴に聞いとくれ。
>>777 C の char は signed ではないよ。
>>781 char が signed charだと、unsigned charってunsigned signed charって
意味になるから格好悪くね?
>>782 char が unsigned charだと、signed charってsigned unsigned charって
意味になるから格好悪くね?
トゲアリトゲナシトゲトゲって架空の昆虫らしいよ
>781 あーcってcharの符合実装依存なのか typedefしないと危険だね
787 :
デフォルトの名無しさん :2012/03/10(土) 20:28:32.04
あくまで「3つの型」で、別名とまでは言ってない
>>786 C99 なら int8_t と uint8_t が使える。
可能ならなるべく標準なものを使った方がいい。
789 :
デフォルトの名無しさん :2012/03/11(日) 00:47:00.88
クーズ、クーズ、QーーーーZ。
790 :
デフォルトの名無しさん :2012/03/11(日) 05:55:12.85
>760 時間がすごいな
>>790 いいやあんまりすごくない
ほんとうにすごいのは
2012/12/12/ 12:12:12.12
くらいか
そのあたりまで行かないと本当にすごいと言うことはできない
レア度が高いとは言えない
↑ とりあえずなんでも否定しとけば偉くなったと勘違いするタイプ
>>792 は嫌われものかつ自治スレでQZに謝罪を要求している奴
つまりは朝鮮人
# ドメイン変わってないっすよ
>>795 別スレまで来て自演してるのか? クズの中のクズだな。Qz。
え?クズって朝鮮人なの? あ、それはそうか。
798 :
デフォルトの名無しさん :2012/03/11(日) 10:56:17.52
毛が抜けるほどくだらねえ
なるほどQzは朝鮮人か。どのスレいっても嫌われるわけだ。
ひゃ〜〜
801 :
デフォルトの名無しさん :2012/03/11(日) 12:38:04.43
仲間がいてよかったな、チョン。
802 :
デフォルトの名無しさん :2012/03/11(日) 16:24:28.40
ソフトウェアキーボードを作る方法について教えてください サンプルプログラムもあると嬉しいです
まずはGUIやグラフィック関連のライブラリを集めて(ry
804 :
デフォルトの名無しさん :2012/03/11(日) 16:50:06.73
javascriptで作るのが良いのでは? 簡単だし
805 :
デフォルトの名無しさん :2012/03/11(日) 16:57:39.28
テキストエリアに打ち込むタイプではなく、他のソフトに打ち込めるタイプを希望します。Javascriptでも構いません。
>>805 「他のソフトに打ち込めるタイプ」
ってどういう意味?
とりあえずCの話ではないかな。
標準入力を読めるプログラムなら、普通に標準出力に吐いてやれば、
パイプなり、リダイレクトなりで流し込めるけど。
807 :
デフォルトの名無しさん :2012/03/11(日) 17:14:48.67
例えばwordを起動したときにwordの文章に入力できるようなものです。 imeのソフトキーボードのようなものですが、自分でキーの配列を決めたいのです。 できれば1つのキーで複数の文字を入力できるものがいいです。 漢字変換はいりません。
GetASyncKeyState
SendInput
810 :
デフォルトの名無しさん :2012/03/11(日) 20:30:52.93
初歩的な質問です。 構造体(スレチになりますが、クラスも)をメモリに確保した際 アドレスは連続しているのでしょうか?
811 :
デフォルトの名無しさん :2012/03/11(日) 20:31:51.27
すみません 言葉が足りてませんでした。 構造体のメンバ変数のアドレスになります。
no
連続? アライメント
わりと連続してるけどアラインメントの関係でパディングされる場合もある。 大抵のコンパイラには連続させる方法も用意されてるけど。
基本的な質問 typedef hage; この文は文法的に正しいのか? typedef って、<typedef 元の型名 型の別名> という構文で、 ある型に別名を与えるものだと思ってたんだが、 上記の文は元の型、あるいは別名、どちらか一方しか与えていないよな でも、gcc では問題なくコンパイルが通ってしまうんだ(他のコンパイラは知らん) 例えば次のプログラムを実行すると、3 が表示される #include <stdio.h> typedef hage; void main () { hage x = 3; printf ("%d\n", x); } どういうこと?
変数名がよろしくないので誰も答えません
clangが出してくる警告。 warning: type specifier missing, defaults to 'int' [-Wimplicit-int] typedef hage; ~~~~~~~ ^
clangも変数名にお怒りだ
h.c:2:9: 警告: 型がデフォルトの ‘int’ に ‘hage’ の宣言内でなります [-Wimplicit-int] -Wallつけてやってみれ
なるほど 省略されたらデフォルトの int になるのか ありがと
>>812-814 では例えば
memsetで構造体などを引数にしたりする場合
構造体すべてが初期化されないこともあるということなにでしょうか?
>>821 sizeof でわかるのはパディングも含んだサイズだよ。
>>821 例えば、
struct foo bar;
memset(& bar, 0, sizeof(bar));
とすれば漏れない。寧ろ、メンバ間に隙間があればそこもクリアしてしまう。
構造体のコピーはmemcpyでやっちまっても何も問題は起こらないんですか?
すいません、いきなり質問ですが、今年の春から電子関係の専門学校に行こうとおもっているのですが、高校時代に全商検定1級取得しました そのレベルのアルゴリズムなどは理解できます、それ以外にもIパス取得しました。これから就職するさいに資格なんかもってたらアピール材料になると思うので、さらに上位の資格もとりたいと思っています。 最低ITはいるなら基本情報なんかもってないと厳しいなんて聞いてます! もし応用も取得してたらそれなりに評価なんかもしてもらえますかね その他にも、知り合いに情報関係で働いてる人がいるんですが、その人いわく情報系の資格なんてIT関係でもってるのはあたりまえそれ以外に簿記やら全然職種の違う資格なんかをもってるほうが就職に有効なんじゃないかなんて教えてもらったこともあります たとえば、情報以外でとって置いた良いオススメの資格なんかありますかね??
struct foo bar = {0}; こっちの方がおすすめ。ポインタも正しく初期化できる。
構造体のコピーはmemcpyせんでも出来る 聞くだけじゃなくて、動かして確認したほうがいいよ どっかでそう言われましたは、通用せんから
>>824 浅いコピーなら問題ないし、= で代入してもいっしょ。
>>825 このスレを最初からここまで全部読んだ上で本当にマになりたいか小一時間考えろ
点数とれたから、出来るようなら、世の中もっと進んでるような気がするけど
832 :
デフォルトの名無しさん :2012/03/11(日) 22:25:35.82
>>825 資格以前にまず空気読めろ
その調子で面接いっても「こいつはコレ@」と祈られるだけだ
マーダーライセンス合ったら外国でも活躍できるぞ
836 :
デフォルトの名無しさん :2012/03/12(月) 02:48:16.23
できるね
撃っていいのは撃たれる覚悟云々ってアニメで言ってた
>>827 Cは未定義とか処理系依存とか多いので、
特定の処理系でこうでした、も通用しないよ。
あーつまんね、かかってこいよお前ら オラオラオラ
トリをコピペするバカってまだいるんだ
てすつ
そこらのスレならいいけど 技術系のスレで見ると悲しくなる
ひゃ〜〜〜
◆8X2XSCHEMEの人気に嫉妬
845 :
デフォルトの名無しさん :2012/03/13(火) 00:28:18.10
>>845 関数の機能がわからないので何とも言えないけど、
文字列の頭からスペースとタブ文字以外の文字が出てくるポインタを返すという機能っぽいし
実際そのように働くように見えるよ。
なんでバグと思ったの?
847 :
845 :2012/03/13(火) 00:42:02.57
while (cp) { は、 while (*cp != '\0') { が正解かと思うのですが、どうでしょうか 文字列の左側から ' ' と '\t' を読み飛ばす関数だと思います。
おうそうだ。while (cp) じゃだめだね。ゴメン見落としてたよ…
849 :
デフォルトの名無しさん :2012/03/13(火) 01:02:03.20
ひょひょ
意図していないコードに思えるけれど、それが顕在化するかどうかは別なので。(実際は空白とタブ以外の文字が入っていないことがないとか) もちろんfixしない手はないが。
>>847 こういう、条件部に変数名(あるいは!付きの変数名)だけ書いて
等号・不等号を付けないコーディングって
よく見ますけど、行儀としてはどうなんですかね。
自分は何だか気持ち悪いんですけど。
>>851 普通に使うな。
論理式を理解出来ない?
>>851 if(isprint(c)) { }
とか
isprint(c) ? c : ' ';
とか
他人のコードならそっちに合わせるけど、自分のコードなら絶対に付けない
>>852 理解できますが、
変数に入れている数値と論理式の評価結果は
もともと次元の違うものだと思っているので
どうも気持ちが悪いです。
そうは言っても、文法上も問題ないからねぇ。 だらだら長ったらしい日本語を書く奴に言われたくないレベルの問題としか。
ブール値も所詮は他の数値型と同じだからなあC言語では。 (従来は本当に同じだったし) Javaとかは条件式を求める文脈ではブール値に限るんだっけ?
一方アセンブラでは(ry
そういうのは昔からイディオム化してると思う。 嫌う人もいるけど、isXXX() == TRUE とか書くよりずっといい。
C言語でGUIってLinuxではあんまり見かけないのは何故でしょうか? WindowsよりLinuxでやるGUIというのは難しいということですか?
GUIならフツーはオブジェクト指向でやるから
GTK+があるじゃん
XLIBあるじゃん。
C++が普及する前は当然Cだった MOTIFとか
マルチメディアライブラリ(描画、音声、CD、ジョイスティック、イベント、スレッド、タイマ) のSDLは、C言語用です
866 :
デフォルトの名無しさん :2012/03/13(火) 16:27:39.12
質問です。 Aの誤差Bなら真にしたい場合っていちいち if((A+B)&&(A-B)) みたいにしないといけないんですか? マクロ作ればそれまでですけど±的の関数的なものは存在しないのでしょうか
if (fabs(a - b) <= epsilon)
>>866 それって意味の無い if 文だよ
絶対値をとるだけなら abs とか fabs とかがあるよ
869 :
デフォルトの名無しさん :2012/03/13(火) 16:55:41.68
確かによく見たら意味なかったです
よく見ないでも意味がない。
rubyは神
結局866は何がしたかったんだろ
>>2 の通りに進めればC言語のエキスパートになれますか?
>>874 エキスパートじゃねーよ
グルでもウィザードでもねぇ
神になるんだよ
Aがaで、epsilonがBだろ。
bに該当するもの(基準値)が
>>866 にないのが問題。
Aが基準値
C言語と直接関係ないかもれませんが N×Nの配列 a[N][N]に [1][3][6][10] … [2][5][9] … [4][8] … [7] … の順番にアクセスしたいのですが どのようにコード書けばいいのかすぐに思いつきません 何か定形がありますか?
そもそも >Aの誤差Bなら真 が意味不明。
こんなかんじ? for (i = 0; i < 〜; i++) { for (j = 0; j < i; j++) { a[i - j][j] = 〜; } }
j <= i
>>878 z = (x + y)(x + y + 1) / 2 + x を解けばOK。
ありがとうございます しかしそれだと右下半分にアクセスできないです ちゃんと質問しなかった自分も悪いですが
右下半分用のループを別に書け
>>883 謝るヒマあったら正解かけよ
コミュ障か?
それともとんでもないアホか?
N=4の時はこういう順番でいいのかどうか、yes/noで答えろ
[ 1][ 3][ 6][10]
[ 2][ 5][ 9][13]
[ 4][ 8][12][15]
[ 7][11][14][16]
むしろこれなににつかうんだよ
今だ!!!888get  ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ (´´ ∧∧ ) (´⌒(´ ⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡  ̄ ̄ (´⌒(´⌒;; ズザーーーーーッ
891 :
デフォルトの名無しさん :2012/03/14(水) 03:15:40.22
ぽいー
綺麗な実装だと思うけどやりたいことと違くね?
あれそうなのか残念。 指定の順番でアクセスしてるつもりだったんだけど。
代入じゃなかったとしも、代わりの操作に入れ替えればいいだけだよな
>>895 スレタイ無視するならもうちょいがんばろうよw
なんとなく理解出来たがzipメソッドって面白いな
ループをまとめて無駄なifつたり、二重ループをひとつのループにして除算と余算で計算量増やしたり、 なんでも短く書けばいいってもんじゃねーな
アルゴリズムの勉強をしたいんだけど、 C言語を利用したアルゴリズムの本でおすすめってある? C言語自体はある程度かけるけど、アルゴリズムについてはあまり知識がない。
>>900 今時のコンパイラなら、この程度のコードでは大差無い。
904 :
デフォルトの名無しさん :2012/03/14(水) 13:33:14.59
>>871 こういうことを言うのは使えない。
ただのプログラムを紙とか、何も理解してない証拠。
Makefile にヘッダ同士の依存関係を書きたいんですが どうしたらよいでしょうか
makedepend
>>907 それだと、ヘッダファイル同士ではなくて
ソースに依存したヘッダファイル全部になりますよね
長くてダサくて嫌なんだよ
別に見るもんでもないのにアホ?
910 :
デフォルトの名無しさん :2012/03/14(水) 16:59:56.41
>>759 それは職業が専門的になるほど必然的になると思うね
イチローや松井から野球をとったら何も残らない
貴乃花親方も自分は相撲の世界しか知らないと言っている
何も残らなくても優れた技術と能力があって
そこそこ高級な給料稼げる奴に憧れるよ
休日は海外旅行やセーリングといった生活をしたいね
ビルゲイツは会社が小さい頃は同僚と昼夜を問わず
プログラムミングをして 休日はスポーツカーをぶっ飛ばすか
映画をみるだけの日々だったと回想しているね
>>908 ん?
ソースに依存したヘッダファイルって何?
ヘッダ同士の依存関係を書きたいならヘッダ同士の依存関係を書けばいい。
>>906 ヘッダとソースの依存関係を書くのとなんら変わらんよ。
てかMakefile内でヘッダとかソースとかの区別なんてないでしょ
gcc -MM とかすりゃいんじゃね?
だよね Makefile直書きより別ファイルに出力してincludeのほうが好きだから、いつもそうしてる
916 :
デフォルトの名無しさん :2012/03/14(水) 21:28:14.93
C言語を使った仕事って何があるの? ゲームとか?それくらいしか思いつかん。 プログラマーのやついたら教えろ。 こんなもん勉強しても何の役にも立たないでしょ。 情報学科入って損したわ。 名簿リスト作って何の役に立つねん。 ボケが。
>情報学科 理屈とか理論を教えてくれるだけでしょ お金?にする方法を教えてくれるわけじゃないからね
>>916 君は学科以前に大学に入ったことが間違い
組み込みはC言語だってば 自動車やら家電やらC言語が現役で活躍してるよ ゲームはもうC++やC#だね パチンコの液晶プログラムはCだが 作りたいものがあるなら授業なんかあてにしないで自分でどんどんプログラムするべき 作りたいものがないなら向いてないからしね
ランニングや腕立てしながら、野球に関係ねえ事やらせるなと叫んでるようなものだ
C言語は、CPUが今の機械語タイプのCPUであり続ける限り、無くならない
簡単すぎて暇すぎるってんなら分からんでもない 友達のを丸写ししてるんなら大学へ行く価値は無い
大学に入ってから厨二病発症か 情けないなあ
情報系の学生量産しちゃったからね
>>916 Cが読めれば、他の言語もだいたい読めるようになるから、
損になることはないよ。
それにCが「ちゃんと分かる人は」他の言語もすぐに分かるようになる。
あと、コンパイラはまず間違いなくCで書かれるだろうから、
Cは10年後も20年後もある分野では主流であり続けると思う。
JavaとかC#は10年後20年後に、今のCOBOL状態でも驚かないけどね。
>>916 Cの仕事だと電文処理とかしてる。
あとはCじゃない仕事で、速度のためにところどころCを。
Cに対する印象はこんな感じで変わってった。
ややこしい→覚えたけど使い道がない→いろいろできる!おもしろい!
→規模が大きいとめんどくさすぎる→いざというときに頼りになり、楽に書けるやつ
今のCは共通語みたいな感じじゃないかね。 普段何をメインに使う人も、とりあえずある程度読み書きできて普通、みたいな。 普段日本語を使うけど英語の資料読めないと仕事にならないよ的な。
>>925 >Cが読めれば、他の言語もだいたい読めるようになるから、
俺もそう思ってたが、今はもう時代が違いすぎる
>あと、コンパイラはまず間違いなくCで書かれるだろうから、
これももう時代錯誤になってきている
高級言語的アセンブラの地位はしばらく続くような C++ベースでコンパイラ書けるようになってきた?
なってきたとは?
goとか
プロプラなコンパイラはなんで記述してるかまでわからんからね
>>928 ラムダ式が台頭してからそういう印象になったね
最近は理系大卒よりも別業界からの未経験者の方が優秀なPGになったりするからな。 仕事で使う専門知識なんてほとんど無いし。 低レイヤプログラマーがもてはやされてた時代が一番楽しかったよ。
Cに似た構文を持つ言語で、というのを書いたほうがよかったんだろうか。
今の時代に求められているものは要領の良さとコミュニケーション能力。 価値のあるPGになるために、積極的に外に出て人脈を作り、勉強会で発表して実績を作ることをオススメする。
昔、女神板の画像を自動収集するツールをcで作ったけど いまだに使ってる
Cを仕事で最後に使ったのはいつだろうか... 10年くらい前にグラフィックライブラリを移植した時が最後かなぁ... それ以降はC++。
たとえ中身がC++で書いてあっても、あちこちで使うものほどCのインターフェイスでラップしてあったりするじゃん。 Cのインターフェイスさえつけておけば、色々な言語から呼び出せたりとか。 Cだけ使ってっていう場面は少なくなってきただろうけど、必要性はまだまだあるよ。
呼び出し規約ではC型とPascal型が2大勢力て感じか
944 :
デフォルトの名無しさん :2012/03/15(木) 00:05:57.12
知 っ た か 乙。
945 :
デフォルトの名無しさん :2012/03/15(木) 00:08:20.36
情報系で就活してるが、この世の中にC言語を使う職業があるのかすら 疑問。都市伝説レベル。 親には「あんたはPCできるから頑張りんさい」って言われるけど、 プログラマーっていう職業自体あるのかわからない。 どんな職場で、何人いて、どういったリズムで働いてるのかすら想像できん。
ママのおっぱいしゃぶってろガキ
>>945 未だにCメインだよ
低性能なマイコンでの仕事だとどうしてもCの方が楽できる
C++だと性能が落ちる!って言い張るクライアントも多いしね
949 :
デフォルトの名無しさん :2012/03/15(木) 00:21:19.61
>>947 アニメ以上にファンタジー過ぎて信じられん。
俺は、就活のために外に出る。
オフィス街も歩く。
でコンピュータを操る人間が存在する気配すら感じない。
見事に友達からもそういった雰囲気も感じない。
俺は国立大ですよ。
ここだけ20年時代がずれてるスレじゃねえぞ
>>949 学内で使えるかもしれない人脈に期待したほうが
952 :
デフォルトの名無しさん :2012/03/15(木) 00:25:12.83
プログラマーって職業は、評論家と同じく正式な職業じゃないんじゃないの?
953 :
デフォルトの名無しさん :2012/03/15(木) 00:26:15.66
プログラマーって職業はクラウドで、そのシステムに関して実際誰が 携わってるのか分からない予言的職業
正式な職業ってなんぞ? 国家資格で免許が与えられるかどうかか?
正式な職業()
956 :
デフォルトの名無しさん :2012/03/15(木) 00:34:20.69
だろ、って言われましても…
正式な職業()
959 :
デフォルトの名無しさん :2012/03/15(木) 00:37:17.23
なんでこのスレで頑張ってるの?
961 :
デフォルトの名無しさん :2012/03/15(木) 00:40:27.31
>>960 プログラマーがムカツクから。
だって得体が知れない職業だし。
どうにかして存在否定したい。
おれもちょっと前までは家電の組み込みを(C++でだが)やってたが、まぁ今時 ほとんど中国かインドに○投げだからな。
961「僕は…・僕は!!僕はプログラマーを憎んでいるんだぁぁぁああああああああ!!!(笑)」
なんか幼稚なのに絡まれちゃってるね…
雇い主 (あるいは顧客) が認めて金払ってんなら技能にかかわらず職業だろう。
というかいい加減マ板でやれと
大学生くらいならこんなもんでしょ
ひねくれた劣等感の裏返しだわなあ
院卒だけど自分のスキルを仕事に生かせる職場は本当に一部だと思う。 そして高給料期待出来るのはその中でも本当に一握り。 パッパラパーなWeb系の雑魚どもの方が脚光浴びて給料高いという現実。
>Web系の雑魚ども 大人の事情ってやつだよ、羽振りがいいのは
愚痴? だったらそのパッパラパーなところに乗り込んでいって稼げばいいだけじゃん お前が言うように雑魚ばっかりだったらとんでもなく稼げるんじゃね なんでいかないの? ぐちぐち情けねえやつだ
ソッチ系やるのはいいけど、潰れんように注意しなよ
同じプログラム書く仕事でも、分野によって持ってる知識や技術の方向性はまったく違うから、 どっちがアホとか簡単には比べられないと思うわ。同じ業界とは言えないくらい違う。
小難しく考えてるみたいだけど 要求は違うけど、やることはあんまり変わらんみたいなこともあるでよ
数式くらいは読めなきゃダメな分野もあるし プログラムというよりこれデザインじゃねって分野もあるなw
画像処理と突然Webアプリじゃ、やることまったく違う。 どっちのもアホなやつはアホだし、スゴイやつはスゴイ。
突然関係ない単語が混ざってしまった
突然Webアプリってなに
突然ガバチョという古い番組を思い出してしまった
おい突然webアプリってなんだよ
まぁあれだな プログラムっておもしろいよねって思える人じゃないとどっちもやってられないっていうことだよね
「マイコン技術なんてもう古い」→フルボッコ
文法的に可能かどうか、可能であれば記述方法を聞きたいのですが、 関数を定義するとき、その戻り値の型として関数ポインタを直接記述することは可能ですか? 関数ポインタを返す関数の記述は、一般的には次のように typedef を使いますよね typedef int (*fp) (int a, double b); fp g (char a) { ... } これを typedef を使わずに関数名の左側に関数ポインタのシグネチャを直接書けるか という質問です
関数名の左側には書けませんが、直接書くことはできます int (*g (char a)) (int a, double b) { ... } と書きます
そんな関数どこで使うんだ?
Cにはclosureがないからあんまり使い途はないかもね
ジャンプテーブルとか状態遷移表的なもののアクセス関数なら使うんじゃね?
988 :
デフォルトの名無しさん :2012/03/15(木) 13:22:28.71
Web系の職場って、まるでドラマのセットみたいな職場だよなww 髭生えたイケメンと、清楚だけどオシャレな女ばっかのイメージwwww you tubeでWeb系の動画見てるといつも思うwww
最適化の対象外になったりしない?
使えないことはないと思うけど無駄に複雑になるだけのような気がする
991 :
デフォルトの名無しさん :2012/03/15(木) 13:23:46.84
Web系の仕事ってようは、デザインとかだろ? デザイン気にするようなサイトってどんなのがある?
>>991 おまえさんプログラマですらないだろ
なんでこのスレにいるんだ
993 :
デフォルトの名無しさん :2012/03/15(木) 13:26:34.08
>>992 俺プログラマだが?
ハムスターの電動回し車のプログラム書いてる。
「名前空間を汚さない」以上の意味は無いな。
>>994 そもそもCには無名関数はないわけで、名前空間を汚すと思うんだが
ま、ファイルスコープ関数を使えばそんなに汚れはしないか
997 :
993 :2012/03/15(木) 13:30:40.85
ハムスターの電動回し車なんて嘘に決まってるだろwww 本当は構文解析プログラムの研究を行っています。 大阪大学卒です。
そうか。なら頭の弱い子はいなかったんだ よかった
面白いものに関するプログラム言った奴が勝ち
乳首アプレット
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。