C言語なら俺に聞け(入門編)Part 104

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
C言語の入門者向け解説スレッドです。

★前スレ
C言語なら俺に聞け(入門編)Part 103
http://toro.2ch.net/test/read.cgi/tech/1341059858/
★過去スレ
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++の宿題片付けます 158代目
http://toro.2ch.net/test/read.cgi/tech/1339338438/
★C++言語については避けてください。C++対応明記スレへどうぞ。
★分からない事をなるべく詳しく書いて下さい。
★ソースコードを晒すと答えやすくなるかもしれません。
  # 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること。
  # サイズが大きい場合はアップローダ等を利用してください。
http://codepad.org/
http://ideone.com/
★開発環境や動作環境も晒すと答えが早いかもしれません。
★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。
2デフォルトの名無しさん:2012/07/15(日) 12:11:11.90
< `∀´> ニダー
3デフォルトの名無しさん:2012/07/16(月) 04:57:46.24
カーニハンとリッチーどっちが好き?
4デフォルトの名無しさん:2012/07/16(月) 08:34:24.17
カニチャーハンが好き
5デフォルトの名無しさん:2012/07/16(月) 10:59:40.71
23 名前:デフォルトの名無しさん 投稿日:2011/10/13(木) 23:40:11.91
「私がひそかに満足していることのひとつは,
オープンソースの多くのものが,私が寄与したコードに基づいていることです」

「その仕事に合った道具を選びなさい(中略)
ある仕事のために新しい特殊なツールを作成する方法について考えるべきときもあります」

Dennis M. Ritchie
偉大なるプログラマからのメッセージ|Cマガジン1999年10月号31,32ページ


訃報: C 言語の開発者、デニス・リッチー氏が死去
http://toro.2ch.net/test/read.cgi/tech/1318481715/23
6デフォルトの名無しさん:2012/07/17(火) 11:00:40.33
俺はライオネルのほうが好きだな
7デフォルトの名無しさん:2012/07/17(火) 11:12:05.68
8デフォルトの名無しさん:2012/07/17(火) 19:58:01.32
俺は名犬の方だな
9デフォルトの名無しさん:2012/07/17(火) 20:10:56.10
>>8
お、犬もイケる口か
10デフォルトの名無しさん:2012/07/18(水) 09:46:40.94
犬鍋とか野蛮だわ
11デフォルトの名無しさん:2012/07/18(水) 17:07:26.78

コンパイラ bcc32 で勉強中なんですけど、、、

ソース
http://codepad.org/X6tDn8V6


実行例
argv[0]に入っている文字列:C:\temp\test\test01.exe
argv[0]の長さ:23
このプログラムの名前は test01 です

argv[0]に入っているプログラムの名称(ここではtest01)の
表示まではなんとかかんとかできたんですが^^;この
文字列を *pgname にコピーしたいのですが、
どのようにすれば良いの?



12デフォルトの名無しさん:2012/07/18(水) 17:37:42.29
さあこいエスパー!
13デフォルトの名無しさん:2012/07/18(水) 17:51:03.68
プログラム名の文字数+1のメモリを確保してstrcpyでコピー。
14デフォルトの名無しさん:2012/07/18(水) 18:05:14.80
argv[0]をFindFirstFile()で検索
cFileNameの最後の"."(ドット)を\0に書き換える。
WIN32_FIND_DATA構造体のcFileNameの先頭アドレスをpgnameにコピー
15デフォルトの名無しさん:2012/07/18(水) 18:15:26.88
>>11
pgnameがただ参照するだけの目的なら、
pgname = & str[last_yen];
でOK。
書き換えを伴うと言うのなら、malloc()でメモリ確保して云々。
16デフォルトの名無しさん:2012/07/18(水) 18:21:45.60
>>15
> pgname = & str[last_yen];
多分、それをやると".exe"も見えちゃう。

まぁ >>11 が何がしたいか良く分からないけど。
17デフォルトの名無しさん:2012/07/18(水) 18:31:49.16
あぁ、それじゃ、str[last_dot] = '\0';入れておけば。
18デフォルトの名無しさん:2012/07/18(水) 20:24:22.64
//argv[0]からカレントフォルダと実行プログラム名を抽出・表示する
#include <stdio.h>
#include <string.h>

int main(int argc, char *argv[]){

char str[300];
char *pgname;
char *p_last_dot, *p_last_yen;

memset(str,0,sizeof(str)); //配列初期化

printf("argv[0]に入っている文字列:%s\n",argv[0]);
printf("argv[0]の長さ:%d\n",strlen(argv[0]));

p_last_yen = strrchr(argv[0], '\\');
if(p_last_yen == NULL) p_last_yen = argv[0] - 1;
p_last_dot = strrchr(argv[0], '.');
if(p_last_dot == NULL) p_last_dot = argv[0] + strlen(argv[0]);
else if(p_last_dot < p_last_yen) p_last_dot = argv[0] + strlen(argv[0]);

strncpy(str,p_last_yen + 1, p_last_dot - p_last_yen - 1);
printf("このプログラムの名前は %s です\n", str);

pgname = str;
printf("pgname %s\n",pgname);

return 0;
}

// なんか、どっか、ポインタ間違ってそうだな。。。
19デフォルトの名無しさん:2012/07/18(水) 20:36:46.40
for (int i=0;argv[0][i];++i)if (argv[0][i]!='.')pgname[i]=argv[0][i];else{pgname[i]='\0';break;}
20デフォルトの名無しさん:2012/07/18(水) 20:40:46.10
ここで0x5C(\)を含む2バイト文字ファイル名登場!
2111:2012/07/18(水) 21:09:39.17
>なんか、どっか、ポインタ間違ってそうだな。。。
まぁなんとなくみたいな感じで作ってるんでかなり?かも知れませんが^^;

pgnameは参照のみでこちらで書換えたりとかの予定はないです。
何がしたいかっていうと、、、例えばヘルプで使用方法を出したりするじゃないですか。
その時にプログラム名がリネームされても変更後の名前で表示できるようにと。

道はかなり遠大な感もしますが^^;
22デフォルトの名無しさん:2012/07/19(木) 02:37:15.32
本物のプログラマはUMLなぞ書かない。UMLは、結局のところ文盲のための文書フォームである。GoFはUMLでデザインパターンを描いた;何をどれだけ描いたか見てみるがいい。
本物のプログラマはC/C++を使わない。C/C++は白ブリーフを穿いた職人気取りの喪男や、マクロフリークや、make好きのUNIXerどもが使うものだ。奴らは関数ポインタと多重継承で喜ぶ。
本物のプログラマはJavaを使わない。Javaはちんけなアプリケーションプログラマが使うものだ。
本物のプログラマはVBなど書かない。一般に、12歳以上になってVBを書くプログラマはいない。
本物のプログラマは文書を書かない。文書は設定ファイルやSQLを読めない馬鹿のためにあるのだ。
本物のプログラマはPerlだのPythonだのRubyだの、その他もろもろの怠惰で短気で傲慢じみたスクリプト言語は使わない。インタプリタはオツムの弱い奴らのためのものだ。
本物のプログラマはオブジェクト指向を理想主義者の陰謀だと考えている。
本物のプログラマはC#など使わない。C#はJavaとC/C++のどちらも選べない過保護なガキのためにあるのだ。
本物のプログラマはJavaScriptなど使わない(プログラム全体を1行で書けない限りは)。
本物のプログラマはPHPなど使わない。実際のコードより多くの括弧を使うのは女々しいのだ。
本物のプログラマはAjaxを軽蔑する。Ajaxは``クモの巣に囚われている''ニヤけた寝小便たれどものためにあるのだ。
本物のプログラマはHTMLがマークアップ言語であり、プログラミング言語でないと知っている。プログラミング言語であると主張するのは泣き虫のXML書きに後押しされたTeX使いの陰謀だ。
23デフォルトの名無しさん:2012/07/19(木) 03:35:20.02
プログラマーはコード設計するのが仕事で、コードを打ち込むのは
コーダーの仕事と、分かれていた時代もあったらしい。
24デフォルトの名無しさん:2012/07/19(木) 03:36:36.10
いいえ
25デフォルトの名無しさん:2012/07/19(木) 03:41:17.59
パンチャーというものもあってな・・・。
26デフォルトの名無しさん:2012/07/19(木) 05:00:53.75
27デフォルトの名無しさん:2012/07/19(木) 05:05:59.52
ttp://blog-imgs-38.fc2.com/l/e/n/lenzan/100215_1.jpg
   ↓ これ見ただけで、いろいろ分かるらしい
ttp://www.frontier-line.org/K-Nambu-PhD/wp-content/uploads/2010/06/085-04.png

C言語ってレベルじゃないけどな
28デフォルトの名無しさん:2012/07/19(木) 08:27:29.58
>>27
実際、ビットパターンと同じ要領で読むことができないわけでもない。
29デフォルトの名無しさん:2012/07/19(木) 08:39:25.38
機械語の読み方は勉強するだろ
むかし基本情報でやったような記憶がある
30デフォルトの名無しさん:2012/07/19(木) 08:44:07.96
31デフォルトの名無しさん:2012/07/19(木) 08:45:26.22
CASL なんて糞。本物のアセンブリをやりたまえ
32デフォルトの名無しさん:2012/07/19(木) 09:08:13.65
研究所の人はあのパンチ穴の紙テープを読めるんだよね
33デフォルトの名無しさん:2012/07/19(木) 09:22:04.33
韓国産のヒラメで食中毒 調べてみたら寄生虫がうようよみつかる
http://engawa.2ch.net/test/read.cgi/poverty/1342639945/


県内初 ヒラメ由来の食中毒

今月14日、新庄市内の飲食店でヒラメの刺身を食べた5人が下痢や吐き気などの食中毒の症状を訴え、原因は、
ヒラメに特有の寄生虫とわかりました。
この寄生虫が原因の食中毒が確認されるのは県内で初めてです。
県によりますと、今月14日午後、新庄市内の飲食店で、韓国産の養殖ヒラメの刺身を食べた5人がその日の夜に
かけて次々に下痢や吐き気などの症状を訴えて病院に運ばれ、1人が入院しました。
県によりますと全員快方に向かっていて入院した1人もすでに退院しているということです。
県が飲食店に保管されていた残りのヒラメを回収して調べたところ、「クドア・セプテンプンクタータ」という寄
生虫が見つかり、食中毒が原因と断定しました。
この寄生虫は、おもにヒラメの刺身に寄生し、全国的に食中毒が相次いだことをうけ厚生労働省は去年6月、都道
府県などに注意を呼びかけていましたが、県内で確認されたのは今回が初めてです。
県によりますと、国内で養殖されるヒラメは出荷前に寄生虫がいないか検査が行われているということです。

http://www.nhk.or.jp/lnews/yamagata/6023681251.html
34デフォルトの名無しさん:2012/07/19(木) 10:59:41.88
言語とただの電気信号の境目がどこら辺にあるのか
ぶっちゃけ機械語も
CPUというハードウェアインタプリタへのスクリプトという気もする
35デフォルトの名無しさん:2012/07/19(木) 11:04:23.66
アホか。
マシン語もソフトウェアだ。
36デフォルトの名無しさん:2012/07/19(木) 11:05:36.03
そもそもすべてハードワイヤードが大変だからソフトウェアが導入されたんだよ。
37デフォルトの名無しさん:2012/07/19(木) 11:06:30.10
半田ごてでコーディングしてろ
38デフォルトの名無しさん:2012/07/19(木) 11:11:17.46
おk、今から秋葉で真空管ゲットしてくる!
39デフォルトの名無しさん:2012/07/19(木) 11:14:52.44
>>35
あー だから
スクリプト言語でのインタプリタはソフトウェア、
機械語でのインタプリタはCPUそのもの、ハードウェアで直接やってる
でどうだ 
って話さ
40デフォルトの名無しさん:2012/07/19(木) 11:32:05.65
インタプリタ(interpreter)とは、プログラミング言語で書かれたソースコード、ないし中間
表現を逐次解釈しながら実行するプログラムのこと。
41デフォルトの名無しさん:2012/07/19(木) 11:33:41.60
42デフォルトの名無しさん:2012/07/19(木) 11:37:52.80
だからよォ
インタプリタそのものをシリコンで実装すんだよ
43デフォルトの名無しさん:2012/07/19(木) 11:57:07.77
お前、あほなん?
44デフォルトの名無しさん:2012/07/19(木) 12:31:04.99
おまいらの奥さんの胸はシリコン製だよ。
45デフォルトの名無しさん:2012/07/19(木) 12:43:31.76
おまいのチ   こそシコリン製だろw
46デフォルトの名無しさん:2012/07/19(木) 13:08:12.70
初心者です。
質問させてください。

edのようなラインエディタを作りたいのですが、
バッファや行管理はどのようにすればよいでしょう。

ソースの提示まではいらないので概念?のようなもの
を教えてください。
47デフォルトの名無しさん:2012/07/19(木) 13:18:43.98
>42
ttp://www.amazon.co.jp/dp/4822281019
これ読んでろ。
48デフォルトの名無しさん:2012/07/19(木) 13:33:46.69
たぶん自己参照型構造体を使ってmallocしたりするんだと思う
49デフォルトの名無しさん:2012/07/19(木) 14:41:25.66
>>46
実装したことはないんだが、
テキストエディタのデータ構造は意外にややこしくて、それだけで一つの分野
ギャップバッファとかでぐぐるといい
50デフォルトの名無しさん:2012/07/19(木) 15:21:02.43
>46
struct {
void *pNae; //前の行
char *pData;//行の内容
void *pTugi //次の行
};
こんな感じの構造体を1行に付き1つ作る。
バッファは初めに大きく確保するか1行毎に確保するか好みで。
51デフォルトの名無しさん:2012/07/19(木) 18:18:11.75
なえ
52デフォルトの名無しさん:2012/07/19(木) 21:31:37.53
C言語でマルチスレッドなしでゲームプログラミングって可能?
アクションゲームとか作りたい。
53デフォルトの名無しさん:2012/07/19(木) 21:35:29.67
平行進行させたい部分を細切れに分割して細切れを順繰りに動かす
54デフォルトの名無しさん:2012/07/19(木) 21:48:58.96
>>53
それも禁止するとしたら?
55デフォルトの名無しさん:2012/07/19(木) 21:56:14.15
禁止事項を先に書けよ
後からこれはダメあれはダメ言われちゃかなわんよ
56デフォルトの名無しさん:2012/07/19(木) 21:57:15.81
相手にしたオマエが悪い
57デフォルトの名無しさん:2012/07/19(木) 21:58:08.59
マジックナンバーって何ですか?
http://toro.2ch.net/test/read.cgi/tech/1342423314/l100
 ↑
スレタイからして意味不明。


int str[100]

strがマジックナンバー?
58デフォルトの名無しさん:2012/07/19(木) 21:59:02.68
C言語の標準関数にマルチスレッド扱うものってあった?
Javaならthredクラスがあるけど。
59デフォルトの名無しさん:2012/07/19(木) 22:03:11.42
zero以外の即値
60デフォルトの名無しさん:2012/07/19(木) 22:12:28.86
int max
max=16;
int str[max];

とするより

int str[16]のほうがソースコードが短くなり
容量も減ると思うのですが。
61デフォルトの名無しさん:2012/07/19(木) 22:16:11.38
その16が沢山あったら?

エディタの一括修正でいいやんけと言うなら
また違った意味で16を他の変数に使っていたら?
62デフォルトの名無しさん:2012/07/19(木) 22:19:58.88
>>57
コードのあちこちに 5 とか 1024 とか 0666 が散りばめられているときに、そのコードを理解したり修正するのは大変だろう。

#define N 5
#define BUFFSIZE 1024
#define RW 0666

などなんとか意味を感じられるようにすることが推奨されている。
一見して由来のわからないイミーディエイト値のことを皮肉をこめて「魔法の数字」と呼んでいるようだ。
63 ◆QZaw55cn4c :2012/07/19(木) 22:20:55.05
>>60
#define か enum 八苦を使うのがいいでしょうね。
64デフォルトの名無しさん:2012/07/19(木) 22:29:56.70
>>61
修正って何?
修正したらいいじゃない。

65デフォルトの名無しさん:2012/07/19(木) 22:39:00.23
その程度の規模しか作ってない人間にはそれでいいよ
66デフォルトの名無しさん:2012/07/19(木) 22:47:35.74
Cがjavaに勝ってる要素ってあるの?
67デフォルトの名無しさん:2012/07/19(木) 22:52:07.03
Oracleの臭い息がかかってないだけで大勝利ですが
68デフォルトの名無しさん:2012/07/19(木) 22:54:58.75
ネイティブコードが書ける。
ナマポが使える。

しかし最近はCPUすら仮想化されてるからなあ
仮想CPUでも高速化テクニックってのは通用するんだよね
仮想マシン前提のノウハウとかあんのかな
69デフォルトの名無しさん:2012/07/19(木) 22:59:47.25
>62
職場の先輩が昔受けた仕事で
「数値直接使用禁止。必ず#define登録しろ。」
というルールがあったとか言われた。
70デフォルトの名無しさん:2012/07/19(木) 23:32:10.95
CRとLFとどっちが好きかって聞いてるんだよ。
71デフォルトの名無しさん:2012/07/20(金) 00:33:50.19
#define N 100と

int N=100
の違いって何よ
72デフォルトの名無しさん:2012/07/20(金) 00:52:20.15
>>71
#define N 100は、デバッグ時に確認できない。
あと、グローバル変数では無いけれど、それと同様に扱える。
まぁ、定数というところ。
int N=100は、あくまでint型のNを100で初期化したもの。
73デフォルトの名無しさん:2012/07/20(金) 00:56:53.23
初期化なんて言うけど、自動変数ならルーチン入るからけっきょくは代入だろ。
74デフォルトの名無しさん:2012/07/20(金) 01:09:16.79
左辺値になれない
左辺値になれる
75デフォルトの名無しさん:2012/07/20(金) 01:36:48.72
真正右翼のヒロイン登場『大日本サムライガール』
http://news.nicovideo.jp/watch/nw314727

「真正なる右翼は、日本に私ただ一人である。有権者諸君、我が国は今、大きく舵を切るべき瞬間を迎えている。
日本が取れる指針はもはや少なく、残された時間には猶予もない。」

いきなり何だと思われたかもしれませんが、これは大日本サムライガールという小説のヒロイン、
神楽日毬(かぐらひまり)ちゃんの決め台詞なのです。
いや、決め台詞というのもふさわしくないか。街頭演説の時の前口上なのです。

何ともすごい小説が出てきました。この本は真に日本を憂うあまり、自らが独裁政権を敷くしかないという結論に達した
真正右翼の16歳の美少女ヒロインと、そんなヒロインを陰に日向に支える主人公織葉颯斗(おりばはやと)くんのお話なのです。


http://news.nicovideo.jp/photo2/229868l.jpg
『大日本サムライガール』至道流星/星海社FICTIONS
この表紙の少女が神楽日毬ちゃんです。手に持っているのは愛用の拡声器「拡さん」。
この少女が、政治の頂点を目指すために、アイドルとして芸能界の頂点を目指すのです!
76デフォルトの名無しさん:2012/07/20(金) 07:26:51.08
ネトウヨ・ニュース、ネタが尽きたのか。
7746:2012/07/20(金) 09:06:19.29
>>48>>49>>50
ありがとうございました。
またすこし自分で考えて見ます。
78デフォルトの名無しさん:2012/07/20(金) 09:13:39.82
―Daily Mail(英)―
情報筋によると、イギリスの運輸省は、ロンドンと主要都市を結ぶ高速鉄道に使用される車輌の製造において、
日立製作所グループとの交渉が最終段階に入っていることをオリンピックの開会前に正式に発表する予定だといいます。

それによると、イギリスのファースト・グレート・ウェスタン・レール社は、2016年までに、500台の車輌を日本から輸入。
車輌はほとんどが広島県の日立製作所笠戸事業所で組み立てられるため、イギリスの評論家たちは
製造費10億ポンド(約1,230億円)にも及ぶ雇用機会をみすみす失ったと政府を批判しているということです。

これに対して(海外に流出できない)独自の高価な技術を使用するためと、日本国内での車輌の製造を譲らなかった
日立製作所笠戸事業所長の正井健太郎氏は「車輌の製造に関われる誇りを感じます。
安全と信頼性に長けた日本のテクノロジーで製造された車輌は、
乗客に対してもスムーズな乗心地を感じてもらえることでしょう」と述べています。

http://chiquita.blog17.fc2.com/blog-entry-6607.html
79デフォルトの名無しさん:2012/07/20(金) 10:05:40.16
>>58
POSIX C言語
ぐぐれ
80デフォルトの名無しさん:2012/07/20(金) 10:23:20.40
Cがいい。Javaがすき
81デフォルトの名無しさん:2012/07/20(金) 10:40:09.79
わたしはperl! perlなの!
perlがイイ!!
82デフォルトの名無しさん:2012/07/20(金) 10:52:04.65
Java は unsigned がないから嫌ぽ
83デフォルトの名無しさん:2012/07/20(金) 19:29:40.09
プログラミング初心者です。
現在、「C言語超入門―Windowsでゲームボーイのプログラムを作ろう! 」を使って勉強しています。
この本を最初の教科書として、学び始めました。次に読む本として何が良いかアドバイスをお願いします。

ゲームボーイに絡めて勉強したらモチベを保てるのではないかと思い、この本から始めました。
専門学校に通っているわけではなく、独学でやっています。
皆さんのお勧めの入門書を教えてください。
84デフォルトの名無しさん:2012/07/20(金) 19:31:22.75
windowsゲームプログラミング/赤坂 玲音
85デフォルトの名無しさん:2012/07/20(金) 20:41:36.44
B.カーニハン先生の
「プログラミング作法」
〜書法、の方じゃないから注意な。
86デフォルトの名無しさん:2012/07/20(金) 21:52:31.68
Z80
87デフォルトの名無しさん:2012/07/20(金) 22:24:03.18
つーか、ゲームボーイは逆に大変じゃないか?
GBAとかの方が楽な気がする。
88デフォルトの名無しさん:2012/07/20(金) 22:32:23.11
「C言語超入門―Windowsでゲームボーイのプログラムを作ろう! 」
いやこの本は凄く分かりやすい
200ページちょいしかなくて、俺が初心者だった大学1年の頃にすらすら最後まで通読できた
絶版でもう売ってないんだけどマジ良書
89デフォルトの名無しさん:2012/07/20(金) 22:41:05.15
ゲームボーイ用のコンパイラとかカセット用意すんの大変じゃない?
90デフォルトの名無しさん:2012/07/20(金) 22:45:03.68
うん
91デフォルトの名無しさん:2012/07/21(土) 05:20:06.22
GBDKとemuでええんでないの
92デフォルトの名無しさん:2012/07/21(土) 06:39:57.92
うん
93デフォルトの名無しさん:2012/07/21(土) 08:35:15.11
 韓国のコミュニティサイト「ポムプ」の掲示板に「日本ビールがおいしくなければならない理由」とのスレッドが立てられたところ、
さまざまな意見が寄せられた。

 スレ主は、日本の食文化について言及し、日本では食に対するこだわりが深い人が多く、製菓技術や製パンは世界に誇れる水準であり、
ビールも同様に世界で認められているものの一つだと述べた。一方、韓国産のビールはまだまだ改善の余地があり、
新規参入による市場の拡大が望まれると指摘した。

 スレッドにはスレ主に対して同意し、日本の食文化について称賛する声が多数並んだ。

・「日本は食文化、特にグルメへのこだわりがすごいと思います。外国の食文化を受け入れ、百年以上の探求を経て、
 トップレベルにした。ビールも同じ」
・「率直にいって、日本の食べ物はおいしいものばかり」
・「日本は、国内市場があまりにも大きい。それに比べ、わが国の内需市場はすかすか」

 また、韓国内のビールメーカーなどを批判する声もみられた。

・「韓国のビール会社のマインドは最悪」
・「韓国ビールは日本でいえば、ビアテイスト飲料」
・「わが国のビールは日本では発泡酒。ビールと呼ばれること自体、恥ずかしくなる粗雑なもの」

 むしろ、北朝鮮のビールの方がおいしいのではといった発言も見られ、韓国人がビールに対して高い関心を寄せている様子がうかがえる。

・「聞いた話だが、北朝鮮のビールの味が韓国産のビールの味よりいいらしい。技術的な問題ではなく、制度や材料が大きな違いをもたらすのでは」
・「わが国のビールがまずい理由は、小規模な醸造所の法的な問題から構造の問題までたくさん。北朝鮮のビールと韓国のビールは、簡単に比較できません」

(編集担当:李信恵・山口幸治)

http://news.searchina.ne.jp/disp.cgi?y=2012&d=0719&f=national_0719_018.shtml
94デフォルトの名無しさん:2012/07/21(土) 11:12:10.40
エミュ厨かよ
95デフォルトの名無しさん:2012/07/21(土) 17:54:29.48
scanfがうまく入力できません
なんでですか?
http://ideone.com/R8do8#ul_inouterr
96デフォルトの名無しさん:2012/07/21(土) 18:13:26.45
                 _____
               /ミミ\\\\ \
             /ミミミ\\\\\\\
            /彡ミミミ\\\\\\\\
            |彡ミミ/\\\\\\\\|
              |彡 |   \\\\\\\|
             ヽ |へ、_  _,へ\\\\/
              | __   __  | / )    gets()
              |           |/ ノ
              |   ( / _ )      /       おひさしぶりーふ
              ヽ       ヽ   |
               ヽ ヽー‐‐‐ァ   /\
              //ヽ ヽ-‐'  / /\ \
            / /   ヽ_ /   / /   \
          /   \  |\  /|  /\      \
   (⌒\  /     (⌒ヽ |二| | /  \      \
 __ゝ  ヽ    ___ ゝ \  \| /   /       |
(        ヽ─ ( l )     ヽヽ  /  /   /     |
  ̄ ̄( ̄丿  |    ̄ ̄( ̄ ゝ  \ /    /       |
    ( ̄ノ  |      ( ̄ ゝ   | ̄ ̄ ̄ ̄        |
    ( ̄ノ  |       ( ̄ ゝ   |
97デフォルトの名無しさん:2012/07/21(土) 18:24:39.22
>>95
このプログラムいつ終わるの?
98デフォルトの名無しさん:2012/07/21(土) 18:36:40.89
おわらないよ
99デフォルトの名無しさん:2012/07/21(土) 19:50:05.70
ネヴァー・エンディング・プログラミング 第一章 〜彼方への旅立ち〜
100デフォルトの名無しさん:2012/07/21(土) 20:50:30.43
諦めたら
101デフォルトの名無しさん:2012/07/21(土) 20:52:34.13
やたああああああああああああ
http://ideone.com/QkwnG
102デフォルトの名無しさん:2012/07/22(日) 10:16:31.58

米国 「今のままなら朝鮮戦争が再開しても、日本は韓国に協力せず、無視することができる」
http://hayabusa3.2ch.net/test/read.cgi/news/1342918828/


韓国が日韓軍事協定を破棄したことで生じた問題

両国間協力の座礁は、オバマ政権だけでなく、ブッシュ政権で
北東アジア政策を担当した筆者にとっても大きな失望だ。

韓日間の安保協力が突然、暗礁に乗り上げた。
最近問題になった情報交流協定のためだ。

また最近、日本の政治は右傾化し、日韓共同防衛協力を抜け出して日本独自に動こうとしている。

マイケル・グリーン米戦略国際問題研究所(CSIS)日本室長 .
2012/7/21
http://japanese.joins.com/article/994/155994.html?servcode=100§code=140
103デフォルトの名無しさん:2012/07/22(日) 10:24:28.29
なげーーーーーーーーーーーーーーーーーーーーーーーよ
変数wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
104デフォルトの名無しさん:2012/07/23(月) 02:32:29.46
quin2decが手元の参考書に載ってない上にぐぐっても出ないんですが、
これはどういった働きをするんでしょうか?
105デフォルトの名無しさん:2012/07/23(月) 03:55:40.74
>>104
見たこと無いのだが。
というか、それはどこに出てきたのでしょうか。

ただ、よくあるパターンとしては
EXCELの関数では
bin2decとかhex2decとかoct2decで
2進数だったり、16進数だったり、8進数だったりを10進数に変換する。
んで、そういう機能をC言語でする場合、
そのような名前の関数を作る事がある。
(ユーザ関数なので、名前はなんでも良いんだけど。)

そのパターンで考えると
quin → quintuple → 5倍
で、多分5進数を10進数に変換する関数っぽいけど、
所詮、ユーザ関数だから正しくは分からない。
もちろんquinさんを10進数に変換するとも考えられる。
106デフォルトの名無しさん:2012/07/23(月) 04:33:50.43
>>105
おお、ユーザー関数なんてものがあるのですか。
通りで検索してもでてこないわけだ。
おっしゃる通り五進法を十進法に変換せよ、という問題で出てきました。
107デフォルトの名無しさん:2012/07/23(月) 05:36:56.10
宿題スレでコードを書いたいただいたのですが、調べながらコードを見ていても理解できない部分が
多々あったので質問させてください。

問題文
http://ideone.com/WnbTA
コード
http://codepad.org/nqyygUO9

・#define N 1024は何を意味しているのか
・quin2decが引数として文字を4つ受け取っているのはどこか
・どこで戻り値として返しているか
・受け取る五進数は4桁以下の非負正数(十進法の0〜624)であると仮定する、とありますが
 どこで仮定されているのか、あるいはもし仮定されていないならどうすれば良いか
・static char buff[N]; が何を意味しているのか

宿題スレでコードを貰っておきながらこちらで聞くのもどうかと思うのですが、
どうしてもわからなかったのでこちらで質問させていただきました。
よろしくお願いします
108デフォルトの名無しさん:2012/07/23(月) 06:02:51.71
>>94
gameboyはbios用意しなくていいから問題ないっしょ
109デフォルトの名無しさん:2012/07/23(月) 07:03:35.31
>>107
まぁ、マニアックなコードだな。

質問>・quin2decが引数として文字を4つ受け取っているのはどこか
問題文>4つの文字を引数として受けとる
確かに単文で見た場合、
「4個の(文字を)引数として受け取る」と読めなくもないが、
「4種類の文字を引数として受け取る」とも読めるし、「4桁の文字を引数として受け取る」とも読める。
それぞれの返答は
・quin2decは4種類の文字(列)を1つ受け取る。
・コード内で4桁に制限してる箇所は・・・ないね。問題文でも4桁以外の桁数だった場合どうするとか書いていないから、
 コードを書いた人が、プログラムの前提条件として受け取ったんだろうね。
・4種類のチェックを行っている部分は switch文

質問>どこで戻り値として返しているか
これは「戻り値」を返す方法は勉強している(もしくは教科書に書いてある)と思う。
返答としては31行目のreturn文なんだけど、再帰呼び出し(ある関数の中で、自分自身(の関数)を呼び出してる)をしているからイメージ沸きにくいかもね。再帰呼び出しで調べてね。

質問>・受け取る五進数は4桁以下の非負正数(十進法の0〜624)であると仮定する、とありますが・・・
受け取る文字列の種類として負を表す文字自体がなく、「r,h,f,m,y以外の文字を受け取ったらエラーとする」ので気にしなくて良いと思う。

質問>・#define N 1024は何を意味しているのか
質問>・static char buff[N]; が何を意味しているのか
Nを利用している箇所は static char buff[N]; と fgets(buff, N, stdin);の二ヶ所である。
問題文では「キーボードから文字列として受け取り」とある。
受け取る領域(入れ物)が必要である。static char buff[N];はそれを用意している。その際、領域の大きさ(N)を何かしら決める必要がある。
問題文としては「4桁の5進数」とあるから、4文字分+(改行コード分またはnull終端分)が必要最低限なのだが、
「4文字以上の文字列を受け取らない」とはあるが、キー入力される文字数は制限されていない。
そうした場合、十分な大きい値(1024)を用意したという事だと思う。
#define とは何かという質問だったら、教科書調べてね。

長いね。
110デフォルトの名無しさん:2012/07/23(月) 07:41:35.79
>>109
長々と説明ありがとうございます、おかげさまである程度理解ができました。
ただ、引数に関してがイマイチわからないのですが、単純に引数として受け取ってるのは
y,m,f,hであり、swich文で入力した文字がそれに該当してるか調べてcaseで分けているということなんでしょうか?

戻り値については早速再帰呼び出しで調べて学習してきます。
#define文自体は調べて理解していたのですが、1024という数字の意味が理解できていませんでした。
領域の大きさを決める数字と聞いて納得できました。
111109:2012/07/23(月) 08:24:22.91
>「4種類の文字を引数として受け取る」とも読める
あ、そもそも5進数だし、「r,h,f,m,y」と書いてあるのだから、5種類の文字だね。。。あほだ。。。

>>110
私が質問の意図を理解していないから上手く説明できてないのだね。
>・quin2decが引数として文字を4つ受け取っているのはどこか
「quin2decが4つの引数を受け取っていない事を疑問に思っている」と読み取って良いかな?

int quin2dec(char *s, int n)
それに対する返答は「4桁の文字列として、一つの引数(s)を受け取っている」から。

ただし、実際には、コードは桁数(4桁以内である事)のチェックはされていない。「なぜチェックしていないのか」は、
多分、「問題文に桁数が不正の場合、どうするのか」が指定されていないからだと思う。

まぁ、もちろん 「int quin2dec(char a,char b,char c,char d)」として4つ受け取ってもコードを書いても良いのだけど。
ただ、こうした場合、3桁の文字が入力された場合、困るかな。
あ、「受け取った4文字中r,h,f,m,y以外の文字が一文字でも含まれた場合エラーメッセージを出してプログラムを終了する。」
quin2decが「r,h,f,m,y」以外の文字を受け取っちゃいけないとは、書いてないからいいか。

まぁ、C言語と言うより、「4つの文字を引数として受けとる 」の問題文の解釈の話のような気がする。
「引数を4つにしないといけない」と読むか、「引数を4桁の文字列として受けとれば良い」と読むか。

とんちんかんな回答かな?
112109:2012/07/23(月) 08:36:19.66
>>110
あ、ちょっと勘違いしてそうなんで補足
>戻り値については早速再帰呼び出しで調べて学習してきます。

「再帰呼び出し」と「戻り値」は直接は関係ないよ。

「再帰呼び出し」がどういう動きをするかを勉強した方が良いよ。
で、「再帰呼び出し」をした結果、それぞれの「戻り値」がどうなるか、がややこしい(かも)。
と言うことね。


まぁ、これは、地道にそれぞれのステップを追って(プログラムが動いている順番を追って)、
その時の変数や戻り値がどうなっているかを書き出してみるのが確実だよ。
113デフォルトの名無しさん:2012/07/23(月) 08:40:54.94
>>111
わざわざありがとうございます。
私の知識が足りないので何を疑問に思っているのかが上手く伝えられていないんだと思います。

おっしゃる通りquin2decが4つの引数を受け取っていないのが疑問でした。
私の手元の参考書と比較するとquin2dec(char *s,int n)の*sとnを仮引数として受け取るのかな、と考えたのですが
それだと仮引数が2つだけで、私は「引数を4つにしないといけない」と捉えたので2つ足りない事に疑問を感じていました。
分かりにくい質問だらけで申し訳ないのですが教えていただけるとありがたいです
114109:2012/07/23(月) 09:41:20.81
>>113
このコードで、引数(s)と、引数(n)とはそれぞれ何を表しているのか。ということですね。
すんません。quin2decについて、真っ当に追ってないから、引数(n)ついて、きちんと理解してません。
っていうのが正直な所です。 
ちょっと気合を入れて動きを追ってみましょう。

7行目の if ( !s || !*s ) return n;
!s は s==0と同じ意味、sは(char *)だから sのアドレスが0だった場合(実際には、後述する「r,h,f,m,y以外」の文字だった場合)
!*s は *s == 0と同じ意味、 sのアドレスが指しているcharの値0の場合だから、null終端だった場合
どちらかの場合、引数(n)をそのまま返す。

11-27行目のswitch文
switch文の引数は*sだからアドレスsの指しているcharの値を指している。
case 'y'からcase 'r'まで、break;がないから、該当した文字列以下の文は(break;まで)すべて実行され、switch文を終える。
よって、yだったら14,16,18,20行目が実行されるので m==4となる。
同様に fだったら、18,20行目が実行されるので m==2となる。
r,h,f,m,y以外だったらdefaultまで行き m== -1となる。
115109:2012/07/23(月) 09:41:38.76
(続き)
29-30行目は
まず m が 0以下という事は前のswitch文で「r,h,f,m,y以外」と言う事
その場合、30行目が実行される。
その時 引数(0,-1)でquin2decで再帰呼び出しされ、その戻り値が returnされているので、自分の戻り値となる。
で、再帰呼び出しされたquin2decでは7行目に引っかかるから、無条件に -1が帰ってくる。
(ということは 30行目は return -1;と記述しても問題ないような気がする。)

31行目は引数(s + 1, 5 * n + m)でquin2decで再帰呼び出しされ、その戻り値が returnされているので、自分の戻り値となる。
s + 1 は、sの次のアドレス(隣の文字のアドレス)にして quin2decに渡している。 注:再帰呼び出しされたquin2decの引数(s)が、自分の引数(s)の次のアドレスとなっている。
5 * n + m は 受け取った引数を5倍しているから、繰り上げ処理をして mを足している。
ふんふん、なるほど。それを繰り替えして、最後の桁まで行ったら、その戻り値が、呼び出し元に上がってくる訳か。

つまり、quin2decは引数(s)上から一文字ずつ処理して、引数(n)は、そのけた時点での十進数の値ということですね。
で、それを最終桁まで繰り返している。

自分だけが納得しているような気がする・・・。
116109:2012/07/23(月) 09:46:03.32
>まず m が 0以下という事は前のswitch文で「r,h,f,m,y以外」と言う事
あ、0未満だね。
117107:2012/07/23(月) 10:28:54.36
細かい説明本当にありがとうございます。
じっくり読んでquin2decが受ける引数について理解できました!
それだけでなく、あやふやで理解したつもりになっていたところも
説明を読んでいるうちに大分しっかりと理解できました。

せっかくの機会なので34-42行目のところも教えていただけないでしょうか?
理解した「つもり」だらけだったので、ここも見当違いな考えになっていそうです。
何だか結局全部丸投げみたいになってしまい申し訳ないのですが、よろしくお願いします

118デフォルトの名無しさん:2012/07/23(月) 11:09:06.06
>>117
途中見てないが、chop()についてだけ。
目的: 引き数で渡されナル終端文字列の後方にある改行文字をchopする。
詳細:
・ナル終端文字を見つける。
・一つ遡る。
・その場所の文字が改行文字(或いは復帰文字)であればナル終端を書き込み、一つ遡る。

以上。
119デフォルトの名無しさん:2012/07/23(月) 11:18:50.03
void chop(char * s)
{
char * p = strchr(s, '\0');
for (--p, p >= s && (* p == '\n' || * p == '\r'); --p)
* p = '\0';
}
120デフォルトの名無しさん:2012/07/23(月) 11:22:00.32
>119を書いて気付いたんだが、>107のコードは何も入力せずに入力を閉じるとバグるな。
121デフォルトの名無しさん:2012/07/23(月) 11:55:59.51
>>118
ありがとうございます。
頑張ってみます
122デフォルトの名無しさん:2012/07/23(月) 11:59:49.68
いえいえ
123デフォルトの名無しさん:2012/07/23(月) 12:17:34.50
あっそーれ
124 ◆QZaw55cn4c :2012/07/23(月) 12:21:29.66
>>109
俺のコードをよくもマニアックといったな。慰謝料にモリタポ払え
125 ◆QZaw55cn4c :2012/07/23(月) 12:30:13.15
>>120
ご指摘感謝。
何も入力しないといっても、エンターキーのみの入力という意味なら、\r, \n がバッファに載るのでほとんど問題ないでしょうが、
しかしバッファの直前がたまたま \n, \r だったりすると、確かにバグりますね。

以下に修正しておきます。
http://codepad.org/k8fng7Hh
126デフォルトの名無しさん:2012/07/23(月) 12:47:06.48
何も入力しないってのはCTRL-Dのことだろ
的はずれにもほどがある
127109:2012/07/23(月) 13:28:09.19
>>124
あ、本人?

勝手にコード解説しちゃって、ごめんね。
行間まで、思い込みで解説しちゃったから、
解釈の間違いあったら、正しといてください。

きっと、間違っているから。
128デフォルトの名無しさん:2012/07/23(月) 13:34:07.13
なんだ、QZコードだったのか。納得。
129デフォルトの名無しさん:2012/07/23(月) 14:31:44.81
0.1次元バーコードか?
130デフォルトの名無しさん:2012/07/23(月) 15:53:44.74
え
131デフォルトの名無しさん:2012/07/23(月) 17:36:21.47
#define NULL ((void *)0)
あるポインタをNULLで初期化すると、そのポインタはメモリ上の絶対アドレスである0番地を指すということなのでしょうか
132デフォルトの名無しさん:2012/07/23(月) 17:42:33.91
>>131
0番地はワイルドカード。
133デフォルトの名無しさん:2012/07/23(月) 17:46:25.38
環境による としか言い様がない気分
134デフォルトの名無しさん:2012/07/23(月) 17:49:08.12
通常アドレスは仮想化してるから実際は指してないし参照できない
135デフォルトの名無しさん:2012/07/23(月) 18:00:30.39
ttp://support.microsoft.com/kb/76945/ja
意味不明な日本語だけどMS-Cではプログラム終了時にNULLセグメントを調べて
そこのデータが書き換えられていればエラーとした
136デフォルトの名無しさん:2012/07/23(月) 18:05:41.86
仮想記憶のない時代の話だな。
137 ◆QZaw55cn4c :2012/07/23(月) 18:28:00.53
>>127
丁寧に解説いただき恐縮です。

> 30行目は return -1;と記述しても問題ないような気がする。
これは確かに。return 文を一箇所にしたいという意思だが、そのために if (!s || !*s) と複雑になってしまったので、どっちでかいても一長一短。んー。

>>128
んー、なにを納得したのかおしえてください。匂いますか、いや臭いますか?
138デフォルトの名無しさん:2012/07/23(月) 18:35:30.76
ttp://ideone.com/d8x39
とシンプルに書けばいいのに再帰使ってソースを読みにくくしてるところ
139 ◆QZaw55cn4c :2012/07/23(月) 19:17:48.17
え?再帰の方がよみやすいのですが?これって主観ですかね。
140デフォルトの名無しさん:2012/07/23(月) 19:26:00.65
隙あらば再帰にしてしまう→再帰ッカー
他にもCゲンガー、フォートランナー、コボラーなど
141デフォルトの名無しさん:2012/07/23(月) 19:27:49.63
2,3のコードがあげられてて
そのうちの再帰使ってるのが「わからん」ちゅーなら
初心者やらにはワカランのだろ

強力だけれども面倒くさい、
とくにその手の初心者には

誰かにとっては読みやすくても、
ここら辺りで宿題出したり聞いたりする人物のレヴェルも考える
普通なら ね
142デフォルトの名無しさん:2012/07/23(月) 22:52:42.03
すみません、どうしても解答がわからないのですが...

問.関数、void addlist(LIST *head,LIST *addata)を完成させろ

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

typedef struct name_list{
struct name_list *next;
char *name;
}LIST;
void addlist(LIST *head, LIST *addata);
int main(void){
LIST name0= {NULL, NULL};
LIST name1= {NULL, "B"};
LIST name2={NULL, "C"};
LIST name3={NULL, "D"};
LIST name4={NULL, "E"};
LIST addata = {NULL, "A"};
LIST *p;
LIST *head;

head=&name0; name0.next=&name1; name1.next=&name2; name2.next=&name3; name3.next=&name4;
addlist(head, &addata);

for(p = head->next; p != NULL;p=p->next)printf("%s\n,p->name");


どなたかお願い致します....(ノД`)
143デフォルトの名無しさん:2012/07/23(月) 22:53:49.68
あ、一番下に
return 0;
}

を忘れてました...
144デフォルトの名無しさん:2012/07/23(月) 22:57:15.17
>>1読むのも忘れてんぞ
145>>142:2012/07/23(月) 22:59:04.90
>>144

ごめんなさい
これは過去問でして、明日試験なんですけど聞ける友達がいない....
C言語です
146デフォルトの名無しさん:2012/07/23(月) 23:00:32.52
リストの末尾に追加かね

void addlist(LIST *head,LIST *addata)
{
 LIST *p = head;
 while (p->next) p = p->next;
 p->next = addata;
}
147デフォルトの名無しさん:2012/07/23(月) 23:04:27.30

PICマイコンを使用するためにC言語を勉強中です。
どうしてもプログラム中に、EEPROMへの読み書きを多用するので
int型とlong型用の2つの値をEEPROMから読み込み、int型long型のそれぞれの変数へ代入する関数を作ったのですが、ポインタの使い方がよくわかりません
hiとかloというのは2バイト以上の変数を1バイト単位に分割するために使用する”built_in.h”というヘッダファイル用の語句です
このコードの何がダメなのかも分らないのでご教授ください
よろしくお願いします

void main()
{
int x;
long y;
read2byte(100,&x);
read4byte(200,&y);
}

void read2byte(int a,int *b)
{
hi(*b) = EEPROM_Read(a);
lo(*b) = EEPROM_Read(a+1);
}

void read4byte(int a,long *b)
{
highest(*b) = EEPROM_Read(a);
higher(*b) = EEPROM_Read(a+1);
hi(*b) = EEPROM_Read(a+2);
lo(*b) = EEPROM_Read(a+3);
}
148デフォルトの名無しさん:2012/07/23(月) 23:10:09.88
>>147
バイトオーダーが違うかもしれない
くらいしか分からん
149147:2012/07/23(月) 23:11:54.31
書き忘れました

EEPROM_Read(a); というのはコンパイラ付属の関数で、aがEEPROMのメモリアドレスです
150>>142:2012/07/23(月) 23:14:59.54
>>146
そもそもこのプログラムって何をしているものなのでしょうか....?
ソート?


あと、for文の上の
addlist(head, &addate)というのは何なのですか?
151片山博文MZボット ◆0lBZNi.Q7evd :2012/07/23(月) 23:18:05.21
hi,loの定義をさらせ。
hi(*b)は左辺値ではないから代入できないと思われ
152147:2012/07/23(月) 23:23:18.80
>>151

2バイト以上の値、例えばlong型(4バイト)を低いビットからlo,hi,higher,highestとバイト単位に分割するものです
153デフォルトの名無しさん:2012/07/23(月) 23:26:02.62
>>150
うんにゃ
わたされた head から末尾を探し出して、その末端にさらに 渡された adddata を繋げてる

name0〜name4 までのリストを手で構築後
adddata 関数を呼び出してる

意図として name0〜name4 の後ろに adddata を連結しようとしてる と俺は解釈した
154デフォルトの名無しさん:2012/07/23(月) 23:29:09.93
× adddata 関数を呼び出してる
○ addlist 関数を呼び出してる
155>>142:2012/07/23(月) 23:30:02.40
>>153ご丁寧にありがとうございます

このプログラムはAがname0に入るわけでは無いんですか??

addataがname4の後に連結した時、whileが初めて回りだしてAが先頭に来るって事ですか?

やばい日本語おかしくてスミマセン
156デフォルトの名無しさん:2012/07/23(月) 23:36:07.74
printf() の出力結果は BCDEA の予定
ABCDE にしたいのなら

void addlist(LIST *head,LIST *addata)
{
 LIST *p = head->next;
 head->next = addata->next;
 addata->next = p;
}
157デフォルトの名無しさん:2012/07/23(月) 23:36:41.10
>>142
厳しいようだけど、
明日試験で、過去問で解答が分からない。ってのは
解答を教えても、明日の試験では違う問題がでるから意味が無いのでは?
解き方が分かっていないんだから。

このプログラムは、addlistが不明なのだが、明示されてるのだから、
そこを理解する所から、入るべき。
(まさしく >>150 の疑問を理解できる様になる事が大事)

それから、足りない部分(addlistの中身)を考える。
158デフォルトの名無しさん:2012/07/23(月) 23:37:14.59
× head->next = addata->next;
○ head->next = addata;

なんかヒデェな… もう寝る
159157:2012/07/23(月) 23:39:14.48
>このプログラムは、addlistが不明なのだが、明示されてるのだから、そこを理解する所から、入るべき。
まつがい。
このプログラムは、addlistが不明なのだが、明示されている所を理解する所から入るべき
160>>142:2012/07/23(月) 23:40:52.16
レス下さった皆さんありがとうございます
そもそも一晩(ではないんですけども)でやろうとした自分が悪いですね...

少し前の方から再度勉強しなおしてきます...
ありがとうございました!
161片山博文MZボット ◆0lBZNi.Q7evd :2012/07/23(月) 23:41:19.46
*b = ((int)EEPROM_Read(a) << 8) | (int)EEPROM_Read(a+1);

*b = ((long)EEPROM_Read(a) << 24) | ((long)EEPROM_Read(a+1) << 16) | ((long)EEPROM_Read(a+2) << 8) | (long)EEPROM_Read(a+3);
みたいに書かないといけない。
162デフォルトの名無しさん:2012/07/23(月) 23:47:27.06
>>147
君はまだEEPROMを使うべきではない(きり)
163片山博文MZボット ◆0lBZNi.Q7evd :2012/07/23(月) 23:58:54.84
共用体を使う方法もある。
union I16{int i;
struct {unsigned char LO,HI;}};
union I32{long l;struct {I16 LO,HI;}
};
164片山博文MZボット ◆0lBZNi.Q7evd :2012/07/24(火) 00:14:51.03
久しぶりにCやったら;とunionをつけ忘れたよ
165147:2012/07/24(火) 00:26:01.62
>>161
レスありがとうございます。

その式と、下記の式だと自分には同じ動作だと思ってしまうのですが
何がどう違うのでしょうか?本当にわからないです><

void read4byte(int a,long *b)
{
highest(*b) = EEPROM_Read(a);
higher(*b) = EEPROM_Read(a+1);
hi(*b) = EEPROM_Read(a+2);
lo(*b) = EEPROM_Read(a+3);
}

166デフォルトの名無しさん:2012/07/24(火) 00:29:04.57
>>165
hi とか lo がどんなものか分からないからこうしようぜ

void read4byte(int a, long *b)
{
unsigned char *p;
p=(unsigned char*)b;
*(p+0)=EEPROM_Read(a+0);
*(p+1)=EEPROM_Read(a+1);
*(p+2)=EEPROM_Read(a+2);
*(p+3)=EEPROM_Read(a+3);
}
167片山博文MZボット ◆0lBZNi.Q7evd :2012/07/24(火) 00:33:47.87
>>165
恐らくhiマクロなどは内部でシフト演算を使っているので
hi(*b)などは参照がなくなって左辺値になれないから代入対象になれない。ただそれだけ。
168147:2012/07/24(火) 00:39:29.70
>>166

レスありがとうございます。
実は、>>165で書いた式と、>>161さんの書いた式で問題なく読み込みができたのですが、
PICマイコンのスレで同じような質問をしたところ、ポインタの使い方?がおかしいと指摘されて
ここで質問させて頂きました。
一番気になるのはポインタの使い方の間違いと間違っているために起こり得る問題です。
long型(適当な値 99,999とか2,222,222)を一旦、EEPROMに書き込み、上記の式で読み込ませたところ
正常に読み込まれているので何が何だかさっぱりわかりません~~;
169147:2012/07/24(火) 00:44:24.25
>>167

レスありがとうございます。
実は、>>168で書いたよう、に教えて下さった式も自分で書いた式も問題なく読み込みできています。
本当に何がダメなのか、本当はダメではないのか分らず、困りましたorz
170片山博文MZボット ◆0lBZNi.Q7evd :2012/07/24(火) 01:00:20.84
ファイルbuilt_in.hを開いて中身を確認しなさい。
そこにhi,loの定義があると思われます。
それらをさらして下さい。
171147:2012/07/24(火) 01:04:28.32

>>170
了解しました。下に晒します。
話変わりますが、例のコードはポインタの使い方って間違っていますかね?
そこが気になります。

#define Lo(param) ((char *)¶m)[0]
#define Hi(param) ((char *)¶m)[1]
#define Higher(param) ((char *)¶m)[2]
#define Highest(param) ((char *)¶m)[3]

#define lo(param) ((char *)¶m)[0]
#define hi(param) ((char *)¶m)[1]
#define higher(param) ((char *)¶m)[2]
#define highest(param) ((char *)¶m)[3]
172147:2012/07/24(火) 01:06:18.61
文字化けしたので、&とparamの間にスペース入れました

#define Lo(param) ((char *)& param)[0]
#define Hi(param) ((char *)& param)[1]
#define Higher(param) ((char *)& param)[2]
#define Highest(param) ((char *)& param)[3]

#define lo(param) ((char *)& param)[0]
#define hi(param) ((char *)& param)[1]
#define higher(param) ((char *)& param)[2]
#define highest(param) ((char *)& param)[3]
173デフォルトの名無しさん:2012/07/24(火) 01:06:47.16
>>171
>>147 のままで合ってるよ
174片山博文MZボット ◆0lBZNi.Q7evd :2012/07/24(火) 01:08:49.01
検証の結果、問題なし。

シフト演算じゃなくて&とキャストを使ってた
175デフォルトの名無しさん:2012/07/24(火) 01:10:37.95
hi, lo マクロは左辺値になれる形式だな

> PICマイコンのスレで同じような質問をしたところ、ポインタの使い方?がおかしいと指摘されて
その指摘は hi, lo を関数だと勘違いしての指摘かもしれんね
176147:2012/07/24(火) 01:11:22.58
>>173
マジですか?
PICもC言語も始めて数か月程度しか経っておらず、ポインタを覚えるためにも初めて使ってみたのですが
PICマイコンスレで指摘され、どうしても自信がありません><
177147:2012/07/24(火) 01:14:57.23
>>174-175

レスありがとうございます!
キャストとかの語句はまったくわかりませんでしたのでもっと勉強しないとダメですね
どうもありがとうございました!

178デフォルトの名無しさん:2012/07/24(火) 07:52:56.12
いえいえ
179デフォルトの名無しさん:2012/07/24(火) 11:01:09.22
連結リストの質問チラホラ出るけど、ポインタで教えるor
ポインタtoポインタで教えるのは教員の好みによるものなのかい?
180デフォルトの名無しさん:2012/07/24(火) 11:06:40.17
リストで二重ポインタなんか使わんだろ
181 ◆QZaw55cn4c :2012/07/24(火) 12:25:23.77
>>180
え?使わない?
二重ポインタを使わないとなると、コピーコピーコピー、とルートまで延々コピーする格好の悪いことになるのだが?
182デフォルトの名無しさん:2012/07/24(火) 12:31:00.60
>>181
それが正解だよ
コピーコストが嫌ならリストオブジェクト全体の参照を取ればいい
ノードの参照は共有しないのが常識
183デフォルトの名無しさん:2012/07/24(火) 12:46:33.76
free()しちゃうとダングリングポインタが出来てしまう危険があるからか
184デフォルトの名無しさん:2012/07/24(火) 13:12:59.51
ttp://ideone.com/k4BZz
ふつー二重ポインタ使うでしょ
185デフォルトの名無しさん:2012/07/24(火) 13:29:10.43
二重ポインタってポインタが指してる先を変更したい時に使うんじゃないのか?
それかポインタ配列か

話は変わるけどこういうのはcがfree()されるとaもbもダングリングポインタになってしまうけど
検出されないのな
当たり前か
後からaやbを使いまわす可能性があるし

int main(void)
{
int *a, *b, *c;

c = (int *)malloc(sizeof(int));

if (c == NULL)
exit(1);

*c = 123;

a = b = c;

printf("%d %d %d\n", *a, *b, *c);

free(c);

return 0;
}
186デフォルトの名無しさん:2012/07/24(火) 13:29:14.80
使わねーよ。
アホすぐる。
187デフォルトの名無しさん:2012/07/24(火) 13:30:18.83
>>185
お前はまったく理解していない。
188デフォルトの名無しさん:2012/07/24(火) 14:51:53.24
for(i=0; i< 空欄B (float) ; i++) printf("%02x", *p++);


この空欄Bに入る単語を答えよという問題があるんですが  キャスト演算子(float)を セミコロン直前におくような
表現が思い当たりません。(問題文全体はもっと長いです。)どのような表現が入りうるのでしょうか?
189デフォルトの名無しさん:2012/07/24(火) 14:54:21.10
sizeof
190デフォルトの名無しさん:2012/07/24(火) 15:06:43.27
あー、失念してました。ありがとうございます。 ついでに
printf(" %-12g",f); の意味も教えていただけないでしょうか?
問題が紙なので %ー12じゃなくくて %ーL2 かもしれませんが
191デフォルトの名無しさん:2012/07/24(火) 15:09:38.05
すいません%-12gのほうはもういいです
192 ◆QZaw55cn4c :2012/07/24(火) 18:43:39.47
>>185
C に「検出」などというお子様仕様は皆無。
193デフォルトの名無しさん:2012/07/24(火) 18:47:15.43
コンパイラによっては未使用変数や未初期化変数のアクセスは検出するがCの仕様ではないよな。
194デフォルトの名無しさん:2012/07/24(火) 18:52:58.26
ひょっとしてinlineってCの仕様じゃない?
195デフォルトの名無しさん:2012/07/24(火) 18:55:30.07
C99から。
196デフォルトの名無しさん:2012/07/24(火) 20:16:30.67
ソフト会社でC99での開発って結構あるの?
197デフォルトの名無しさん:2012/07/24(火) 20:17:28.88
まずない。
198デフォルトの名無しさん:2012/07/24(火) 20:18:43.63
ですよねー
199デフォルトの名無しさん:2012/07/24(火) 20:24:23.89
>>192
無職のオッサンに上から目線で言われたくないなあ
200デフォルトの名無しさん:2012/07/24(火) 20:25:29.58
GCのアルゴリズムでも勉強したら?
201デフォルトの名無しさん:2012/07/24(火) 20:39:57.16
Cでインラインしたいときはどうしてるの?
202デフォルトの名無しさん:2012/07/24(火) 20:41:25.79
#define
203 ◆QZaw55cn4c :2012/07/24(火) 20:49:42.06
>>182
よろしければもう少しお話しいただけるとありがたい。
二重ポインタあるいはポインタの参照は必要不可欠だと思うのですけれども、それで正しいということでしょうか?
それともポインタのみで正、なのでしょうか?
http://ideone.com/50Y4Z
204 ◆QZaw55cn4c :2012/07/24(火) 20:50:19.64
>>199
であればそういう発言をしないことだ。
205デフォルトの名無しさん:2012/07/24(火) 21:09:46.86
>>203
ルートノードを直接的にリストとみなさずに
ルートノードを包むようなリストオブジェクトを書くんだよ
ルートのアドレスがコロコロ変わったらリストを参照してる人が大変だろう
206デフォルトの名無しさん:2012/07/24(火) 21:09:52.12
>>204
人のせいにすんな
まず働け
207デフォルトの名無しさん:2012/07/24(火) 21:11:37.90
>>205
相手にするな。
208デフォルトの名無しさん:2012/07/24(火) 21:40:15.20
cmdにgccと打つと、{gcc: 致命的エラー:入力ファイルがありません
 RpC~オワオスB}とでるんだけど、だれか助けて(泣)
209デフォルトの名無しさん:2012/07/24(火) 21:56:37.78
オワオスって何か\(^o^)/オワタみたい
210デフォルトの名無しさん:2012/07/24(火) 22:17:32.84
>>208
ソースファイルを指定してないからじゃないの?
211デフォルトの名無しさん:2012/07/24(火) 22:20:02.05
使っている人間が致命的なまでのノウミソなんだろうな。
なんて打ったかくらい全部描けよアホ
212デフォルトの名無しさん:2012/07/24(火) 22:24:49.58
>>203
C++で書くんならmallocじゃなくてnew使おうよ・・・
必死で書いたのが伝わってきてキモス
213デフォルトの名無しさん:2012/07/24(火) 22:25:22.19
全部書いてるんだろ。
214 ◆QZaw55cn4c :2012/07/24(火) 22:28:23.70
>>205
たしかにそれには同意します。
特にクラスに仕立てるときに、ルートを含むクラスとノードのクラスを一つにまとめようと苦心した記憶がありますが、
結局のところ、ルート(ファーストノードをさすポインタ)は、ノードクラスとは別にしたほうがいいと考えるようになりました。
http://codepad.org/jUqoMRPp
(結城さんのJavaデザパタ本はadapterパターンを試行したものです。リストではなく二分木ではありますが、Node クラスはほとんど構造体扱いで Node クラスのメンバ関数は軒並みstaticの有様です。)

ただしここで話題となっている、いや話題としたいのは、「リストや二分木を扱うときに、二重ポインタを使わずに書く、というのはあまり考えられないのでは?」という素朴な疑問です。
215 ◆QZaw55cn4c :2012/07/24(火) 22:30:09.22
>>212
単にCで参照を使いたいという願望だけでざっと書き下ろしてみたのですが、あー、ぶれてますねえ、なんで cstdio を使わずに iostream にしちゃったんだろう?
216デフォルトの名無しさん:2012/07/24(火) 22:37:28.68
リファレンスへのポインタなんて恐らく初めて使ってみたんだろうな
217デフォルトの名無しさん:2012/07/24(火) 22:41:16.29
おい、おまえらQZに対する嫉妬がすぎるぞw
218デフォルトの名無しさん:2012/07/24(火) 22:41:17.06
C++でいいのならstd::listとか使うだろ
219デフォルトの名無しさん:2012/07/24(火) 22:45:05.48
>>214
二重ポインタを使う必要がない(実際、簡単に書ける)
だからわざわざ間違いが起こりやすい二重ポインタを使うのは避けるべき
220 ◆QZaw55cn4c :2012/07/24(火) 22:55:52.66
>>216
ではなくて、ポインタ変数のリファレンス。

昔いろいろやってみたことがありました。http://toro.2ch.net/test/read.cgi/tech/1277860967/504
221 ◆QZaw55cn4c :2012/07/24(火) 22:57:37.23
>>219
うん、それが理解できないでいるのです。
リストは >>184 ににた形で(二重ポインタ抜きで)書けそうですが、二分木やAVL木では、二重ポインタなしではほとんど不可能では、と考えるのです。
222デフォルトの名無しさん:2012/07/25(水) 05:11:34.41
ほんと、低脳ほど頭が固くて笑える。
223デフォルトの名無しさん:2012/07/25(水) 05:34:23.01
>>217
自己愛性パーソナリティ障害が何を言うかw
224はちみつ餃子 ◆8X2XSCHEME :2012/07/25(水) 07:36:23.36
書けるっていう奴が書いてみせればてっとりばやいんじゃね?
225デフォルトの名無しさん:2012/07/25(水) 07:52:53.60
え?お前も書けないと思ってんの?
コテやめた方がいんでね?
226デフォルトの名無しさん:2012/07/25(水) 07:53:54.44
↑池沼
227デフォルトの名無しさん:2012/07/25(水) 08:10:24.87
>>226
自己紹介乙。
今時Cなんて書かないけど、リストなんてのも書かないけど、
書くとしたらこんなもんだろ。
http://ideone.com/3miZh
228デフォルトの名無しさん:2012/07/25(水) 08:40:42.42
うむ、リスト使う位ならC++で書くからな。
229デフォルトの名無しさん:2012/07/25(水) 08:51:22.93
>>219
二重ポインタくらいで音を上げるど素人が「べき」なんて言うな、おこがましい
230デフォルトの名無しさん:2012/07/25(水) 09:00:02.35
お前がな。
231デフォルトの名無しさん:2012/07/25(水) 09:31:33.84
>>229
本物の低脳を久々に見た
229はガチでヤバイ
232デフォルトの名無しさん:2012/07/25(水) 09:31:51.97
元は教員がど素人に教えるときの話でしょ
233デフォルトの名無しさん:2012/07/25(水) 10:28:33.93
234デフォルトの名無しさん:2012/07/25(水) 11:26:23.77
老害にはC++の良さがわからんのですよ
235デフォルトの名無しさん:2012/07/25(水) 11:32:07.99
>>184を見てみたが、要するにこれってリストの「先頭に」ノードを付け加えて行って、
先頭ノードを指すポインタの値がコロコロ変わるために、二重ポインタを使って
先頭ノードを指すポインタの値を書き換えてるんだよね

リストの最後尾にノードを付加するようにすれば二重ポインタは不要
236デフォルトの名無しさん:2012/07/25(水) 11:38:54.61
挿入関数に渡したノードを指すポインタ以外がそのリストを参照していた場合参照先を見失う
237はちみつ餃子 ◆8X2XSCHEME :2012/07/25(水) 12:21:56.77
>>225
書けないということは事実上証明不能 (いわゆる悪魔の証明) なので、
この場合の証明責任は書けるという側にあるということを述べただけで俺は
内容についてどちらとも思ってないというか全く考察してない。
238デフォルトの名無しさん:2012/07/25(水) 12:24:56.26
普通なら考察以前の問題だからコテはずせって話なんだろ。
239デフォルトの名無しさん:2012/07/25(水) 13:10:58.12
>>236
だよな
だから先頭にノードを付け加えるのは特殊なケースを除けば百害あって一利なしのような気がする
240デフォルトの名無しさん:2012/07/25(水) 13:19:05.19
末尾追加は末尾を指すポインタの分メモリが必要、これが無いと遅くなる
先頭追加なら早くて、追加のメモリも要らないが、参照がコロコロ変化するのが面倒なのでリストをラップするオブジェクトが必要になり結局メモリ効率も前者と同じになる
241デフォルトの名無しさん:2012/07/25(水) 13:50:20.40
なら双方向リストにしろよ
メモリはたくさん食うけど先頭ノードからすぐに末尾ノードへのポインタを得る事が出来る
だいたいリストをソートする時には単方向リストだと大変だぞ
242 ◆QZaw55cn4c :2012/07/25(水) 19:43:53.07
>>227
>>184, >>203 より機能を削ってますね。リストの頭にしかノードを追加できない。
>>184, >>203 と同じようにリストの途中に挿入する形で、かつ二重ポインタを使用しない、というのは可能なんでしょうか。

双方向ならできるかな?
243デフォルトの名無しさん:2012/07/25(水) 19:46:08.51
できる
以上
244デフォルトの名無しさん:2012/07/25(水) 19:53:54.30
以上


詳細を議論できなくて逃げたいゴミがよく使う言葉
245デフォルトの名無しさん:2012/07/25(水) 19:59:51.56
逆になんで出来ないと思うのか疑問
246デフォルトの名無しさん:2012/07/25(水) 20:08:27.46
>>245
横からだが、それは、さすがに
悪魔の証明を求めていると思う。
247デフォルトの名無しさん:2012/07/25(水) 20:09:02.25
>>241
双方向でリング状?
先頭->prev = 末尾
末尾->next = 先頭
248デフォルトの名無しさん:2012/07/25(水) 20:10:43.91
リングリストでggrks
249デフォルトの名無しさん:2012/07/25(水) 20:15:15.39
単方向・双方向と循環・非循環は別の設計思想じゃね?
250デフォルトの名無しさん:2012/07/25(水) 20:16:43.45
>>246
悪魔の証明って言いたいだけだろ
普通にできるものを出来ないといいはるからなんでだよってなるのは当然
馬鹿な子供が掛け算が出来ないからってそれが計算不能なわけではないだろ
勉強してなんとかやろうとしてないだけだよ
251デフォルトの名無しさん:2012/07/25(水) 20:22:39.12
証明まではできなくとも困難さの示唆くらいはできる事も多々
252デフォルトの名無しさん:2012/07/25(水) 20:35:35.90
>>250
うん。言いたかっただけw

ただ、これは考え方の違いだからいいんだけど、

バカだと思った子に、「お前はバカだ」と言っても何も始まらないと思う。
その場合「君はこういう理由でバカだよ」と説明してあげた方がいいと思ってる。
253デフォルトの名無しさん:2012/07/25(水) 20:38:54.11
バカな理由はログみれば?
散々書いてあるでしょ
254デフォルトの名無しさん:2012/07/25(水) 20:42:00.05
>>252
バカには何を言っても無駄。このスレ見てればわかるだろ。
http://ideone.com/rEld8
255デフォルトの名無しさん:2012/07/25(水) 21:15:44.00
>>247
双方向リストにするならリングリストにしないと意味が半分失われるよ
最初に作成したノードを指すポインタを保持しておく
そしてもし最初に作成したノードを削除した場合、一つ前(つまり最後尾)か
一つ後ろを指すように書き換える
256デフォルトの名無しさん:2012/07/25(水) 21:23:24.18
http://www.geocities.jp/ky_webid/algorithm/011.html
http://www.ysr.net.it-chiba.ac.jp/data/list/node5.html

こんな感じか
そしてノードを削除していって一つもノードがなくなったらノードを指すポインタを
NULLにするなどしておく

別に無理にリングリストにする必要もないけどしておくといろいろと便利
257 ◆QZaw55cn4c :2012/07/25(水) 21:54:49.47
>>254
んー、各ノードを走査するときに、同時に前回の対象ノード=今回の親ノードを記憶しておくんですね。なるほど。
でも、これってリストだからできるやりかたで、二分木のときにはやる気はおきないなあ。
ああ、二分木を非再帰に構成する――上からノードをパチンコ玉よろしく落としていって、はまるところにはまる、っていうやりかたはありそうですね。

二重ポインタに固執していたんですが、いろいろあるんですね。ありがとうございました。
258デフォルトの名無しさん:2012/07/25(水) 22:10:28.89
何言ってんだお前。
>>184と同じだろ。
259デフォルトの名無しさん:2012/07/25(水) 22:13:15.37
みなさん、やっぱり自分の書いたコードが一番かわゆいのね、ふふふ
260デフォルトの名無しさん:2012/07/25(水) 22:14:20.41
コテはずすなら一生はずしとけ。
261259:2012/07/25(水) 22:22:51.53
ん?もしかしてQZさんだと思ってる?
残念ながら違います。。
運営さんにIPきいてみたら?
262デフォルトの名無しさん:2012/07/25(水) 22:32:25.62
早く薬飲んで寝てろ。
一生な。
263 ◆QZaw55cn4c :2012/07/25(水) 22:32:46.57
>>258
え?
>>184 は二重ポインタ pp をつかってループ変数を一つにおさえていますけれども、>>254 は挿入地点 p とその親 pPrev の両方をおさえてるでしょ。
p の親がない場合は pPrev = 0 にして、そのときの処理は場合わけにしたりとか。

なんだか二重ポインタ抜きだといろいろ面倒だなあ。 たぶんやらない、やりたくない。

>>259
できるだけいろいろみるようにしてますが、やっぱりそういうものでしょうね。堅いといわれてもしかたがない。
264デフォルトの名無しさん:2012/07/25(水) 22:34:17.70
どうでもいい
アホはアホでひとくくり
265デフォルトの名無しさん:2012/07/25(水) 23:04:59.72
コードなんて、結局要件を満たして動きゃ良いので、
普通とか普通じゃないと、他人に理解されようがされまいが
そんの事はかは関係ない。動いたもん勝ち。


ただし、これを仕事する場合は、大抵チームで作って幾ものだから
当然、担当が変わることもある。
その場合、他の人が読めない様なコードはくずだし、
そんなコードを書く奴もポンコツ扱いされる。
266デフォルトの名無しさん:2012/07/25(水) 23:13:06.82
某Qとかな
どうせコピペ検知システムでバレるのにモリタポなんか取ってひでえ
癖があるからすぐに分かってしまう
267デフォルトの名無しさん:2012/07/25(水) 23:18:40.01
癖がわかるほどチェックしてんだ
本気で好きなんだな
きもちわるい
268デフォルトの名無しさん:2012/07/25(水) 23:23:04.16
お前がな。
269デフォルトの名無しさん:2012/07/25(水) 23:36:48.68
お前がな?
なにそれ
ちょっと説明してもらえるかな?
270デフォルトの名無しさん:2012/07/25(水) 23:38:41.24
ひらがな。
よみがな。
271デフォルトの名無しさん:2012/07/25(水) 23:44:18.19
>>267
大学の講師なめすぎ
272 ◆QZaw55cn4c :2012/07/25(水) 23:54:51.82
>>265
では、後半の観点からすると、>>184>>254 はどちらがより好ましいのでしょうか。
273デフォルトの名無しさん:2012/07/26(木) 00:04:29.56
後者
274デフォルトの名無しさん:2012/07/26(木) 00:19:16.05
素のCでリンクトリストか。なんか楽しそうだな。
275デフォルトの名無しさん:2012/07/26(木) 01:30:53.63
プログラマーってどうせ恵まれた家庭の奴がなるんだろ?
俺んとことか金持ちじゃなかったからパソコンすらなかったし
276デフォルトの名無しさん:2012/07/26(木) 01:39:57.94
君は自らも努力しなかっただけ
277デフォルトの名無しさん:2012/07/26(木) 01:45:03.17
>>275
金持ちは医者とかだろ
世の中に何人プログラマーがいると思ってるんだ

今は開発環境がタダで手に入るけど
昔はアセンブラ買う金がなかったから
ノートにアセンブリ言語でコーディングして
CPUの命令セット見て手でコンパイルして
マシン語モニタで16進数で打ち込んだりしてたぞ

ドラクエの中村光一さんなんかも新聞配達でパソコン買ってたぞ
バイトすればパソコンくらい買えるだろ。てかなにで書き込んでるんだ

ちなみに秋元康さんは高校生のときに親の年収超えちゃって
親父が寂しそうな顔したとか
278デフォルトの名無しさん:2012/07/26(木) 01:49:52.56
>>277
どうせ俺はプログラマーにはなれないんだよ。
どうしたらいい?
本気で就職困ってる。
大学院は行かない(1浪2留)情報学科
で就職ある?
アトピー持ちだよ。
就活が怖い。

279デフォルトの名無しさん:2012/07/26(木) 01:51:35.76
+3だから2chで噂されてる新卒採用の年齢制限に引っかかるか心配
プログラマーなんてどうせ高専か大学ストレートで出た20前半の奴
がなるんだろ?おまけに実家は金持ちで小4くらいからWindowsいじ
ってたような。

俺は何もかも恵まれていない。
助言をくれ。
280デフォルトの名無しさん:2012/07/26(木) 01:51:53.39
ここは人生相談するスレじゃねーぞ
281デフォルトの名無しさん:2012/07/26(木) 01:56:03.73
文系卒でプログラムのプの字も知らなかったヤツがコーダーになる世の中で何を言ってるんだろう
282デフォルトの名無しさん:2012/07/26(木) 01:58:05.80
>>281
それってさ単に有能なだけだろ..........
283デフォルトの名無しさん:2012/07/26(木) 02:00:50.99
誰でもプログラマーになれるなら院出て仕事無いって嘆く奴はいねーよ
284デフォルトの名無しさん:2012/07/26(木) 02:03:29.53
何でも知ってるQZaw55cn4cって仕事何なの?
もし彼が無職ならプログラマがいかに敷居の高い職業なのかわかるでしょ。
285デフォルトの名無しさん:2012/07/26(木) 02:04:51.40
QZは破壊工作するからしゃーない
286デフォルトの名無しさん:2012/07/26(木) 02:07:41.40
今ならスマホアプリでも作って売ればいいだろ
このスレ来てるんならCは分かるんだろ?
Cが分かってれば3日もあればObjective-Cは使えるようになる

IT土方なら中卒だっていたぞ
某官公庁の経理システムのリーダーとか

この人なんか内定貰ってから勉強してるんだぞ
http://itpro.nikkeibp.co.jp/article/Interview/20090902/336374/
287デフォルトの名無しさん:2012/07/26(木) 02:20:28.12
↑京大やんポテンシャル違いすぎ
288 ◆QZaw55cn4c :2012/07/26(木) 02:51:01.47
>>286
>Cが分かってれば3日もあればObjective-Cは使えるようになる

本当ですか?にわかには信じがたい。
今 Java やってますけれども、いろんなJava知識を一からやっているわけで、なかなかものになりません。
きょうはここでひっかかりました。http://toro.2ch.net/test/read.cgi/tech/1340976913/595
289デフォルトの名無しさん:2012/07/26(木) 02:54:24.41
円周率の近似値なんてどうやってC言語使ってやればいいわけ…
290デフォルトの名無しさん:2012/07/26(木) 02:59:18.70
数学の問題だね
double精度でやるのは、公式知ってればすぐにできるけど、
出来合いのクラス使わずに多倍長計算やるとまあまあ手応えあって面白いよ
291デフォルトの名無しさん:2012/07/26(木) 03:02:05.49
ガウスルジャンドルとかで検索してみるとか
292デフォルトの名無しさん:2012/07/26(木) 03:04:34.51
>>282
Fラン卒だった
293デフォルトの名無しさん:2012/07/26(木) 03:07:15.26
>>288
それレスみた?とりあえず英語読めないときついぞ
Java分かってればなお速いぞ

>>289
「C 円周率」でびんぐれ
「マチンの公式 C」でもいいぞ
294デフォルトの名無しさん:2012/07/26(木) 03:28:00.90
>>288
中年ジジイは既に脳が硬化してるから無理だよ
295 ◆QZaw55cn4c :2012/07/26(木) 03:41:15.22
>>293
うん。自分で extends Applet の外にクラス作っておいだしたはいいものの、そのクラスをも extends Applet にしないといけなかったんですね。
まだぴんとこないのですけれども。
296デフォルトの名無しさん:2012/07/26(木) 03:44:02.16
>そのクラスをも extends Applet にしないと
それがしたかったのなら正しいけど多分違うだろ
297 ◆QZaw55cn4c :2012/07/26(木) 03:54:03.79
>>296
そうですか?extends ではうまくいってます。
this を cast してもだめだったし、いまいち c++ と違うような気がするなあ。
298デフォルトの名無しさん:2012/07/26(木) 03:57:47.08
うまくいってるってのはコンパイルが通るって事だけ?
299 ◆QZaw55cn4c :2012/07/26(木) 04:02:46.95
>>298
アプレットビュアーまでOKです。んーんー。
300デフォルトの名無しさん:2012/07/26(木) 04:06:59.62
>>288
はインナークラスを外に出したって言ってるけど中にもまだ残ってるし
残ってるほうのForDimChangeで動いてるだけじゃないのかね
それとも他にも変更したのかね
301デフォルトの名無しさん:2012/07/26(木) 04:08:23.61
つかスレ違いだからやめるわ
続きはあっちで
302デフォルトの名無しさん:2012/07/26(木) 06:34:41.31
C++と違うって
こんな事で躓いてるようじゃC++もできんだろ
303デフォルトの名無しさん:2012/07/26(木) 06:48:31.62
304 ◆QZaw55cn4c :2012/07/26(木) 07:57:05.06
>>294
そう思うのは勝手ですが、かくいうあなたもいずれ硬化脳中年になるのです。
305デフォルトの名無しさん:2012/07/26(木) 08:13:35.28
年齢関係ない
306デフォルトの名無しさん:2012/07/26(木) 08:33:03.98
なんか適当に巡回してたらこのスレ見つけて触発されたからはじめたい。
おすすめのコンパイラ教えてくれ。あと学ぶためのサイトまた書籍とかも。
307デフォルトの名無しさん:2012/07/26(木) 08:37:33.32
vc++expressでggr
308デフォルトの名無しさん:2012/07/26(木) 08:41:55.68
了解thx
309デフォルトの名無しさん:2012/07/26(木) 09:10:25.49
>>306
knoppixをDLして、CD-Rに焼いて、なおかつUSBにもisoを入れろ
ソイツの文字コードはUTFだから気をつけろ
310デフォルトの名無しさん:2012/07/26(木) 09:13:00.95
311デフォルトの名無しさん:2012/07/26(木) 10:43:52.43
>>304
その議論は無意味ですよ
「今ここ」の話をしているのですから
312デフォルトの名無しさん:2012/07/26(木) 13:02:39.83
>>306
初心者なら codepad.org でいいよ
VCとか自分のPCにはインストールしたくないよね
313デフォルトの名無しさん:2012/07/26(木) 16:08:00.61
>>312
codepad...わかった
314デフォルトの名無しさん:2012/07/26(木) 16:12:47.02
ちなみに「ここで学ぶといいよ」みたいなサイトある?
315デフォルトの名無しさん:2012/07/26(木) 16:21:01.76
猫でもできるでいいんじゃね?
316デフォルトの名無しさん:2012/07/26(木) 16:50:35.82
1から100までの間の奇数の和を求めるプログラムが難しいです
だれか助けてください

#include<stdio.h>
main()
{
int i, sum;
「わからない箇所」;
for(i=1; i<= 99;「わからない箇所」){
「わからない箇所」;
}
printf("sum = %d\n", sum);
}

大学の課題で必要なんですが、すいませんどなたか助けてください…。
317デフォルトの名無しさん:2012/07/26(木) 16:52:49.98
sum=0
i+=2
sum+=i
318デフォルトの名無しさん:2012/07/26(木) 16:59:54.01
sum = 2500
i += 100
sum += 0
319デフォルトの名無しさん:2012/07/26(木) 17:04:39.45
うわ凄い助かります
非常に厚かましいのですが、この場合だとどうすれば良いのでしょうか

キーボードから3桁の整数を入力したとき、それぞれの桁の和を求めるプログラムを作りなさい
たとえば234と入力されたとき2+3+4を求める

#include
main()
{
int a, q, sum;
printf("3桁の整数を入力してください\n");
scanf("%d",&a);
q=「わからない箇所」;//100の位を求める
sum = q;
a =「わからない箇所」;//元の数aから100の位を除く数をあらためてaとする
q =「わからない箇所」;//10の位を求める
sum = sum + q;
a = 「わからない箇所」;//10の位を除く
sum = sum +「わからない箇所」;
printf("和=%d\n",sum);
320デフォルトの名無しさん:2012/07/26(木) 17:07:55.74
>>319
a/100
a-q
a/10
a-q
a
321デフォルトの名無しさん:2012/07/26(木) 17:17:13.72
C言語難しいですね...。勉強します...。
すいません、最後です。できればお願いしますorz

年利率がr%の銀行にa円預金したとき、それがb円になるのに何年かかるかを求めるプログラムを作りなさい

#include <stdio.h>
main()
{
double r, a, b;
int year = 0;
printf("r,a,bを,この順番で,入力してください\n");
scanf("%lf %lf %lf", &r, &a, &b);
while(「わからない箇所…たぶんmoneyだと思うのですが…){
year++;
a「わからない箇所」;
}printf("year=%d\n",year);
}
322デフォルトの名無しさん:2012/07/26(木) 17:22:28.32
a<b
*=1*r/100
323デフォルトの名無しさん:2012/07/26(木) 17:35:59.32
助けてください!
C言語の課題です。

「自分のフルネームをアルファベット小文字で入力し、そのアスキーコードを、10進数で求めて平均、分散、標準偏差を表示」
を表すソースを教えてください。
324デフォルトの名無しさん:2012/07/26(木) 17:38:25.18
いやです。
325デフォルトの名無しさん:2012/07/26(木) 17:38:36.89
課題はこっち

C/C++の宿題片付けます 159代目
http://toro.2ch.net/test/read.cgi/tech/1342966104/
326デフォルトの名無しさん:2012/07/26(木) 17:40:48.60
ごめんなさい。スレッド違いでしたね…
327デフォルトの名無しさん:2012/07/26(木) 18:01:50.56
課題を人にやってもらったりしてるから
日本で人が育たないんだなあ
328デフォルトの名無しさん:2012/07/26(木) 18:35:29.13
その代わりに課題をやってくれる人が育つので
ある程度問題解決
329デフォルトの名無しさん:2012/07/26(木) 18:47:28.37
だって大学までの勉強なんて入社で評価されないし
遊んだりとか他のリア充活動ばかりが評価されるからなあ
そりゃ普通大学を真面目にやるのは損って思うでしょ
レポートはコピーしてその分遊んだりなんかでリア充した方が職を得やすいんじゃ誰も勉強しないよ
うちの同期のトモダチもそういうやつらはみんな大手決まってるけどコピー元のレポート書いてる俺や他の真面目くんはまだ中小にすら拒否されまくりだよ
330デフォルトの名無しさん:2012/07/26(木) 19:16:37.48
日本人とは限らんしな
331デフォルトの名無しさん:2012/07/26(木) 19:17:32.40
この業界はコミュ力ないクズはコード書けても不採用が常識だろ
コードは三ヶ月で書けるようになるからな
332デフォルトの名無しさん:2012/07/26(木) 21:01:00.93
Qとかな
333デフォルトの名無しさん:2012/07/26(木) 21:24:50.22
コンピュータサイエンスの教科書における問題の1つは、再帰のくだらない例を
掲載していることである。よくあるのは、階乗の計算やフィボナッチ数列の計算だ。
再帰は強力なツールであり、それをこのような状況で使用するとはあきれてものが
言えない。仮に、私の部下が再帰を使って階乗を計算しようものなら、別のだれかを
雇うだろう。

『Code Complete第2版〈上〉』(Steve McConnell,日経BPソフトプレス,2005年,p486)
334デフォルトの名無しさん:2012/07/26(木) 21:29:03.54
コピペマン参上!まで読んだ。
335デフォルトの名無しさん:2012/07/26(木) 21:42:30.19

そのイカした本にはcoooooooooooolなリカーシヴの実例が
載ってるんだろな
336デフォルトの名無しさん:2012/07/26(木) 21:42:37.72
韓国政府 「在日はいい加減に祖国に帰れよ!在日の祖国定着を行うぞ!」 在日の帰国計画を用意
http://engawa.2ch.net/test/read.cgi/poverty/1343183891/


韓国、日本村を造成、在日韓国人の定着支援を計画
在外僑胞の村がある慶尚南道南海郡(キョンサンナムド・ナムヘグン)に日本村と観光休養団地が新たに造成される。
韓国南海郡は24日、郡庁でこうした内容が盛り込まれた事業計画を確定し発表した。
これによると郡は460億ウォン(約31億円)を投じて日本式住宅、コミュニティセンター、小公園などを備えた住宅団地を作る。
また、日本文化体験館、日本食・宿泊体験館、日本歴史文化館も作る。
故郷を離れた後、異国の地に住む在日韓国人の故国定着のためのものだと郡は説明した。

2012/7/25
http://japanese.joins.com/article/196/156196.html?servcode=A00§code=A10
337デフォルトの名無しさん:2012/07/26(木) 21:48:06.81
ネトウヨ王に、俺はなる!まで読んだ。
338デフォルトの名無しさん:2012/07/26(木) 21:49:40.51
>>333
フィボナチ数列は、再帰でもいいんじゃない?
まあビネの公式を調べて使えということかもしれないが。
339デフォルトの名無しさん:2012/07/26(木) 22:41:32.51
>>338
違う。
再帰はスタックを消費する。
フィボナッチ数列を再帰で書いたら俺でも怒るわ。
この人は、「普通にループで書けるのに無駄にスタック消費しやがって!もっと考えろ!」ということを言いたいだけ。

もっと言うと、「素晴らしいものが何にでも通用すると思うな!『銀の弾丸』は無い!都度考えろ!」ということ。
340デフォルトの名無しさん:2012/07/26(木) 22:43:57.02
順列調べるのに再帰してごめんなさい
341デフォルトの名無しさん:2012/07/26(木) 22:45:09.15
>>333
Thasts neta, right?
342デフォルトの名無しさん:2012/07/26(木) 22:45:41.69
再帰考えたやつだれだ、出てこい
343デフォルトの名無しさん:2012/07/26(木) 22:46:15.79
>>339
コピペ馬鹿の分際で偉そうなことを言うなって
344デフォルトの名無しさん:2012/07/26(木) 22:49:23.78
>>343
ほう、じゃあ何か偉そうなことを言ってみろ。
345デフォルトの名無しさん:2012/07/26(木) 22:54:21.82
>>340
再帰は素晴らしい機構だが、盲信すんなってことだ。
確かに順列は再帰は不要だな。普通にループすべし。
346デフォルトの名無しさん:2012/07/26(木) 22:55:07.52
私には無理ですなぜなら私が言うとそれは「えらいこと」そのものになってしまい、
「えらそうなこと」にはららないからです。
非常に済みませんが、あたなのような程度の低い低脳が滲み出た
ええらそうなことなることは、言えません。
347デフォルトの名無しさん:2012/07/26(木) 22:55:35.28
順列調べるのにまず手作業で樹形図書いてるからそれに引きずられて再帰しちゃう
348デフォルトの名無しさん:2012/07/26(木) 22:58:58.03
>>346
お疲れ様でした。田舎に帰って実家警備業にでも就いてください。
ついでに精神科にも通ってください。
349デフォルトの名無しさん:2012/07/26(木) 23:04:17.70
itoa()を実装しようと思ったら、ついつい再帰で書いちゃうよね。
でも、ハノイの塔を再帰で書くのは却下w
350デフォルトの名無しさん:2012/07/26(木) 23:05:29.20
末尾再帰なら許す
351デフォルトの名無しさん:2012/07/26(木) 23:33:50.94
>>329
>>331
うわぁもうやめてくれ。

プログラマーって眼鏡かけたリア充の巣窟なんだろうな。
もう吐き気がとまらないわ。
俺は一生新聞配達か。
352デフォルトの名無しさん:2012/07/26(木) 23:43:02.56
>>351
http://d.hatena.ne.jp/yomoyomo/20090721/reunion



ループは再帰にできるけど、再帰をループで書くのは面倒なんだっけか
353デフォルトの名無しさん:2012/07/26(木) 23:45:16.23
オタクにもなれない、リア充にもなれない
354デフォルトの名無しさん:2012/07/27(金) 00:08:52.66
>>344
例にそんなに噛み付かないでくれよ
ほら、ジャーキーやるからさ(´・ω・`)
355デフォルトの名無しさん:2012/07/27(金) 00:12:20.79
>>339
スタックを消費するのは仕方ない場合もあるが、
フィボナッチ数列で問題になるのは単純に再帰で実装すると
ループで書いた場合より計算量が増える事でしょ

じゃあどうする?という事で、メモ化や動的計画法の
話題に持っていくのが一つのアプローチ
これ単体では「くだらない」が、例としてはむしろ単純な事が重要
356デフォルトの名無しさん:2012/07/27(金) 00:12:38.43
チクワくれチクワ
357デフォルトの名無しさん:2012/07/27(金) 00:28:40.54
動的計画でフィボナッチどう書くの?
358デフォルトの名無しさん:2012/07/27(金) 00:35:03.68
>>357
#include <stdio.h>

long fib(int n)
{
static long data[50]={1,1};

if(n>=46) return -1;
if(data[n]==0) data[n]=fib(n-1)+fib(n-2);
return data[n];
}

int main(void)
{
int i;
for(i=0;i<50;i++) printf("%ld\n", fib(i));
return 0;
}
359デフォルトの名無しさん:2012/07/27(金) 00:49:42.04
じゃあメモ化は?
360デフォルトの名無しさん:2012/07/27(金) 01:09:07.08
>>359
動的計画法でしょ
361 ◆QZaw55cn4c :2012/07/27(金) 04:44:09.61
>>284
仮になんでも知っているとして、それでも知っていることと書けること、それも納期や雑用等のプレッシャーのもとで書けること、とは相関はないと考えています。
362 ◆QZaw55cn4c :2012/07/27(金) 04:46:53.82
>>273
二重ポインタ自体の理解困難性というデメリットと、二重ポインタ使用によるループ記述の見通しのよさというメリットを比較して、前者に重きを置く理由を教えてください。
363デフォルトの名無しさん:2012/07/27(金) 05:21:28.32
見通しの良さって明らかなメリットと言えるほどの差が無い
364デフォルトの名無しさん:2012/07/27(金) 05:39:56.40
二重ポインタくらい理解できなくてどうすんのさ
char *argv[]とか
365デフォルトの名無しさん:2012/07/27(金) 05:40:25.05
むしろ悪いよね。
初心者はちゃんと理解もできないし。
366デフォルトの名無しさん:2012/07/27(金) 06:47:49.33
>>358
それ、ただキャッシュしてるだけやん。
なんでそれが動的計画なの?
367デフォルトの名無しさん:2012/07/27(金) 10:02:55.88
理解することとメリットがあることは別物
368デフォルトの名無しさん:2012/07/27(金) 10:04:28.04
お前がそう思うんならそう(ry
369デフォルトの名無しさん:2012/07/27(金) 10:14:18.17
>>361
無職なのに納期?おかしな事を言うなあ
やっぱり狂ってる
370デフォルトの名無しさん:2012/07/27(金) 11:28:24.19
男が女性問題を議論してはいけないと申されるのか
371デフォルトの名無しさん:2012/07/27(金) 13:51:49.24
標準Cで巨大ファイルを扱うにはどうすれば?
整数で扱える範囲を超えてシークできない
372デフォルトの名無しさん:2012/07/27(金) 14:00:31.96
>>371
Win32のCreateFile()、SetFilePointer()、RealFile()、WriteFile()を使えば
64bitまでアクセス出来る
373デフォルトの名無しさん:2012/07/27(金) 14:02:49.21
標準Cとか書いてるのにか。
374デフォルトの名無しさん:2012/07/27(金) 14:03:20.13
64BIT以上はどうするんですか?
375デフォルトの名無しさん:2012/07/27(金) 14:05:48.62
日 本 語 で お k
376デフォルトの名無しさん:2012/07/27(金) 14:06:28.80
C言語初心者だけど

理解しにくい記述は避けるってのが他言語で覚えた掟
perlのワンライナーとかスゴイけど怖い
「これ修正して(´・ω・`)」
「無茶言わないで下さい(´・ω・`)」

ダブルポインターはそこまで鬼畜じゃないか?
377デフォルトの名無しさん:2012/07/27(金) 14:07:59.67
http://support.microsoft.com/kb/894942/ja

>>374
64bitだと1680万TiBあるのだが
そういうHDDが出る頃にはもうWin32なんて使われないだろう
からかってるのか?
378デフォルトの名無しさん:2012/07/27(金) 14:22:14.46
>>376
ダブルポインターなんて言葉自体ポインターを理解できない輩の言い訳にしか過ぎない。
ポインターに鬼畜もへったくれも無いので、必要なら必要なだけ使えばいい。
379デフォルトの名無しさん:2012/07/27(金) 14:28:41.04
そういうやつに使われると迷惑なだけなんだが。
380デフォルトの名無しさん:2012/07/27(金) 16:10:05.43
配列の境界チェックを一時的に導入する書き方ってないかな?
デバッグ時だけチェック入りのコードにしてリリース時は速度稼ぐために外したいんだけど
381デフォルトの名無しさん:2012/07/27(金) 16:15:45.71
配列へのアクセスをマクロ経由にすればいい。
382デフォルトの名無しさん:2012/07/27(金) 16:18:57.94
value = array[i];

value = GET(array, i);
こんなのか
383デフォルトの名無しさん:2012/07/27(金) 16:20:21.77
既にあるコードの見た目を変えないようなマクロを導入するのは無理?
384デフォルトの名無しさん:2012/07/27(金) 16:21:29.70
お前、アホだろ。
385デフォルトの名無しさん:2012/07/27(金) 16:28:02.68
とりあえず静的解析ツール使えばいんじゃねーのか?
386デフォルトの名無しさん:2012/07/27(金) 16:29:10.31
そのレベルじゃ途方にくれる結果になるとは思うが。
387デフォルトの名無しさん:2012/07/27(金) 16:31:57.84
assert
388デフォルトの名無しさん:2012/07/27(金) 16:33:14.96
昔C#に移植してみたっけな
手間はかかるがかなり効果はあった
389デフォルトの名無しさん:2012/07/27(金) 16:44:35.63
>>385
それよさそう
お勧めのツールはある?
390デフォルトの名無しさん:2012/07/27(金) 16:51:29.97
Cppcheckでやってみるか
391デフォルトの名無しさん:2012/07/27(金) 16:51:43.60
coverity
392デフォルトの名無しさん:2012/07/27(金) 17:04:54.35
静的解析ツールで境界チェックってできるの?
定数等からある程度はわかるだろうけど実行時にしかわからないものもあるよね。
393デフォルトの名無しさん:2012/07/27(金) 17:36:54.63
とりあえずC++から入って後々Javaとか後付することにした
VC++でいいと聞いてインスコしたんだけど、始めにロゴみたいなの出て一瞬で消えて起動さえしないんだけど。
どゆこと?教えてエロい人

ちなみにOSはWindows7
394デフォルトの名無しさん:2012/07/27(金) 17:40:43.47
再インスコ
395デフォルトの名無しさん:2012/07/27(金) 17:47:02.39
スペインに勝利! 世界は日本を見くびっていた=中国メディア

  ロンドン五輪・男子サッカーが26日開幕し、日本は強豪スペインに1−0で勝利した。中国メディアも日本の勝利を大きく伝え、騰訊網は「世界は日本を見くびっていた」とする評論記事を掲載した。

  記事は、日本についてヨーロッパは「現代サッカーを速やかに吸収する素晴らしい学習者、模倣者」と認識し、中国は「日本のサッカーを学ぶのではなく、日本が他人からどうやって学んできたかを学ぶべき」

  と考えてきたと論じたうえで「これは間違いなく日本に対する過小評価だ」「ヨーロッパにしろ中国にしろ、日本サッカーは『学び続ける』ことだけで強くなってきたと考えることにすっかり慣れてしまった」とした。

  一方、スペイン戦の勝利後、日本代表の関塚隆監督や選手たちが口々に「ボール支配の時間が少なすぎた」と不満をこぼしたことに触れ、

  「彼らは『学習者』としてスペインに挑んだのではない。日本の態度は強い『競争者』意識の表れだ」と分析。「この意識は非常に尊いものだ」とし、「学習」ばかりを強調する中国サッカーの意識を暗に批判した。

  そして、強い競争者意識を持った日本がスペイン戦で見せたパフォーマンスについて「もっとチャンスを生かせていれば、5−0でスペインに勝ってもおかしくなかった」と評価した。(編集担当:柳川俊之)

  http://news.searchina.ne.jp/disp.cgi?y=2012&d=0727&f=national_0727_022.shtml
396デフォルトの名無しさん:2012/07/27(金) 17:50:50.61
>>393
始め、ってどの始めだ
397デフォルトの名無しさん:2012/07/27(金) 18:15:18.31
>>394
何度か再インスコしたんだけど無理だった。


>>396
起動すると「Visual C++ 2010 Express」て書かれて、その後その表示が消えて、そのまま何も起こらない。
398デフォルトの名無しさん:2012/07/27(金) 18:19:58.70
VSスレ行け
399 ◆QZaw55cn4c :2012/07/27(金) 19:41:43.68
>>380
C++ でoperator[]
ただし、ポインタが境界外っていうのはだめだね。
bcc32 -v -vG はどうだったっけ。
400デフォルトの名無しさん:2012/07/27(金) 19:48:09.66
C++はスレ違い
401デフォルトの名無しさん:2012/07/27(金) 19:57:23.71
インデックス値で境界外を指しても間違いとは限らねーし
Cの文法でインデックス正誤がどうこうの要求自体が間違ってる
402デフォルトの名無しさん:2012/07/27(金) 20:02:22.47
その程度、静的解析ツールはサポートしてるけどな。
403デフォルトの名無しさん:2012/07/27(金) 20:07:18.22
>>380
面倒でもassert使え
404デフォルトの名無しさん:2012/07/27(金) 20:12:33.37
>>401=アホ
405デフォルトの名無しさん:2012/07/27(金) 20:19:38.86
>>404
アホはおまえ
インデックス値で境界外を指す間違っていない例を知らないだけだ
406デフォルトの名無しさん:2012/07/27(金) 20:22:40.59

恥の上塗り
407 ◆QZaw55cn4c :2012/07/27(金) 20:27:43.78
>>401
でも i が out of bounds で a[i] に読みにしろ書きにしろアクセスした時点でアウトでしょ?
だったら operator[] は有用だとおもうんですけど。
408デフォルトの名無しさん:2012/07/27(金) 20:29:08.27
409デフォルトの名無しさん:2012/07/27(金) 20:31:52.10
今更C言語なんかで改変に耐性のないクソコード書くヤツに
煩わされる様な事は無いだろうから
無知は放置の方向で
410デフォルトの名無しさん:2012/07/27(金) 20:34:52.96
世の中には問題にならない例も有る事なんかデバッグしなくていい理由にならんわ
問題が有るからデバッグするんだろ
411デフォルトの名無しさん:2012/07/27(金) 20:36:56.02
>>409=池沼
412 ◆QZaw55cn4c :2012/07/27(金) 20:49:02.61
>>408
それ、C99 以降ね。

あと、http://www.kouno.jp/home/c_faq/c2.html#6
>Dennis Ritchieは「Cの実装への根拠 のない馴れ馴れしさ」と呼んだ。
413デフォルトの名無しさん:2012/07/27(金) 20:52:31.95
【社会】 ノーベル賞・利根川進教授の15歳息子、米MITの寮自室で死亡…異臭で発覚、警察「事件性はない」
http://logsoku.com/thread/raicho.2ch.net/newsplus/1319691749/
414 ◆QZaw55cn4c :2012/07/27(金) 21:10:23.34
>>408
あと、文字列末尾の\0の分は足さなくてもいいのか?
415デフォルトの名無しさん:2012/07/27(金) 21:18:34.01
いつの話題だよ
池沼か?
事件性があるのはお前の話題の遅さだろks
416デフォルトの名無しさん:2012/07/27(金) 21:21:15.86
sizeof "hoge" は5だろ
417 ◆QZaw55cn4c :2012/07/27(金) 21:37:20.90
>>416
なるほど、thx。
でも普段これをやるときは strlen() を使わざるを得ないな。だって不定長のデータを扱うためなんだろう?この手の構造体を使う場合というのは。
418デフォルトの名無しさん:2012/07/27(金) 22:10:36.45
sizeof "hoge"[100] == 1 が保証されるのを知らないアホは逃げたか?
419デフォルトの名無しさん:2012/07/27(金) 22:37:36.57
うん
420デフォルトの名無しさん:2012/07/27(金) 22:48:56.65
>>418=ゴミ
421あきら:2012/07/27(金) 22:54:01.24
勉強期間がまだ3カ月程度でまだよくわかっていないので
説明お願いしたいです。
本当に困っているので
すみませんがよろしくお願いします!

    int i=0,n=1000;
while(n>0){
n=n-7;
i++;
}
printf("i=%d,n=%d",i,n);

答えがi=143,n=-1になることを説明お願いします。
iは1000/143であってますか?
422デフォルトの名無しさん:2012/07/27(金) 22:56:58.45
ゲーム「フォトカノ」のコミカライズ単行本が続々登場


エンターブレイン制作によるPSP用恋愛シミュレーションゲーム「フォトカノ」を原作にした、マンガ作品の単行本が連続してリリースされている。
7月25日にはアンソロジー「フォトカノ Omnibus Album」が、本日7月27日には柚木N'「フォトカノ Sweet Snap」の1巻が発売された。

「フォトカノ Omnibus Album」では成沢空、PONPON、星野円ら10名の作家が、各ヒロインをメインにしたエピソードを執筆。カバーイラストは
「鉄道むすめ」のキャラクターデザインで知られる、みぶなつきが手がけている。

一方「フォトカノ Sweet Snap」は、ヒロインのひとり・新見遙佳を軸に展開する長編ストーリー。月刊電撃マオウ(アスキー・メディアワークス)で
連載されている。アニメイト、コミックとらのあな、ゲーマーズ、まんが王、WonderGOOでは、「フォトカノ Sweet Snap」1巻の購入者に柚木N'
描き下ろしのイラスト特典を配布中。特典の数には限りがあるため、気になる人はお早めに。

またヤングアニマル(白泉社)で連載されている、ナイロン「フォトカノ Your Eyes Only」の1巻は8月24日にリリース。この発売を記念してヤング
アニマルと月刊電撃マオウでは、出版社の垣根を越えた出張掲載企画が実施される。8月10日発売のヤングアニマル16号には柚木N'が、
8月27日発売の月刊電撃マオウ10月号にはナイロンが登場し、互いに「フォトカノ」の出張マンガを発表する。

http://natalie.mu/comic/news/73658


http://blog.dengeki.com/wp055maoh/wp-content/uploads/2011/11/Ph5%EF%BC%88%E3%83%95%E3%82%A9%E3%83%88%E3%82%AB%E3%83%8E%EF%BC%89-410x300.jpg
http://blog-imgs-51.fc2.com/y/a/r/yaraon/82c5a3f7.jpg
http://blog-imgs-36.fc2.com/v/n/r/vnr2034/20120211162317b33.jpg
423デフォルトの名無しさん:2012/07/27(金) 23:58:36.26
キモヲタコピペマン参上!まで読んだ。
424デフォルトの名無しさん:2012/07/28(土) 03:17:25.17
>>412のリンク先に

>char namestr[MAXSIZE];
>ここでMAXSIZEは配列namestrに保存されうるどんな名前よりも大きい。
>しかしながらこの技法も、規格の厳密な解釈によると許されないようだ。

ってあるけどなんで?
425 ◆QZaw55cn4c :2012/07/28(土) 04:40:03.39
>>424
http://c-faq.com/struct/structhack.html
に補完されているのをみると、この場合も構造体の malloc() では、
struct name *ret = malloc(sizeof(struct name)-MAXSIZE+strlen(newname)+1);
ととり、同じく臨機応変に構造体のサイズが変化するがごとくに使うやりかたを指しているようだ。

これら二つのやりかたに関する議論の内容は残念ながらしらない。
426デフォルトの名無しさん:2012/07/28(土) 05:20:20.74
struct name {
int namelen;
char namestr[1];
};

これ初めて見たんだけどどう使うの?
はみ出すんじゃないの?
427デフォルトの名無しさん:2012/07/28(土) 05:31:42.03
typedef struct tagBITMAPINFO {
BITMAPINFOHEADER bmiHeader;
RGBQUAD bmiColors[1];
} BITMAPINFO;

mallocとかで必要なだけ領域を確保してアクセスするんだよ
428デフォルトの名無しさん:2012/07/28(土) 05:37:05.30
ああ、そういう事ね
サンクス
429デフォルトの名無しさん:2012/07/28(土) 09:27:48.90
>>421
何に困ってるのかよく解らんから、説明っつーても「書いてある通りだよ」としか。
430デフォルトの名無しさん:2012/07/28(土) 11:57:25.56
大炎上の楽天「Kobo」 「青空文庫で水増し」「英語しか使えない」「インストールできない」→レビュー非表示に
http://engawa.2ch.net/test/read.cgi/poverty/1343304708/

自称グローバル企業楽天三木谷「Windowsって漢字のアカウント許してるのかよw2バイトとかありえねぇ」
http://engawa.2ch.net/test/read.cgi/poverty/1343412938/

馬鹿な日本人が漢字使ってマンガしか読まないからw楽天三木谷日本人に宣戦布告か?
http://engawa.2ch.net/test/read.cgi/poverty/1343394199/

大炎上の楽天「Kobo」 「青空文庫で水増し」「英語しか使えない」「インストールできない」→レビュー非表示に
http://engawa.2ch.net/test/read.cgi/poverty/1343304708/

低評価レビューを隠して逃走した楽天・三木谷社長「細かいことで騒いでいるのは少数派ですよw」
http://engawa.2ch.net/test/read.cgi/poverty/1343390542/

三木谷「コボの出足は大成功、ネガティブな口コミは誤情報だから消し、内容を吟味して再掲載する」
http://engawa.2ch.net/test/read.cgi/poverty/1343403455/
431デフォルトの名無しさん:2012/07/28(土) 13:58:58.70
>>421
はい、合ってます
432デフォルトの名無しさん:2012/07/28(土) 16:33:23.79
>>421
いいえ、合ってません
433デフォルトの名無しさん:2012/07/29(日) 00:18:52.00
ある関数の中で別の関数の処理を書く事って出来ないんですか?

int main(){
void remain(){
i=2;
}
}

こんなの〜
434デフォルトの名無しさん:2012/07/29(日) 00:25:50.94
newしてvector型配列に追加したデータは
vectorの.clear()関数を使用した際にdeleteされますか?
435デフォルトの名無しさん:2012/07/29(日) 00:40:03.31
>>433
こういうこと?
http://ideone.com/XDEk3
できるっぽいね。初めてやってみたけど
436433:2012/07/29(日) 00:46:49.28
>>435
こんぱいら〜によっては出来ないんでしょうか?
わたしはVisual C++ 2010使ってますが関数の名前の箇所でコロン付けなさいと言われちゃう…
ルーチン呼び出しって思われてるのかな出来ませんでした><;

そのサイトで使われているのはgccでしょうかね
437デフォルトの名無しさん:2012/07/29(日) 00:51:55.36
>>436
調べてみたら関数のネストはGCCの拡張だそうです。
VC++ではできないみたいですね。
438デフォルトの名無しさん:2012/07/29(日) 02:51:26.79
関数内で関数定義なんて見にくいだけでいいことないだろ
439デフォルトの名無しさん:2012/07/29(日) 03:59:11.54
>>438
いや。使いたいことはある。特定のルーチンを使いまわししたいときは特に。
最近では AVL木。木の回転のまえのルーチンはメインの関数内に入れたいなと。
440デフォルトの名無しさん:2012/07/29(日) 04:29:25.29
中括弧閉じのマクロにしちまえばいいじゃん。
441デフォルトの名無しさん:2012/07/29(日) 05:28:20.51
>>439
C++でクラス階層を重ねる手法に時代は移ってる
Cは全ての関数が同じレベルにあるので管理が難しい
442433:2012/07/29(日) 07:53:37.18
なるほど〜
ではグニューCを使うべきなのでしょうか?VC++は学び始めた最初から使っていてある程度慣れてきた感もあるのですが…
関数の中に書く事でコードにある程度まとまった感が欲しかったのでやってみただけです
あと初心の段階でこういった依存性を体感できたのはちょっと嬉しかったり
よい経験に。

>>440
初心者なので分かりませんでしたw>ちゅうかっことじのまくろ
443デフォルトの名無しさん:2012/07/29(日) 09:05:22.47
別に関数かしなくても医院で内科医?

int main()
{
/* 適当に処理 */

/* remain */ {
i = 2;
}
/* 適当に処理 */
return 0;
}
444デフォルトの名無しさん:2012/07/29(日) 10:18:19.69
別の関数を呼び出さずに、1つの関数内だけでサブルーチンと同じ流れ
制御構造(コール、リターン)を実現する記述方法って、なにかありますか?
445デフォルトの名無しさん:2012/07/29(日) 10:24:02.64
>>444
つ[goto]
446デフォルトの名無しさん:2012/07/29(日) 10:24:26.86
setjmp
447デフォルトの名無しさん:2012/07/29(日) 10:36:33.46
>>445-446
情報ありがとうございます
448はちみつ餃子 ◆8X2XSCHEME :2012/07/29(日) 11:11:53.96
>>442
C++ であれば関数内でクラス定義できるのを利用してこんな風に書けなくもない。
スレ違いだけど。

int i;

int main() {
struct d {
static void remain(){
i=2;
}
};
d::remain();
return 0;
}
449433:2012/07/29(日) 11:15:29.69
>>443
すいません。実は処理がi = 2だけじゃなく結構長いソースなので同化させちゃうと何度も呼び出さないといけなくなっちゃいます…

/* remain */ {
i = 2;
}

だけだとラベルがないので多数から参照できないお…、と言おうと思ったら>>444さんの会話の中で出ているジャンプ命令がありますねw

ですがすぱげってぃ〜状態になりませんか?ジャンプだらけだと…

やはりここは素直にmainルーチンのソトに置くのが妥当のようですね…。個人的に残念ではありますが
450はちみつ餃子 ◆8X2XSCHEME :2012/07/29(日) 11:19:20.72
>>442
処理系の独自拡張を使うのは可能な範囲では避けた方がいいというのが一般的な意見じゃないかと思う。
特に関数内での関数定義はマクロで切り分けたりもしづらいタイプの機能なので移植性を損いがち。
更に言うならめったに使わない機能なので、変なバグが残っていたり将来的にサポートが打ち切られる可能性も少なくない。

といった欠点は指摘できるけど、利点と欠点を比べてどう判断するかは個別の状況によるトレードオフの問題。
451433:2012/07/29(日) 11:29:41.03
>>448
はちみつ餃子さんありがとうございます。
C++で書いてもいいのですがとりあえずは>>449に書いた暫定対策で行きますw

クラス定義とかは初耳です。
C++は参考書買ってないので(X_x)...
勉強します…orz
452デフォルトの名無しさん:2012/07/29(日) 12:17:56.38
アルゴリズムはもう発見しつくされてるから
プログラミング業界って技術者がいらないの?
453デフォルトの名無しさん:2012/07/29(日) 12:22:02.91
> プログラミング業界って技術者がいらないの?
こういう質問に答えてくれるプログラムが開発されたらいらなくなると思うよ。
454デフォルトの名無しさん:2012/07/29(日) 12:37:48.51
>>452
こういうやつがいるから技術者が必要なんだよ
455デフォルトの名無しさん:2012/07/29(日) 13:07:29.51
技術者必要なんだけど、要らないやってずうっとやって来て、プログラムの作れない国になっちゃった。
456デフォルトの名無しさん:2012/07/29(日) 13:19:15.60
技術はほとんどが隠されて共有されないからね
世界各地で同じようなものを再発明しないといけないんだよ
だから技術者はいくらいても足りない
457デフォルトの名無しさん:2012/07/29(日) 14:24:05.39
C++のSTLは車輪の再発明をかなり抑えたという功績は大きい
スレチだけど

Cで書いてると毎度同じような事を何回も書いてすごい時間を無駄にしているような
気がする

ライブラリ化して一般化すればいいんだけどMATLABのような物を一人で作る事は
まず無理
458デフォルトの名無しさん:2012/07/29(日) 14:53:05.84
技術がない人たちのレスが続いています
あと少しのご辛抱です
459デフォルトの名無しさん:2012/07/29(日) 14:58:33.39
mallocってたとえば1000バイト確保しておいて10バイト分の入力のときにのこりの990バイトはその入力が終わった時点で開放されるんですか?
460デフォルトの名無しさん:2012/07/29(日) 15:03:15.97
>>458
あと少しってどれくらいですか
461デフォルトの名無しさん:2012/07/29(日) 15:10:28.74
>>459
されません
462デフォルトの名無しさん:2012/07/29(日) 15:14:20.34
>>459
free()してください
463デフォルトの名無しさん:2012/07/29(日) 15:14:41.76
あ、残りの990バイトが不要ってのならrealloc()でもいい
464デフォルトの名無しさん:2012/07/29(日) 15:33:58.22
レスありがとうございます。
やっぱりfree()しない限りは開放されないんですよね。
じゃああんまり動的メモリ確保の意義ってないんじゃないのかななんて思ったりするのですが・・・

と思ったらrealloc()なんてあるんですね。
ちょっといろいろ試してみます。
465デフォルトの名無しさん:2012/07/29(日) 15:35:13.40
>>457
Cでそういう有名なライブラリってglibc以外になんかある?
JavaとかC#やってから戻ってきたら文字列処理が
改めてめんどくさいと感じた
466デフォルトの名無しさん:2012/07/29(日) 16:36:21.13
ないよ
467デフォルトの名無しさん:2012/07/29(日) 17:07:47.61
>>465
CでSTLやるのあったやん
templateないのにどうやってジェネリックやってんのか知らんけど

http://cstl.sourceforge.jp/

ようやるわ
468デフォルトの名無しさん:2012/07/29(日) 17:09:38.39
>>464
>動的メモリ確保の意義ってないんじゃないのか
いやいや、これが非常に便利なんですよ。おいおい理解が深まると重宝しますよ。楽しみにしてください。
469デフォルトの名無しさん:2012/07/29(日) 17:15:55.06
>>467
ジェネリックってなに?
470デフォルトの名無しさん:2012/07/29(日) 17:25:18.28
ゾロのことじゃね?
471デフォルトの名無しさん:2012/07/29(日) 17:26:39.41
>>469
あれC++のtemplate知らんの?
例えばint与えるとint用の比較演算子、代入演算子、コピーコンストラクタを生成
double与えると以下同文
class与えると以下同文

std::sort()とかstd:copy()使うとqsort()とかmemcpy()より速い事があるっしょ?
472デフォルトの名無しさん:2012/07/29(日) 17:30:50.25
頑張ってるけどCでやる意義が不明。なにかいいことある?

> vector
> インデックスによる要素のランダムアクセスが可能。
そんなバカなと思いつつ、ワクワクしてみて、やっぱりな。
473デフォルトの名無しさん:2012/07/29(日) 17:43:48.32
Cはそういう楽さを犠牲にしてパフォーマンスだしたいときに使うんやろ
474デフォルトの名無しさん:2012/07/29(日) 18:20:55.88
>>467
多分生成的マクロだろう。 ## で識別子同士をひっつけるとか、いろいろ。
475デフォルトの名無しさん:2012/07/29(日) 18:40:19.36
■嫌いな国ランキング 2012
http://japaneserank.enq1.shinobi.jp/comment_record/101289/


■1位 韓国 24871票
■2位 中国  614票
■3位 北朝鮮 203票

■総投票数 25982票

476デフォルトの名無しさん:2012/07/29(日) 20:15:22.13
ネトウヨ王に、俺はなる!まで読んだ。
477 ◆QZaw55cn4c :2012/07/29(日) 23:33:13.75
478デフォルトの名無しさん:2012/07/30(月) 00:01:38.20
>>464
>じゃああんまり動的メモリ確保の意義ってないんじゃないのかななんて思ったりするのですが・・・
動的メモリ確保の意義は、そのメモリが確保されている期間が、静的変数、auto変数と異なっている
ところにある。

静的変数:プログラム開始から終了まで(ユーザプログラム的には最初から最後まで)
auto変数:ブロックに入ってから出るまで
動的変数:mallocされてからfreeされるまで

主にauto変数と違ってfreeするまでずっと残っている点が利点
→逆にメモリリークが怖いわけだが、、、。
479デフォルトの名無しさん:2012/07/30(月) 06:23:35.33
反原発だからコリアの人々と船出しよう山本太郎もいるよ!←意味がわからないし、何故コリアwwwwwwww
http://engawa.2ch.net/test/read.cgi/poverty/1343579821/


PEACE&GREEN BOAT 2012 開催! −いま、コリアの人々と船出しよう
今年12月、4年ぶりにPeace&Green Boatが出航します。テーマは「脱原発」。
日韓3ヶ所の原子力発電所を訪れ原発の「いま」を見つめ、
原発立地地域の人々との交流を通じて「脱原発」を進めるために必要なことを考えます。

旅をより充実したものへとナビゲートしてくれるのが水先案内人の皆さん。
PEACE&GREEN BOAT2012には多彩な水先案内人の方々が参加予定です。
原発のない社会に向けて、共に各地をめぐり語り合います。(※順不同・敬称略)
アイリーン・美緒子・スミス (グリーン・アクション代表)
鎌田慧 (ルポライター)
田中優 (環境活動家、ap bank監事)
古市憲寿 (社会学者)
松田美由紀 (女優・写真家)
宮台真司 (社会学者)
山本太郎 (俳優)

[魚拓]
http://megalodon.jp/2012-0726-2316-13/www.peaceboat.org/cruise/pg2012/index.shtml
http://niceboat.org/10/s/10ko323392.jpg
または
http://i.imgur.com/lY0nX.jpg

[どうしても直接踏んでソースを確認したい人は]
http://www.pbcruise.jp/cruiseList/peacegreen/index.html
http://www.peaceboat.org/cruise/pg2012/index.shtml
480デフォルトの名無しさん:2012/07/30(月) 08:22:35.19
ここって入門だというのに見てたら随分と初心者に優しくないのね
やっぱ専門板だとこうなっちゃうのかな
なにかトラウマみたいなことでもあったの?
481デフォルトの名無しさん:2012/07/30(月) 10:41:50.30
C言語のソースコード検索したら標準関数じゃない関数がいっぱいあるけど
あれは何なの?

482デフォルトの名無しさん:2012/07/30(月) 10:47:11.30
>>481
ヘルパ関数(下請け関数)だろ
そんなの実装によっていくらでも入ってる
C++だとprivateにされちゃって呼び出せないだろうけど

#define private public
483デフォルトの名無しさん:2012/07/30(月) 11:10:10.73
C#じゃなくてCを使う理由を挙げてください
484デフォルトの名無しさん:2012/07/30(月) 11:16:00.57
C++ならともかく、それはC#を知らないからじゃね?
485デフォルトの名無しさん:2012/07/30(月) 11:24:19.47
C#のライブラリもCで実装された処理を呼び出している
C#プログラマなんてのは表面でCのプログラムを呼び出してるだけのカスでしかない
486デフォルトの名無しさん:2012/07/30(月) 11:49:37.58
javaで採用されている機能だけでC++を使いCのライブラリを使う。
487デフォルトの名無しさん:2012/07/30(月) 11:59:49.95
Cがわからんから聞いてんだろ
488デフォルトの名無しさん:2012/07/30(月) 12:01:44.48
Cのライブラリもアセンブラで実装された処理を呼び出している
Cプログラマなんてのは表面でアセンブラのプログラムを呼び出してるだけのカスでしかない
489デフォルトの名無しさん:2012/07/30(月) 12:05:10.85
アセンブラのライブラリも機械語で実装された処理を呼び出している
機械語プログラマなんてのは表面で電子回路のプログラムを呼び出してるだけの半田ごてでしかない
490デフォルトの名無しさん:2012/07/30(月) 12:17:05.22
一生やってろ
491デフォルトの名無しさん:2012/07/30(月) 12:31:16.96
>>480
・それ入門レベルか?
・そんなもん、その人次第だろ…
・C言語の質問じゃねーし…
・まず日本語初心者や人間初心者を卒業してくれ
・流石にパソコン初心者やネット初心者はな…
・2chやプログラム板は初めてか?力抜けよ

ってな質問には相応の返答しかつかんが、その辺は加味してログ読んでる?
まあ、実際荒れてることもあるけど(夏休みだし余計にな)それはそれだからな
492デフォルトの名無しさん:2012/07/30(月) 12:39:46.09
>>483
C#・・・Windows専用に特殊にカスタマイズされたJavaのような言語
Windows専用だけあって(Monoのようなプロジェクトもあるがそれは別)
Windowsと非常に相性が良く、文法面では既にJavaをしのぎ、大抵の
GUIアプリケーションを多分現存する言語の中では最速で組み上げる
JITコンパイラ内蔵なので動作が意外に軽い

Java・・・マルチプラットフォームを売りにしているが、Windows上で動かす
には分が悪い
JITコンパイラを後付けしたせいかクライアントJREではホットスポットJITが
仇になって動きが重い
C#よりはるかにもっさり感じる
サーバーJREは起動が遅いが速度は速い
今や文法面でC#を追い掛ける奇妙な立場

C・・・最小限の機能しか揃ってないのでプログラミングは大変だが、高速な
ネイティブを吐き、しかもコンパクトなので組み込みに最適

という事で使用目的が違います
もちろん大規模GUIプログラムもCで書かれています
プログラマは地獄を見ますが
493デフォルトの名無しさん:2012/07/30(月) 12:57:21.42
なんだ大規模GUIプログラムて。
今時そんなのあんのか?
494デフォルトの名無しさん:2012/07/30(月) 13:01:55.32
>>492
ざっくりわかりました,ありがとう.
ちなみにCの組み込みに最適と言うのは
アセンブリ動的にロードする(プラグ印を組み込ます)ような事にあたるのでしょうかね
495デフォルトの名無しさん:2012/07/30(月) 13:10:39.02
違います。
496デフォルトの名無しさん:2012/07/30(月) 13:15:43.19
今ネイティブでGUIならQtだろ
でもC++だからな
497デフォルトの名無しさん:2012/07/30(月) 13:40:12.24
>>482
違う

winmain関数とか
見たことなかった。
498デフォルトの名無しさん:2012/07/30(月) 13:44:19.01
_tWinMain()
499デフォルトの名無しさん:2012/07/30(月) 13:52:29.93
>>497
メッセージループでぐぐれカス
500デフォルトの名無しさん:2012/07/30(月) 13:55:09.31
>>499
winMainは何言語なんですか?
501デフォルトの名無しさん:2012/07/30(月) 14:13:13.72
WinMain()でググレカス
502デフォルトの名無しさん:2012/07/30(月) 14:16:09.98
MSのコンパイラなら CRT0.C 見れば
503デフォルトの名無しさん:2012/07/30(月) 14:21:00.74
すいません、VBをちょっとしかかじったことないんですが
C言語のA<<3とかの<<って
どういう意味なんですか?
504デフォルトの名無しさん:2012/07/30(月) 14:22:52.49
その程度、入門書読んでから質問しろ
505デフォルトの名無しさん:2012/07/30(月) 14:29:43.34
本持ってないんですよー
ググっても<<は無視されて検索されるし
ほんとおねがいします
506デフォルトの名無しさん:2012/07/30(月) 14:40:32.12
C言語 入門
Goooogle
507デフォルトの名無しさん:2012/07/30(月) 14:49:19.39
そんなつれないこと言わずに
じゃあ芸能界で例えてください
508デフォルトの名無しさん:2012/07/30(月) 15:01:10.41
シフト演算子
これで検索できるだろ。
509デフォルトの名無しさん:2012/07/30(月) 15:08:34.53
>>503
Aを8倍する
510デフォルトの名無しさん:2012/07/30(月) 15:16:14.01
511デフォルトの名無しさん:2012/07/30(月) 15:42:29.43
>>508
理解できますた!
C言語簡単っすね^^
512デフォルトの名無しさん:2012/07/30(月) 16:03:47.81
簡単でしょ
馬鹿にでも理解出来る言語、それがC言語
513デフォルトの名無しさん:2012/07/30(月) 16:08:28.35
Cは3日で把握出来る
向いてないド素人でも一月
それ以上かかるなら他の道を探すといい
514デフォルトの名無しさん:2012/07/30(月) 16:11:13.45
ポインタ関連を3日で習得できるなんて凄いわ。
ポインタ関連以外を3日で把握なら分かるけど。
515デフォルトの名無しさん:2012/07/30(月) 16:15:22.62
C言語は言語仕様がコンパクトで、演算子が多くて予約語が少ないため
文法を習得するのは確かに簡単

でもポインタに踏み込んだらなまじ他の言語よりも暗い迷路に迷い込むよな
516デフォルトの名無しさん:2012/07/30(月) 16:19:48.22
こわがりすぎー
517デフォルトの名無しさん:2012/07/30(月) 16:31:16.73
標準ライブラリが小さいから習得は早いね
518デフォルトの名無しさん:2012/07/30(月) 17:29:35.90
アセンブリの代わりだもん、
ポインタ関連が一番重要だ
8bitCPUでもいじくって
そのあとにCやれ
519デフォルトの名無しさん:2012/07/30(月) 17:35:19.93
個人で組み込み勉強したい場合ってどうしてますか?
製品基盤や専用のコンパイラなんて売ってるんでしょうか?
520デフォルトの名無しさん:2012/07/30(月) 17:37:43.83
もちろん売ってる。
521デフォルトの名無しさん:2012/07/30(月) 17:42:22.63
シャープのMZ-80Kでも買ってシコシコ叩けと言うのかw
それてもZ80を秋月電子で買ってハンダでジュウジュウと弄れと言うのか
522デフォルトの名無しさん:2012/07/30(月) 17:45:43.36
ロートルは来なくていいから
523デフォルトの名無しさん:2012/07/30(月) 18:10:08.04
いやはや全くその通りで、
まずはZ80のキットを購入してはんだごてを手に持ちながら
ハンドアセンブルくらいはした方がいい

そのほうがCPUとは何かを手に取るように実感できる
524デフォルトの名無しさん:2012/07/30(月) 18:18:09.01
ジジイはもう(゚听)イラネ
525デフォルトの名無しさん:2012/07/30(月) 18:21:36.99
0番地から始まる配列の添え字と何が違うって言いたいんだ?
526デフォルトの名無しさん:2012/07/30(月) 18:30:01.11
いまどきZ80なんてやったって意味ねえよ
527デフォルトの名無しさん:2012/07/30(月) 18:56:30.54
PIC.、制御関連やるなら知って損はないじゃろ。
528デフォルトの名無しさん:2012/07/30(月) 19:07:37.85
PICやったことあるけど恐ろしくつまらなかった。
ままごとにも程がある。

マイコンって何なの?何のためにあるの?
ハードウェアを学ぶ前置き学習用?
パソコンじゃだめなん?
529デフォルトの名無しさん:2012/07/30(月) 19:11:22.04
あんたの身の回りにある電源や電池のいるものはたいていマイコン入ってるけど
530デフォルトの名無しさん:2012/07/30(月) 19:12:01.67
>>526
いまどきって何だよ
俺は趣味プログラマーなんだよ
世の中はこうなってるとかしらねーんだよ
531デフォルトの名無しさん:2012/07/30(月) 19:13:06.37
>>529
あ?パソコンの中身見たけど
あんなおもちゃみたいなブロック入って無かったよ?
もっと壮大なスケールの部品ばっかりだったしな!
532デフォルトの名無しさん:2012/07/30(月) 19:13:41.27
家電の組み込みとかのメーカー行きたいとか
自動車やら電車やら電気メーカー行くなら知ってて損ないんじゃないの。
秋葉原が設計と家電の聖地だった時代もあるのよ。
533デフォルトの名無しさん:2012/07/30(月) 19:18:46.94
Z80は知らなくていいだろ
時間の無駄
534デフォルトの名無しさん:2012/07/30(月) 19:20:59.23
時間の無駄って言ったら趣味のプログラムも・・・w
535デフォルトの名無しさん:2012/07/30(月) 19:26:02.37
H8やSH2などよりはZ80のほうがマシかもな。
536デフォルトの名無しさん:2012/07/30(月) 19:30:18.59
つかCPUのことか?
パソコソの蓋開けていじらねーだろどうせ
スレ違いなんだよ
電子機器スレ池
537デフォルトの名無しさん:2012/07/30(月) 19:46:20.77
組み込みやるなら情報工学科なんか進学せずに電子科電気科機械科に進んでメーカーに入れ
製品の仕様はハード屋が決めるし組み込みプログラマなんざハード屋の奴隷にすぎない
ソフト屋がどんだけ頑張ってもテレビの画質は向上しない
組み込みプログラマなんてのは表面でハードの機能を呼び出してるだけのカスでしかない
奴隷になりたくなかったらソフト屋が主導権を握れる分野に行くかソフトもできるハード屋を目指せ
538デフォルトの名無しさん:2012/07/30(月) 19:47:38.95
四年前に言って欲しかったよ
539デフォルトの名無しさん:2012/07/30(月) 19:53:21.16
米国 「日本はアジアの大国、司令官として憲法9条を破棄すべきだ!そして日本は核武装すべきだ!」
http://engawa.2ch.net/test/read.cgi/poverty/1343626083/


日米同盟強化へ 米国は9条改憲歓迎 「反対まったくない」

憲法第9条に基づき、日本は集団的自衛権を行使できないとの解釈が
日米同盟強化への大きな障害になるとする認識はいま米側で広範に強まり、
米国では、現在党派を問わず反対はなく、むしろ暗に歓迎するという姿勢が大勢となった。

92年にはヘリテージ財団が「米国は非公式に日本に改憲を促すべきだ」とする政策提言を発表した。
先代ブッシュ大統領も公式会見で、日本が改憲を求めるならば問題はないと言明した。

民主党リベラル派のトム・ラントス下院外交委員長は「日本が安全保障でも大国にふさわしい役割を
果たすために憲法を改正しようとすることを強く支持する」と述べた。

東京都の石原慎太郎知事が16日にワシントンでの討論会で憲法破棄を提唱したとき、
米側の討論者のリチャード・ローレス元国防副次官は「日本の憲法は確かに米軍占領時代の遺物であり、
日本はそれを変える権利も自由も有している」と述べ、日本の憲法改正にいまの米側には抵抗がないことを明示した。
http://sankei.jp.msn.com/politics/news/120425/plc12042507090004-n1.htm

米国FOX報道 " We Need a Nuclear Japan " 我々は核武装した日本を求めるべきだ
http://www.youtube.com/watch?v=0TjgNRfGbAE
540デフォルトの名無しさん:2012/07/30(月) 19:55:28.29
Z80はともかく、ビルドターゲットのアセンブラは知ってる方がいいね
Cで書いてると、期待どおりに生成されてるか(あるいはされてなくはないか)
逆アセンブルして確認することはよくあるから
541デフォルトの名無しさん:2012/07/30(月) 19:58:20.33
>>537
もっと言えば新製品開発とかなら理学部のほうがよくね?
理論を勉強するわけだから。

俺は工学部だから将来は高卒と仲良く工場勤務なんだろうな。
542デフォルトの名無しさん:2012/07/30(月) 19:59:34.43
Z80=パチンコ
543デフォルトの名無しさん:2012/07/30(月) 20:08:22.34
C使いはそっち系ってのがよく分かる流れだなw
544デフォルトの名無しさん:2012/07/30(月) 20:10:04.63
プログラマーの倍率って8倍くらいあるんだろ?
高嶺の花だわ

545デフォルトの名無しさん:2012/07/30(月) 20:10:22.37
90hはNOP
546デフォルトの名無しさん:2012/07/30(月) 20:10:54.88
ぼくちゃん物理系出身の土方です^^
547デフォルトの名無しさん:2012/07/30(月) 20:11:09.57
まぁ遠慮せんと好きなマイコン選べや。
http://akizukidenshi.com/catalog/c/cmicon/
548デフォルトの名無しさん:2012/07/30(月) 20:14:14.61
スーパーAKI−80
¥4,980
549デフォルトの名無しさん:2012/07/30(月) 20:16:23.97
市販のコンピュータに入っているマイコンはやっぱ電気製品屋では
買えない特注のもんなん?
550デフォルトの名無しさん:2012/07/30(月) 20:19:47.14
Z80やるくらいならARMやれ
モバイルのアプリくらいなら組ませてもらえるかもね
551デフォルトの名無しさん:2012/07/30(月) 20:24:25.91
ポインタとアセンブリの基礎を覚えるには
Z80でもいんじゃないの。
552デフォルトの名無しさん:2012/07/30(月) 20:28:06.49
基礎を終えたら買いなおして覚えなおせって?馬鹿じゃねえの
553デフォルトの名無しさん:2012/07/30(月) 20:28:47.38
Z80は現代使われている機械語とコードが違いすぎる
CASLが実用で役立つとか言ってるレヴェル
554デフォルトの名無しさん:2012/07/30(月) 20:30:46.10
結局のところどれがいいんですか?
555デフォルトの名無しさん:2012/07/30(月) 20:31:41.53
Cで遊ぶ分にはどれでもいんじゃないの
556デフォルトの名無しさん:2012/07/30(月) 20:33:49.31
>>547 の中じゃARMだな
557デフォルトの名無しさん:2012/07/30(月) 20:38:59.05
MASMでいいだろ。すぐ使えるし
ttp://www7.plala.or.jp/keny01/asm/win32/
558デフォルトの名無しさん:2012/07/30(月) 20:39:18.00
ARMってDSとかに使われてるんだな
559デフォルトの名無しさん:2012/07/30(月) 20:47:23.64
クズw
560デフォルトの名無しさん:2012/07/30(月) 20:48:19.95
国産薦めたいところだが、ルネサス筆頭に今まで定番だったCPUが全部廃版になってるので使えないんだよな
新CPUもガッカリだし
561デフォルトの名無しさん:2012/07/30(月) 20:49:17.56
半田このやろう!
562デフォルトの名無しさん:2012/07/30(月) 21:01:58.67
ルネサスも親会社も経営やばいし
マジどうなるかわからん
563デフォルトの名無しさん:2012/07/30(月) 21:05:33.52
お勧めCPUはV30だ
564デフォルトの名無しさん:2012/07/30(月) 21:08:51.79
そもそも組み込みってなによ?
565デフォルトの名無しさん:2012/07/30(月) 21:13:09.14
お前の目の前にある箱でも使ってみたらどうだ。
566デフォルトの名無しさん:2012/07/30(月) 21:29:46.66
目の前にある箱は組み込みではないが。
567デフォルトの名無しさん:2012/07/30(月) 21:32:07.10
グ グ レ カ ス。
568デフォルトの名無しさん:2012/07/30(月) 21:45:21.21
組み込みってようはアレだよな
569はちみつ餃子 ◆8X2XSCHEME :2012/07/30(月) 21:51:10.34
アレアレ詐欺かよ。
アレって何だよ。
570デフォルトの名無しさん:2012/07/30(月) 21:57:29.39
ARMだろうがSHだろうが、C言語の部分は同じ
ハード屋が新製品にRX採用したけど、本当に供給大丈夫なのかね
571デフォルトの名無しさん:2012/07/30(月) 22:05:12.82
やっぱりコレはアレですね
572デフォルトの名無しさん:2012/07/30(月) 22:12:42.38
>>537
> ソフト屋がどんだけ頑張ってもテレビの画質は向上しない

そこでおまえの人生なんか語られてもねえ・・・
自らは何もしなかったことがそんなに誇らしいのか? 国賊め
573デフォルトの名無しさん:2012/07/30(月) 22:26:17.64
いやLSIの性能で決まるから
574デフォルトの名無しさん:2012/07/30(月) 22:26:32.49
インテル入ってる!
く・・組み込まれた。
575デフォルトの名無しさん:2012/07/30(月) 22:29:51.93
反原発でうるさいから日本の家電業界はもう終わりだよ。
ウォン安すぎて海外じゃサムスン無双、人件費の安さで中華企業がががが。

日本の技術者も中国語、インド語が必要な時代になるよ。
576デフォルトの名無しさん:2012/07/30(月) 22:32:04.75
テレビの画質はソフトで決まる
特にワンセグは補間の仕方でずいぶん変わる
577デフォルトの名無しさん:2012/07/30(月) 23:00:15.71
その補間だって、本来はハードでやる部分なんじゃないの?
ハードでも出来るところはハードにやらせた方がいい
結果全部ASICやらFPGAに置き換えられるならそれが一番
578デフォルトの名無しさん:2012/07/30(月) 23:00:55.37
>>573
最新型のコクピットに座りながら
よだれこいて寝てた詐欺野郎がおまえの真の姿だ

おまえ存在そのものが製造業全員の敵なんだよ
579デフォルトの名無しさん:2012/07/30(月) 23:01:13.97
ワンセグのソフトによる画質の違いなんか誰もわかんねーレベルだろ
580デフォルトの名無しさん:2012/07/30(月) 23:05:36.40
ハードのプログラムもソフト屋が作らなきゃいかんだろ
581デフォルトの名無しさん:2012/07/30(月) 23:09:41.50
VHDLとかVerilogとかか?普通は情報科のやつはやらね
582デフォルトの名無しさん:2012/07/30(月) 23:14:19.61
がっこうで ならってないので できません

言えたらいいな。
583デフォルトの名無しさん:2012/07/30(月) 23:17:46.87
普通が目も当てられなくて仕方なく修士シフトは昔っから始まってる
「自立した研究者とはなんぞ」やと教える博士課程の質に一縷の望みを預けているのが業界

工学部に在籍しながら耳を疑う発言を繰り返すC大T田教授が博士課程の規範という現実から目を背けたい
584デフォルトの名無しさん:2012/07/31(火) 00:02:44.17
N大U田教授「どんと来い!」
585デフォルトの名無しさん:2012/07/31(火) 00:11:51.03
ルネサス、富士通までがARMのIPライセンスを取得してるしな

ぶっちゃけ外注に出しやすいんでしょ

x86よりもマルチタスク向けの命令が強化されてるし
586デフォルトの名無しさん:2012/07/31(火) 00:32:42.85
ldm/stmはいいね
587デフォルトの名無しさん:2012/07/31(火) 01:10:37.99
なんだ. Cイラネ
588デフォルトの名無しさん:2012/07/31(火) 01:49:12.66
7月29日に行われた「脱原発」の抗議行動前に
日比谷公園で行われていた反日左翼たちの集会の様子
その後、この労組を中心とした反原発デモ行進が始まった。wwwww
http://blog-imgs-44.fc2.com/d/e/l/deliciousicecoffee/DSCN1478.jpg
http://blog-imgs-44.fc2.com/d/e/l/deliciousicecoffee/DSCN1479.jpg
http://blog-imgs-44.fc2.com/d/e/l/deliciousicecoffee/DSCN1494.jpg
これで、「多様な人たちが自由に何の制約もなく参加している」とか
「組織型の運動との違いを感じ…」などと良くも言えるものだ!


7月29日 国会包囲 反原発デモに参加された一般人???の方々wwwww

日大全共闘
http://blog-imgs-44.fc2.com/d/e/l/deliciousicecoffee/DSCN1540.jpg
芝工大全学闘&明大全共闘
http://blog-imgs-44.fc2.com/d/e/l/deliciousicecoffee/DSCN1542.jpg
アジア共闘●&三里塚闘争勝手連&日米軍事同盟反対 アジア米軍総撤収
http://blog-imgs-44.fc2.com/d/e/l/deliciousicecoffee/DSCN1547.jpg
9条の会
http://blog-imgs-44.fc2.com/d/e/l/deliciousicecoffee/DSCN1582.jpg
郵政労働者ユニオン
http://blog-imgs-44.fc2.com/d/e/l/deliciousicecoffee/DSCN1588.jpg
芸大教組
http://blog-imgs-44.fc2.com/d/e/l/deliciousicecoffee/DSCN1600.jpg
緑の党
http://blog-imgs-44.fc2.com/d/e/l/deliciousicecoffee/DSCN1603.jpg
ピースボート (社民党&北朝鮮)
http://i.imgur.com/lY0nX.jpg
http://mamorenihon.files.wordpress.com/2011/05/peaceboat.jpg

今話題の滋賀県教組
http://takemikazuchi.iza.ne.jp/images/user/20120723/1875097.jpg
589 ◆QZaw55cn4c :2012/07/31(火) 02:35:58.89
>>575
>インド語
なにそれ?
590デフォルトの名無しさん:2012/07/31(火) 02:36:38.02
>>581
やる
591デフォルトの名無しさん:2012/07/31(火) 05:09:46.95
>>584
なぜベストを尽くさないのか?
592デフォルトの名無しさん:2012/07/31(火) 05:24:26.88
電器屋はベストを尽くして就職
ベスト電器
593デフォルトの名無しさん:2012/07/31(火) 07:06:02.85
好評につき買収だろ
594デフォルトの名無しさん:2012/07/31(火) 07:21:30.23
日本技術科学大学の上田次郎教授
595デフォルトの名無しさん:2012/07/31(火) 07:59:52.59
技術科学大学てのは本当にあるからな、
2つも

科学技術大学
だよ
今度からは間違えんなよ

ついでに科学技術大学もやっぱり大量にあるからな、
間違えんなよ

ともすれば実物の大学をさしちまうぞ
596デフォルトの名無しさん:2012/07/31(火) 11:41:26.22
>>581
今はCでもハード記述出来るらしいが
ファームのC→アセンブラ(マシン語)みたいにC→HDLを生成する
597デフォルトの名無しさん:2012/07/31(火) 12:39:31.83
間違ったところで何の害もない
598デフォルトの名無しさん:2012/07/31(火) 21:36:25.39
>>596
高位合成で使われるのはCのサブセットだよ
オリジナルのCから、ハードウェアへの変換が
困難な仕様を削除されたものが多い
599デフォルトの名無しさん:2012/07/31(火) 22:22:11.19
このスレ質問に答えてくれる率が極端に減ったな
誰も質問しなくなったwww
600デフォルトの名無しさん:2012/07/31(火) 22:29:08.24
俺がちょくちょく答えてるだろ
見逃してる質問があったら教えてくれ
601デフォルトの名無しさん:2012/07/31(火) 22:36:11.40
602デフォルトの名無しさん:2012/07/31(火) 22:37:30.55
>>596
RTLな
language じゃなく level が変わらなきゃ意味ない
603デフォルトの名無しさん:2012/07/31(火) 23:04:22.77
ある文字が値として入っているメモリを検出するプログラムってどうやりますか?

例えば前のプログラムでchar str="Orange";
みたいなプログラムを作って、実行終わって

どこかのメモリにOrangeという値が入ってますよね。
その番地を探すプログラムを教えて下さい。
604デフォルトの名無しさん:2012/07/31(火) 23:14:45.03
> どこかのメモリにOrangeという値が入ってますよね。

ダウトくせーな
OSがサッサと掃除してんじゃね?
605デフォルトの名無しさん:2012/07/31(火) 23:24:01.17
>>603
char str="Orange";

char *str="Orange";
の間違いだとして、
printf("%p\n", str);
でアドレスが分かる。

但しデバッグコードが入ったせいで、アドレスが変わるかもしれん。

後は、コンパイルオプションでマップファイルを出力させたり、nmみたいな
コマンドを使うとかかな。
606デフォルトの名無しさん:2012/07/31(火) 23:31:43.42
仮引数だったら・・
607デフォルトの名無しさん:2012/07/31(火) 23:32:24.49
>>603 パスワードロガーでも作る気ですか? いけませんねぇ。
608デフォルトの名無しさん:2012/07/31(火) 23:44:21.51
/dev/mem でダメなら諦める
609デフォルトの名無しさん:2012/08/01(水) 00:25:08.36
「前のプログラムが使っていたメモリ内容」が読めるなんてのは
セキュリティホールだっつーの。
610デフォルトの名無しさん:2012/08/01(水) 00:55:26.25
>>603
よっ!変態くん!
611デフォルトの名無しさん:2012/08/02(木) 12:26:32.72
>>603
今どきではそうとう運が良くないと見れない。

プログラム起動時にメモリ配置が毎回ランダムになるよう
設定されているのがほとんどなので、スタックやヒープを
覗ける可能性がぐんと低くなった。
あとmalloc系は仕様はともかく実装上ゼロクリア扱いしてるはず。
612デフォルトの名無しさん:2012/08/02(木) 12:34:07.51
0じゃねーし
613デフォルトの名無しさん:2012/08/02(木) 12:37:45.20
んじゃナニよ
614デフォルトの名無しさん:2012/08/02(木) 12:50:37.68
フフフノフフフならVCでよく見る
615デフォルトの名無しさん:2012/08/02(木) 13:29:50.45
それはデバッグビルドだろ。
616デフォルトの名無しさん:2012/08/02(木) 14:46:54.14
うん
617デフォルトの名無しさん:2012/08/02(木) 16:01:49.79
BSD UNIXは互換性のため、スタックをゼロ初期化してたはず
618デフォルトの名無しさん:2012/08/02(木) 17:15:39.15
スライダーとプログレンスバーの動きを連動するプログラムの書き方をおしえてください
619デフォルトの名無しさん:2012/08/02(木) 17:19:51.77
プログレンスバー
620デフォルトの名無しさん:2012/08/02(木) 18:19:40.52
プログレスバーだったはずかし
621デフォルトの名無しさん:2012/08/02(木) 19:09:57.36
で、そのスライダーだとかプログレスバーだとかは一体全体どこの代物で?
622デフォルトの名無しさん:2012/08/02(木) 19:26:34.12
フフフ
623デフォルトの名無しさん:2012/08/02(木) 21:01:41.41
ミマ礫ァ
624デフォルトの名無しさん:2012/08/02(木) 21:12:29.96
ふむふむ
625デフォルトの名無しさん:2012/08/02(木) 21:24:38.20
printf("%f\n", 10 || 0);
って10のはずですが何故か0になります。何故でしょうか?
積ではなく和のはずです。

a=3.0として
printf("%f\n",++a);が4になります。何故でしょう?
++aはaをインクリメントするから++a自体は3でaが4だと思うのですが。
626デフォルトの名無しさん:2012/08/02(木) 21:25:12.29
printf("%f\n", 10 || 0);
って10のはずですが何故か0になります。何故でしょうか?
積ではなく和のはずです。

a=3.0として
printf("%f\n",++a);が4になります。何故でしょう?
++aはaをインクリメントするから++a自体は3でaが4だと思うのですが。
627デフォルトの名無しさん:2012/08/02(木) 21:27:00.85
int a=3;


printf("%d %d \n",++a,a);

結果 4 3


何故だ.......
++aしたのに何故aが3?
628627:2012/08/02(木) 21:28:28.35
わけてかくと

int a=3;

a++;
printf("%d \n",a);

このときは結果4になる....
震えがとまらない。怖すぎる。何故だ。
629627:2012/08/02(木) 21:29:53.49
int a=3;



printf("%d %d \n",a++,a);


3 3

えええwwwwwwwwww
まじで分からないので解説を。
630デフォルトの名無しさん:2012/08/02(木) 21:30:18.30
目星は付いてるけど規格票確認するのが面倒
誰かに任せた
631デフォルトの名無しさん:2012/08/02(木) 21:32:36.36
だれだよこんなアホ連れてきたのは
fuck(a,++a,++a)
632デフォルトの名無しさん:2012/08/02(木) 21:34:03.70
関数引数の評価順は環境依存
foo(a++@,a++A,a++B);

@→A→B とか B→A→@ とか順番は定まっていない

のでそんなことスンナ
633627:2012/08/02(木) 21:35:00.31
>>630
a++と++aの違いはどうでもいいです。

一番怖いのが


int a=3;


printf("%d %d \n",++a,a);

結果 4 3

分けて書くと

結果 aは4になってる

意味が分からない。
634627:2012/08/02(木) 21:36:05.44
>>632
なるほど

ってことは
a=3
++a;

printf("%d\n",a);

でも環境によっては3ってこともあるのでしょうか?
635デフォルトの名無しさん:2012/08/02(木) 21:37:43.57
>>633
今晩は馬鹿、エアコンのスイッチいれた?
636デフォルトの名無しさん:2012/08/02(木) 21:38:00.11
ぷぅ〜
637627:2012/08/02(木) 21:38:56.52
>>635
エアコンのスイッチって何でしょうか。
638デフォルトの名無しさん:2012/08/02(木) 21:39:16.10
>>634
それは無い
a=3 の次に ++a が行われて printf の引数に a を渡す
639 ◆QZaw55cn4c :2012/08/02(木) 21:40:07.10
>>625
>printf("%f\n", 10 || 0);
>って10のはずですが何故か0になります。何故でしょうか?

http://codepad.org/mDg8Dx8P
参考:http://codepad.org/vj989ZaR

10 にも 0 にもならないようだ。処理系はなんですか?

1) || は論理和、int で 1 を返す。
2) printf() は、第一引数と第二引数以下が完全にマッチしないと想定した結果を返さない。
ただし例外として float -> double の格上げ、あるいは int への格上げがある。
ちょっと複雑だが、こう考えるとよい。コンパイラは printf() を翻訳するとき、第一引数 "%f\n" のことなどさっぱり忘れて第二引数以下を翻訳する。
第一引数が %f だろうが %d だろうが無頓着、無視、無関心に、第二引数 10 || 0 を単独で存在するかのように翻訳する。
640627:2012/08/02(木) 21:40:12.02
>>638
ありがとうございました。

ところでprintf("%f",10 || 0);が0になるのは何故でしょうか?
641デフォルトの名無しさん:2012/08/02(木) 21:40:18.78
ぽぽぽぽーーーーーーーーーーーーーーーーん
ぽっぽぽぽぽぽ
ぽぽぽっぽ
ぽんぽぽぽぽぽ
ぽんぽぽぽ
ぽぽっぽぽぽっぽ
ぽんぽぽぽ
ぽぽんぽぽぽんぽぽぽぽぽぽ
642627:2012/08/02(木) 21:46:35.79
>>629
処理系はWindowsXPです。





printf("%f\n", 10%3-1.0 <4.0 ? 1 : 0);
の値も0になります。何故でしょうか?

10%3は1ですから 1-1.0<4.0で正しい。
正しいときは?の左側を表示する関数なので
1と表示されるはずなのに0です。
何故ですか?

643 ◆QZaw55cn4c :2012/08/02(木) 21:49:44.82
>>642
http://codepad.org/Xkkd3zds
0 になる可能性が想像できない。コンパイラのメーカーや種類を教えてください。
644デフォルトの名無しさん:2012/08/02(木) 21:51:16.45
%f で浮動小数点数として表示させようとしてるのに、整数値を渡してるから
%d にしろ
645デフォルトの名無しさん:2012/08/02(木) 21:51:48.21
夏休みだね
646デフォルトの名無しさん:2012/08/02(木) 21:52:58.02
>>637
頭熱暴走してないか?
647627:2012/08/02(木) 21:54:33.31
>>643
0ではなく0.00000ですね。
コンパイラはvisual studioです。
PCのメーカーは東芝で機種はdynabookです。
648デフォルトの名無しさん:2012/08/02(木) 21:55:57.01
VC++でビルド開始、ビルド失敗

前回成功時のファイルを実行
649デフォルトの名無しさん:2012/08/02(木) 21:56:27.74
エスパーが必要だな
650 ◆QZaw55cn4c :2012/08/02(木) 21:58:23.01
>>627, >>629
難しい話になりますが、「シーケンスポイント/副作用完了点」というキーワードが該当します。
http://www.kouno.jp/home/c_faq/c3.html#8

これを納得するには数々の経験が必要となりますので、当面の間は、関数の引数に ++ とか -- とかは使わない方針をとるのがいいでしょう。
f(a, b, c) なら c, b, a の順に処理されるコンパイラが圧倒的に多いしそうなる理由もある、これを仮定するのは非常にまずいとはいえ。
651デフォルトの名無しさん:2012/08/02(木) 22:02:48.05
printf("%f", 1);
>0.000000
652デフォルトの名無しさん:2012/08/02(木) 22:22:10.94
653はちみつ餃子 ◆8X2XSCHEME :2012/08/02(木) 22:25:05.75
整数の1は (リトルエンディアンで) 以下のような並びになる。
00000001 00000000 00000000 00000000
これを浮動小数点と解釈して符号部、指数部、仮数部に区切りなおすと
0 00000010 00000000000000000000000
となる。
これは約 2.35e-38 というめっちゃ小さい値なので、 %f の書式で表すと 0.000000 となってまう、
ということなんじゃないかと思う。
654デフォルトの名無しさん:2012/08/02(木) 22:28:58.65
>>653
%fはdoubleだヴォケ
655デフォルトの名無しさん:2012/08/02(木) 22:38:28.18
printf("%f\n", 1);
printf("%f\n", 1.0F);
printf("%f\n", 1.0);
printf("%f\n", (int)1.0);

0.000000
1.000000
1.000000
1.000000
656デフォルトの名無しさん:2012/08/02(木) 22:39:54.68
意外と知られてないのが

j = 1, k = 3で

i = ++j, k;

とした時の i の値
実行せずに何になるか当ててみよう
657デフォルトの名無しさん:2012/08/02(木) 22:41:06.97
3
658デフォルトの名無しさん:2012/08/02(木) 22:42:27.89
2
659デフォルトの名無しさん:2012/08/02(木) 22:43:05.05
括弧でくくれバカ
660デフォルトの名無しさん:2012/08/02(木) 22:44:31.88
(i = ++j), (k);
661デフォルトの名無しさん:2012/08/02(木) 22:45:39.31
それ以前にこんな書き方をする意味がない。
662デフォルトの名無しさん:2012/08/02(木) 22:48:08.90
知ってる奴が知らない奴を見つけてニヤニヤする意味がある
663デフォルトの名無しさん:2012/08/02(木) 23:03:24.39
>>655
ttp://ideone.com/hxdVB
4番目でちょっと悩んじゃった
可変長引数は書式関係なくint(ex:4バイト)、double(ex:8バイト)、*(ex:4バイト)
でスタックに積むからゴミが残ってたんだよね
664デフォルトの名無しさん:2012/08/02(木) 23:09:00.69
ほんと仕様が煮詰められてない糞言語だな
665デフォルトの名無しさん:2012/08/02(木) 23:24:42.30
仕様が厳格に決まってないからこそ他言語との親和性が維持できることもあるんだよ。
666デフォルトの名無しさん:2012/08/02(木) 23:27:46.58
ないない
667デフォルトの名無しさん:2012/08/02(木) 23:36:19.28
>>656 を厳格に 2 と答えられないどあほとの親和性は維持できなくていい
ちなみに問題文に誤りがあってセミコロンが足りないが、そういう問題じゃない
668はちみつ餃子 ◆8X2XSCHEME :2012/08/02(木) 23:43:57.23
>>654
うわ┗(^o^ )┓ああああ┗(^o^ )┓ああああ┗(^o^ )┓ぁぁぁぁ┗(^o^ )┓ああああ┗(^o^ )┓

「ANSI C言語辞典」では float もアリって書いてあったのでそれを信用したんだが…。
http://gazo.shitao.info/r/i/20120802234040_000.png

JIS 規格にはそんなこと書いてなかった!!!
http://gazo.shitao.info/r/i/20120802234141_000.png

でもまぁ原理としては同じなのでそこらへんは柔軟に読み替えてくだせぇ。
669デフォルトの名無しさん:2012/08/02(木) 23:50:18.11
高度な柔軟性を維持しつつ
臨機応変に対応
ですね

すばらしい文言です
あなたを師と仰ぎ どこまでも付いてゆきましょう
670デフォルトの名無しさん:2012/08/02(木) 23:51:29.31
含 風呂・トイレ
671デフォルトの名無しさん:2012/08/02(木) 23:55:03.45
>>668
おまえさ、そんなの貼って誰かありがたがるとでも思っているわけ?
仮にいたとして、おまえと同類だけだぞ
672はちみつ餃子 ◆8X2XSCHEME :2012/08/02(木) 23:58:37.97
>>669
銀英伝は二次創作をいくつかちょろっと読んだだけだが、
それは印象的な場面としてよく使われてるみたいだねぇ。
673デフォルトの名無しさん:2012/08/03(金) 00:01:03.25
難しい漢字がボヤけてるのは何故?
見たこと無い漢字とか明らかに輪郭がくっきりしてないんですが。
何十年も昔のPCからそうだったんですか?
674デフォルトの名無しさん:2012/08/03(金) 00:06:20.56
>>668
ずいぶんと参考になりました。私はビット表現まで追いかけてなかったがばれてしまった‥‥‥。それはそれで一層いや一生の恥ですorz

それはそうと、それ、厳密な典拠は特定できていなくてちょっと困っています。
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.
で、これはプロトタイプでは ... で表現されているために「プロトタイプに含まれない式」になってしまった場合、その引数は float->double になってしまうようです。

問題は
If the function is defined with a type that includes a prototype, and
either the prototype ends with an ellipsis (, ...) or (略), the behavior is undefined.
がなんのことやらさっぱり。
675デフォルトの名無しさん:2012/08/03(金) 00:06:29.14
調子に乗って符号なし整数をなくしたJavaなんて言語もあったな
676デフォルトの名無しさん:2012/08/03(金) 00:09:09.64
アンチ
677デフォルトの名無しさん:2012/08/03(金) 00:10:45.73
インチ
678デフォルトの名無しさん:2012/08/03(金) 00:25:33.78
ウソッキー
679デフォルトの名無しさん:2012/08/03(金) 00:33:35.00
printfで2進数表示お願いします。
680デフォルトの名無しさん:2012/08/03(金) 00:44:42.57
681はちみつ餃子 ◆8X2XSCHEME :2012/08/03(金) 00:59:57.45
>>674
前者は省略記号 (...) とは関係ないんじゃないかな。
「プロトタイプを含まない型を持つ関数」というのは例えば
hoge();
というようなプロトタイプ宣言されている関数ということで、
これに対して
hoge(14, 1.24f);
というような呼び出しをした場合にはこの 1.24f は double に拡張されるということ。

後者については前者のようなプロトタイプ宣言があった上で
hoge(int a, double b) { /* 省略 */ }
というような定義であれば大丈夫なんだけど、
hoge(int a, ...) { /* 省略 */ }
という定義だとか
hoge(int a, float b) { /* 省略 */ }
とかだったら未定義になるということを言いたいんだと思う。

つまり前段はプロトタイプ宣言のことで後者は定義ってことで。
682デフォルトの名無しさん:2012/08/03(金) 01:11:33.96
>>680 感謝!
683はちみつ餃子 ◆8X2XSCHEME :2012/08/03(金) 01:16:42.64
>>674
つまりはその項目は今回の printf の件とは無関係。
float は float として渡されるのであり、
受取った方がその型を知る方法は書式指定によると理解していいと思う。
684デフォルトの名無しさん:2012/08/03(金) 01:33:00.41
floatはdoubleとして渡るんじゃないかな〜
685 ◆QZaw55cn4c :2012/08/03(金) 06:03:44.98
>>681
規格の後段について、よく理解できました。ありがとうございます。
規格の前段の記述が hoge() のみの事情なのか printf() にも適用されるのかは、意見が相違するようですね。

>>683
ふむ。
しかしいまとなっては参考にするには古いK&R2=C89・付録A7.3.2 には次のとおりで(以下<>内はQZ)

省略形<=", ...">の場合、引数<実引数>の数はパラメータ<=関数定義やプロタイプ宣言での引数型宣言>の数と等しいかあるいはそれより多くなっている必要がある。
型が明示されているパラメータの後に続く引数は、前のパラグラフ<=K&R1の関数定義について>で述べた省略時の引数格上げの受ける。

とありC89 の場合であれば printf() のような可変長引数の、可変長部分、すなわちプロトタイプのない実引数は格上げを受ける、と読み取れます。
なお、K&R1 ではどんな float も double に変換されてしまうという(int main(); int c; char **v; だったし)事情が、
K&R2=C89 では可変長部分やプロトタイプの部分に限定されるようになったとは理解しています。

ともあれ、これに対応する C99 の記述はどこなのか、それとも C99 は自動格上げを行う範囲をさらにさらに限定したのかいまいち判然としないところです。

>受取った方がその型を知る方法は書式指定によると理解していいと思う。
これはK&R1の呪縛に囚われた身には辛い。>>639 と解釈してきた以上、printf() 第一引数の書式指定が printf() の第二引数以降の型を規定するとは考えにくいのです。
686685:2012/08/03(金) 06:53:41.04
訂正しておきます。
×K&R2=C89 では可変長部分やプロトタイプの部分に限定される
○K&R2=C89 では可変長部分やプロトタイプの明示されない部分に限定される
687デフォルトの名無しさん:2012/08/03(金) 07:17:19.71
gccなんかじゃ%fにintなら警告出してくれるけどな。
688デフォルトの名無しさん:2012/08/03(金) 07:26:00.77
printfが%fでscanfが%lfの理由
689デフォルトの名無しさん:2012/08/03(金) 08:28:15.32
何故このスレではscanfが人気なのか。
690デフォルトの名無しさん:2012/08/03(金) 08:31:35.42
入門だからでしょ
691デフォルトの名無しさん:2012/08/03(金) 08:36:36.28
scanfぐらい使いこなせるようになった方がいい
692デフォルトの名無しさん:2012/08/03(金) 08:38:08.30
↑アホ
693デフォルトの名無しさん:2012/08/03(金) 08:40:40.74
入門者なんだからしょうがない
入門者なんだから
入門者だと思って太めに見てやれよ
たかが入門者だぞ
入門者に目くじら立ててどうする
入門者は入門者だと割り切って接するのが一番の方法だよ
694デフォルトの名無しさん:2012/08/03(金) 08:45:27.00
入門者の入門者による入門者のためのスレ
695デフォルトの名無しさん:2012/08/03(金) 09:58:20.70
>694
入門者が返答してるの?
696デフォルトの名無しさん:2012/08/03(金) 10:02:13.47
少なくとも
scanf使いこなせ と言ってるお方は
そういう部類のレヴェルだろ
察しろよ
697デフォルトの名無しさん:2012/08/03(金) 10:05:54.26
scanfくらい使いこなせなくてどうするよ
エラー処理が不要なら簡潔に書けるし
698デフォルトの名無しさん:2012/08/03(金) 10:24:29.69
特殊なC言語入門
http://quaternion.pineappledesign.org/c
699デフォルトの名無しさん:2012/08/03(金) 12:07:05.32
scanf()はどうでもいいけど、sscanf()を一通り使えるようになっておくと捗るぞ。

それはさて、引き数リストを明示していない関数宣言のことは、プロトタイプ宣言とは呼ばないんじゃないのか?
700デフォルトの名無しさん:2012/08/03(金) 12:13:53.68
呼ぶんじゃないの?
701デフォルトの名無しさん:2012/08/03(金) 12:28:17.60
可変長引数である事を明示してるでしょ
702デフォルトの名無しさん:2012/08/03(金) 12:41:59.03
無宣言でいきなり利用
 printf("%f", 1.0F);

戻り値だけ宣言
 int printf();
....
 printf("%f", 1.0F);

引数も宣言してるけど、可変長引数でした
 int printf(const char *, ...);
....
 printf("%f", 1.0F);
703はちみつ餃子 ◆8X2XSCHEME :2012/08/03(金) 12:47:10.35
>>699
それもそうだな。 たぶん呼ばない。

>>701
いや、引数リストが無いのは可変長引数であることを意味しない。
704デフォルトの名無しさん:2012/08/03(金) 12:50:30.35
プロトタイプなしとか、引数なしプロトタイプとか
いい加減C++っぽく統一してほしい
705デフォルトの名無しさん:2012/08/03(金) 12:53:57.56
706デフォルトの名無しさん:2012/08/03(金) 12:54:16.15
>>703
ん、「明示してない」ってのは「無い」っていう意味で言ってたの?
707はちみつ餃子 ◆8X2XSCHEME :2012/08/03(金) 12:58:08.12
>>685
俺が根拠にしてるのは JIS なんだが、そこでの記述はこうなってる。

> 呼び出される関数を表す式が、関数原型を含まない型をもつ場合、
> 各実引数に対して整数拡張を行い、型 float をもつ実引数は型 double に拡張する。

日本語でもかなりわかりにく表現だな。

... で終わる宣言がプロトタイプを含まない宣言なのであるとすれば、

void hoge(float a, ...);

という宣言に対して

hoge(1.23f, 1);

と呼び出した場合でもこの 1.23f は一旦 double に拡張されるってことにならないか?
それも変な話だと思う。

更に読み進めていくと

> 関数原型宣言子における省略記号標記は、
> 最後に宣言されている仮引数の直後から実引数の型変換を止める。
> 残りの実引数に対しては、規定の実引数拡張を行う。

とあるので printf に渡した第二引数以降は型変換しないということだでいいんじゃないかな。

708デフォルトの名無しさん:2012/08/03(金) 13:55:03.44
>>702
原因はオーバーフローなのか
どうなのか仕組みから説明しないと・・・
そこが肝要だと思うのです。
709デフォルトの名無しさん:2012/08/03(金) 14:24:31.25
>と呼び出した場合でもこの 1.23f は一旦 double に拡張されるってことにならないか?
ならない。aという引数はプロトタイプを持つのだから。
プロトタイプを持たないのは...の部分。

>とあるので printf に渡した第二引数以降は型変換しないということだでいいんじゃないかな。
多分理解がおかしい。一部の変換(配列→ポインタ、関数→ポインタ、LValue→RValue)もするし、拡張もする。
例えば、
char *p="ZZZ";
printf( "%p", p );
はchar*を(LValue→RValueはするけど)void*へは変換しないで積む。
これが "実引数の型変換を止める"と言うこと(というか、変換のしようがない)。
# ちなみに、これは鼻から悪魔が出るかもしれないコード。%pはvoid*を要求するから。
で、
printf( "%f", 4.2f );
は "規定の実引数拡張"が行われてdoubleな4.2がprintfに渡る。
710はちみつ餃子 ◆8X2XSCHEME :2012/08/03(金) 14:45:28.91
>>709
> ならない。aという引数はプロトタイプを持つのだから。
> プロトタイプを持たないのは...の部分。

俺もそう思うんだが、文章の曖昧さの話。
呼び出される関数が関数原型を含まない型をもつか否かで
挙動が分かれるようにも読める。

> 呼び出される関数を表す式が、関数原型を含まない型をもつ場合、
> 各実引数に対して整数拡張を行い、
> 型 float をもつ実引数は型 double に拡張する。

本当は

> 呼び出される関数を表す式が、関数原型を含まない型をもつ場合、
> (関数原型を含まない) 各実引数に対して整数拡張を行い、
> (関数原型を含まない) 型 float をもつ実引数は型 double に拡張する。

ってことでいいんかな。
711デフォルトの名無しさん:2012/08/03(金) 14:58:07.68
まぁそういうことだろうね。
712はちみつ餃子 ◆8X2XSCHEME :2012/08/03(金) 15:11:29.41
>>709

> 多分理解がおかしい。
> 一部の変換(配列→ポインタ、関数→ポインタ、LValue→RValue)もするし、拡張もする。

言葉が足りんかった。

元々の QZ 氏の主張を要約すると
「省略子を使った場合はプロトタイプが無いわけだから float → double への変換が行われる」
というものだったけど、それに対して「省略子で書いたことによっては変換は起こらない」という
ことを言いたかったもので、一般的な変換についてまで否定したわけじゃないよ。
713デフォルトの名無しさん:2012/08/03(金) 15:43:07.15
昨日質問したんだけど

使わないような難しい漢字は何で輪郭がぼやけてるんでしょうか?
あれはどういうことですか?

C言語では最大何語の漢字をサポートしてますか?
714デフォルトの名無しさん:2012/08/03(金) 16:00:35.79
>>712
わざわざコテつけて言うようなことじゃないよ。
>>713
お前、何人?
715デフォルトの名無しさん:2012/08/03(金) 16:34:13.32
>>714
俺はひとりに決まってるだろ
716デフォルトの名無しさん:2012/08/03(金) 16:50:08.88
半人前のクセに
717デフォルトの名無しさん:2012/08/03(金) 16:58:35.10
>>713
その質問のどこがCの質問?
それぞれGUI環境や文字コードの話だと思うのだが。
718デフォルトの名無しさん:2012/08/03(金) 17:44:24.51
>>717
でもC言語のchar a;
aが67でしょ?
対応してるじゃん。
a='2000'だと何かの漢字になったりしないの?
719デフォルトの名無しさん:2012/08/03(金) 17:50:03.84
アンチって言ってるだろ
アホ
720デフォルトの名無しさん:2012/08/03(金) 17:53:08.18
ピーカーチューー!
721デフォルトの名無しさん:2012/08/03(金) 17:56:17.69
char graph;

graph='F';



するとgraph=Fつまり文字を記憶する変数であり
C言語は数値だけでなく文字も記憶できるんですよね?

だから

graph='数';

みたいには出来ないのはなぜかなと。
722デフォルトの名無しさん:2012/08/03(金) 17:57:21.45
>>721
wchar_t があるだろ
723デフォルトの名無しさん:2012/08/03(金) 17:58:47.57
だから文字コードを勉強して来いと。
724デフォルトの名無しさん:2012/08/03(金) 18:04:09.60
どこからどこまでがC言語の仕事でOSの仕事なのか分からない

725デフォルトの名無しさん:2012/08/03(金) 18:05:59.67
>>724
おまえがC言語とOSがわかっていないことは分かる
726デフォルトの名無しさん:2012/08/03(金) 18:06:17.55
#include<stdio.h>あるじゃないですか
stdio.h自体はC言語と関係ないもんなんですか?
727デフォルトの名無しさん:2012/08/03(金) 18:12:03.97
あなたのおっしゃる〈関係〉とは一体どういう意味を含むのですか?
哲学的・形而上学的な観点から、
あなたは〈関係〉という概念を、どのように把握してらっしゃいますか?
728デフォルトの名無しさん:2012/08/03(金) 18:12:14.15
うん
729デフォルトの名無しさん:2012/08/03(金) 18:17:43.74
>>725
分からないプログラムは組めるけど機械的にやってるから
OSに命令を与えるための素材を集めてGUIによって可能にした系=C言語?

730デフォルトの名無しさん:2012/08/03(金) 18:18:00.29
日本語では、どれだけの単語が扱えますか?
731デフォルトの名無しさん:2012/08/03(金) 18:22:52.67
山は死にますか?
732デフォルトの名無しさん:2012/08/03(金) 18:25:01.82
髪は死にますよ
気をつけましょうね プログラマのみなさん
733デフォルトの名無しさん:2012/08/03(金) 18:25:29.37
>>729
冗談抜きで、日本語の表現力を少しは身に着けたほうがいいぞ。
ついでに、パソコンの仕組みも。
734デフォルトの名無しさん:2012/08/03(金) 18:32:48.39
無知が背伸びするとしばしばこうなる
735デフォルトの名無しさん:2012/08/03(金) 18:36:56.00
どういう経緯でC言語をやろう(この言い方も変な感じだが)と思ったのかも気になるな
736デフォルトの名無しさん:2012/08/03(金) 18:37:22.18
APIやdllについて聞いたら殴られそうな勢いだなw
737デフォルトの名無しさん:2012/08/03(金) 18:40:06.08
>>736
C言語以外の言語からも呼び出せますしー
738デフォルトの名無しさん:2012/08/03(金) 18:43:12.26
骨の髄までしゃぶってるのがC使いだから・・
C使いにAPI関を連断られると厳しいものがあるなw
739デフォルトの名無しさん:2012/08/03(金) 18:47:10.93
日 本 語 で お k。
740デフォルトの名無しさん:2012/08/03(金) 18:51:24.15
ではC言語は何かと聞かれて答えられる学生はいるの
741デフォルトの名無しさん:2012/08/03(金) 18:59:46.52
OSに指示を出すための言語がプログラミング言語だと思うのですが
プログラミング言語はどうやって作るのですか?
今はWindowsがあるから何でも可能ですが昔の低水準マシンにおいて
はどうやって作っていたのでしょうか?


742デフォルトの名無しさん:2012/08/03(金) 19:00:17.68
哲学スレでやってください
743デフォルトの名無しさん:2012/08/03(金) 19:05:44.90
めんどくさそうな人間の相手は
誰もがやりたくない事なんだ
744デフォルトの名無しさん:2012/08/03(金) 19:07:02.78
うん
745デフォルトの名無しさん:2012/08/03(金) 19:09:12.81
古いgcc のソース追っかけたら?

メタなCを喰って実行コードを吐くコンパイラをCで書いといて
アセンブラ化
それで出来あがったコンパイラを使って
 複雑さを増したCで書かれたCコンパイラのソースをコンパイルして…
  それで出来あがったコンパイラを使って…

ってな感じだったような
746デフォルトの名無しさん:2012/08/03(金) 19:17:53.67
低水準でも言語だよ
プログラミング言語だよ
クソ機械語はプログラミング言語だよ

お前は情報科過程ひとおおり眺めてざっと理解してから質問しろ
時間の無駄だ
747デフォルトの名無しさん:2012/08/03(金) 19:22:42.31
むかしVBで挫折してて、今回C始めたらC面白いでやんの。
初めからCやっときゃよかったわ。

構造が分からずに手を出すより、構造を知りながら覚える方がおもろいな。
748デフォルトの名無しさん:2012/08/03(金) 19:34:24.44
おもろいね。
749デフォルトの名無しさん:2012/08/03(金) 19:36:29.66
そうでもない
750デフォルトの名無しさん:2012/08/03(金) 19:36:33.60
最初の頃やったPerlはわけわからんかった
今でもトラウマあってPerlには手を出してない
751デフォルトの名無しさん:2012/08/03(金) 20:09:42.58
UnixとかだとCコンパイラがなくてもC言語組めたの?
Windowsだと環境入れないとだめでしょ
752デフォルトの名無しさん:2012/08/03(金) 20:10:06.83
>>749
そうでもないね
753デフォルトの名無しさん:2012/08/03(金) 20:16:19.57
アセンブリから機械語に変換するときにはコンパイラは無い
ハンドアセンブルしてた

実際、微細に渡る変換規則があれば
C言語もハンドアセンブルできる

というよりも
コンパイラの仕事は全て人力で、ノートと鉛筆ででもできる
でも 余りにも時間を喰うから *自動プログラミング* してる
754デフォルトの名無しさん:2012/08/03(金) 20:21:42.23
昔の人は16進で命令覚えてたって言うしな
755デフォルトの名無しさん:2012/08/03(金) 20:21:51.34
UnixのCを組める環境って何がある?
Osに元から備わってたり?
756デフォルトの名無しさん:2012/08/03(金) 20:24:17.21
UNIXはCで書かれた
これがどういうことか一晩考えろ
夏だから時間あるだろ
757デフォルトの名無しさん:2012/08/03(金) 20:25:44.78
UNIXでCか。
"ken thompson" unix login
でぐぐると面白い話がかかるな。
Unixモンには当然知ってる教養レベルだが。
758デフォルトの名無しさん:2012/08/03(金) 20:26:08.14
>>756
それは、一部間違っている。
UnixはCで書き直された。という表現の方が正しいと思う。
759デフォルトの名無しさん:2012/08/03(金) 20:29:26.50
>>753
アセンブリの状態からでもアセンブルは必要なんだね
結局コンパイルと一緒かと
760デフォルトの名無しさん:2012/08/03(金) 20:41:13.53
Unixってタダでしたっけ?
761デフォルトの名無しさん:2012/08/03(金) 20:42:30.51
アセンブラ版はunicsだろ
無知供が
762デフォルトの名無しさん:2012/08/03(金) 20:42:30.64
学術だし
763デフォルトの名無しさん:2012/08/03(金) 20:47:41.05
>>760
UNIXは商標だから有料商品だよ。
Unix"系"はいろいろあるけど。
764デフォルトの名無しさん:2012/08/03(金) 21:03:48.19
>>761
教養がないので一応wikiで見てみたけど、
unicsからunixへの改名のタイミングは書いていないけど、
「the UNIX Programmer's Manualが1971年3月に出版された。」とあって、
「UNIXは1973年にC言語に移植された。」
とあるから、時系列的には
unixでもアセンブリ言語版ではあるんじゃない?
765デフォルトの名無しさん:2012/08/03(金) 21:05:57.90
Windows95の前でしたっけ?その頃もWindowsOSはありましたよね。
どんな環境でC言語プログラム作ってたんです?
インターネットもないため開発環境インスコできなかったと思いますが。
766デフォルトの名無しさん:2012/08/03(金) 21:07:36.09
どうだろうね
767デフォルトの名無しさん:2012/08/03(金) 21:10:57.27
>>766
平成生まれですか
768デフォルトの名無しさん:2012/08/03(金) 21:14:02.57
PC-98で5インチFD版のQuickCをですね
769デフォルトの名無しさん:2012/08/03(金) 21:14:15.17
>>765
DOS環境でもCコンパイラはいっぱいあったよ。
うちの専門学校では"Turbo C"だった。
あと、"Microsoft C" とか "Quick C"とかあったな。名前しか覚えていないけど。
770デフォルトの名無しさん:2012/08/03(金) 21:21:17.97
gnuが幅効かせる前のホビープログラマの無料環境は
16進直打ちでアセンブラ作ってプログラミング
アセンブラコードをバイナリデータで持ってBASICから呼ぶ

これ
771デフォルトの名無しさん:2012/08/03(金) 21:25:00.19
いま思えば、20年前の専門学校時代にC言語でオブジェクト指向的な事
(カプセル化・ちょうどアクアゾーンが流行り始めてた)や
ベジエ曲線とか結構面白いこと教えてもらってたな。

>>770
ベーマガとかで投稿していた方ですか?
772デフォルトの名無しさん:2012/08/03(金) 21:28:48.55
8086のセグメントとかFARポインタで挫折したな
intは16ビットですぐオーバーフローするし
773デフォルトの名無しさん:2012/08/03(金) 21:29:27.85
>>771
うん
774デフォルトの名無しさん:2012/08/03(金) 21:38:05.58
BASIC の DATA 文がある意味アセンブラだったな
775デフォルトの名無しさん:2012/08/03(金) 21:40:10.69
マシン語ダンプリストとチェックサム
Bと8をよく打ち間違えた
776デフォルトの名無しさん:2012/08/03(金) 21:41:20.85
無期懲役食らった星島貴徳ってプログラマーとしてはかなり優秀だったと思います?
777デフォルトの名無しさん:2012/08/03(金) 21:42:03.19
一応、ここは、C言語スレだったりします。。。
778デフォルトの名無しさん:2012/08/03(金) 21:42:29.42
私もついに、中途半端な回顧厨が若造の戯言言っているようにしか見えなくなってしまったか。
779デフォルトの名無しさん:2012/08/03(金) 21:47:43.31
>>729
まずコンピュータの仕組みを勉強しなさい。
本屋にいけばその手の本が積んである。
それからOS、プログラミング言語とかより詳しいことを勉強したら。
780デフォルトの名無しさん:2012/08/03(金) 21:59:47.75
>>779
自作OSを夏休みの自己課題として作りたいのですがやはり困難を極めるでしょうか?
本当に簡素なOSで良いんです。
781デフォルトの名無しさん:2012/08/03(金) 22:07:53.14
>>780
仕組みが分かってないものどうやってつくるの?

プラモなら半完成品があるが
782デフォルトの名無しさん:2012/08/03(金) 22:11:01.18
だったらOSの作り方とか書いてある本読めよ
783デフォルトの名無しさん:2012/08/03(金) 22:17:48.08
>>780
どっさりハードが絡んでくるから
この板の範囲を遙かに超えるぞ

半田ごては絶対やーよという向きには
VM という手もあるが、それはそれでまた侮れない
784デフォルトの名無しさん:2012/08/03(金) 22:19:01.80
OSて組み込み?
785デフォルトの名無しさん:2012/08/03(金) 22:21:03.36
OS作るだけならハードは要らない。
でも、既存ハード用のOSとなるとドライバがたんまり必要になる。
ドライバが要らないハードとなると、ワンボードマイコン辺りになるから
やはりハードの知識が必要に。
786デフォルトの名無しさん:2012/08/03(金) 22:28:20.02
>>780
それからソフトの作り方も勉強したら
なんとなくつくって動かしているじゃつかいものにならん
787デフォルトの名無しさん:2012/08/03(金) 22:37:28.62
すみません
enum {
StateNormal = 0,
StateAbnormal = 1 << 0,
StateA = 1 << 1,
StateB = 1 << 2,
StateC = 1 << 3
};
typedef int State;
みたいな列挙型があって、この型で表されるstateを調べたいとき、
排他でないA, B, Cはビット積&を取ればいいと思うのですが、
NormalかAbnormalかを調べるときはどうしたらいいのでしょうか?
788デフォルトの名無しさん:2012/08/03(金) 22:55:43.95
列挙型の使い方がまちがっとる。
789デフォルトの名無しさん:2012/08/03(金) 22:58:19.83
>>787
仕様次第。
Normalと言う状態は、
state == StateNormalなのかもしれないし、
Normal: (state & StateAbnormal) == StateNormalなのかもしれない。

Abnormalと言う状態は、
state == StateAbnormalなのかもしれないし、
(state & StateAbnormal) == StateAbnormalなのかもしれない。

そういう意味ではAについても
(state & StateA) == StateAなのかどうかは使用を確認しないとなんとも言えない。
790デフォルトの名無しさん:2012/08/03(金) 23:00:18.13
すみません。A, B, Cを無視してNormalかAbnormalかを調べること自体がおかしいという話でした。
Abnormalも含めてNormal以外がいずれも1でないとき、すなわち0のとき、かつそのときに限りNormalでした。
791デフォルトの名無しさん:2012/08/03(金) 23:02:47.28
言いたいことはよく判らんが、
state == StateNormalのときにNormalということなんだな。
使い方が巧いかどうかは知らんが、よくある使い方だな。
792デフォルトの名無しさん:2012/08/03(金) 23:05:31.18
>>789
ありがとうございます。
まさに
(state & StateAbnormal) == StateNormal
のときNormalだと思っていたのですが
state == StateNormal
のときだけがNormalだったようです。
ちなみに引っ張ってきたのは, Objective-CのUIDocumentStateからです。
793デフォルトの名無しさん:2012/08/03(金) 23:46:00.65
OSを作るだと?マルチタスクは超難しいぞ
卒論の範囲を遥かに超える
794デフォルトの名無しさん:2012/08/03(金) 23:55:02.97
別にシングルタスクでいいじゃん。
そういえば20年くらい前に友達が卒論でCP/M80をマルチタスク拡張した
OS作ってたなぁ。
795デフォルトの名無しさん:2012/08/04(土) 00:00:07.08
何も考えずに排他制御すればとりあえず出来るけどデッドロック、スタベーション、レース状態は
普通に起きるんでそれを回避するAPIを作るのが面倒くさい
796デフォルトの名無しさん:2012/08/04(土) 00:08:12.92
別にOS自体はシングルタスクでもいいじゃん。
797デフォルトの名無しさん:2012/08/04(土) 00:28:40.59
>>792
いえいえ
798デフォルトの名無しさん:2012/08/04(土) 01:23:08.33
>>741
コンパイラ自身はどうやってコンパイルしたと思ってんの?
799デフォルトの名無しさん:2012/08/04(土) 01:25:33.18
最初のコンパイラは神が与えた
800デフォルトの名無しさん:2012/08/04(土) 01:27:42.93
コンパイラなんて使わずハンドアッセンブルしたに決まってんじゃん
801デフォルトの名無しさん:2012/08/04(土) 01:32:13.55
>>780
フロッピーから起動してコマンドを入力させる仕組みを作れるもんなら作ってみろ
もちろんDOSに頼らずにゼロからだ
OSを作るってそういうことだ
お前には無理
802デフォルトの名無しさん:2012/08/04(土) 01:35:28.28
コンパイラコンパイラも知らないガキンチョか
803デフォルトの名無しさん:2012/08/04(土) 01:58:10.06
あ〜あ…
804デフォルトの名無しさん:2012/08/04(土) 02:15:44.48
ゆとりの俺からすると昔の人は変態的
805デフォルトの名無しさん:2012/08/04(土) 04:37:11.48
変態に支えられて経済発展したんだな
806デフォルトの名無しさん:2012/08/04(土) 06:11:08.26
イタヅラし放題〜♪
807デフォルトの名無しさん:2012/08/04(土) 06:54:13.25
板ずらし放題
808デフォルトの名無しさん:2012/08/04(土) 12:12:02.91
すみませんC言語は先週から始めた超初心者です
text="12345ABCDE"という文字列の中から『○番目』の文字のみ抽出する方法か関数があれば教えて下さい。
よろしくお願いします。
809デフォルトの名無しさん:2012/08/04(土) 12:21:44.96
810デフォルトの名無しさん:2012/08/04(土) 12:22:28.20
text[i]
811デフォルトの名無しさん:2012/08/04(土) 12:30:33.38
>>809-810

ありがとうございます!!!!!!!!!
こんな単純なことすら思い付かない自分が悔しいですorz
C言語なんてものに向いていないのかもと不安ですが、これからがんばってみます!!
またよろしくおねがいします!
812デフォルトの名無しさん:2012/08/04(土) 12:41:14.67
最初はみんなそんなもんだ。
習うより慣れろ。
バッドで100回素振りしたらそのうちヒットもでるさ。
それと同じ、何回コーディングしたかの違い。
不安なんて関係ないよ、丸写しでもいいから書いて
分からない部分を調べるかヘルプで読むだけの話。

書く、調べる、覚える。 これを繰り返すか繰り返さないかの差でしかない。
813デフォルトの名無しさん:2012/08/04(土) 14:07:08.30
ほっこりした。
814デフォルトの名無しさん:2012/08/04(土) 14:41:34.72
1
毎日、暗記するくらい手引書読む
何ページに何が書いてあるか覚えたら卒業
2
1で分からない部分を解説してあるサイトやら本を暗記するくらい読む
3.
難しい部分はとりあえず置いて理解出来るコードをひたすら書く
4.
ちょっとだけ難しいコードを混ぜて覚える

以下ループ
そうやってみんな中級者になっていく。

上級者になると言語の仕様書が頭の中に入ってる。
やってることは初心者の頃と同じ。1-4の反復
815433:2012/08/04(土) 15:10:11.10
みなさんのお力をお借りさせてください。

void Object ()
{
if ( switch_01 == 1 )
{
/* 構造体変数の宣言 */
struct s_int iobject ; // iobject


/* 構造体変数の初期化 */
// iobject.index = "1" ; // char型の文字代入ができない問題
iobject.x = 112 ;
iobject.y = 96 ;

switch_01 = 0 ; // 初期化スイッチを切る(0がOFF) これでもうこの処理には入らない
}


DrawGraph ( iobject.x , iobject.y , SPRITE [ 0 ] , TRUE ) ; // キャラクターを表示する
}

構造体変数の利用についてです。コメント等は読み飛ばして〜〜〜〜!
これで最後のDrawGraph(すいません。不可解な単語は全部ルーチン名です)の引数[iobject.x,iobject.y]が定義されていない、とコンパイラ君に言われるのですが、構造体変数って同じ階層で定義してその階層でしか参照できないのでしょうか?
ifを使わずに同じ階層で処理を実行すると普通にコンパイルを通過できたので…。この辺りのルールがCの教科書には載っていません><;

ちなみに構造体データ型定義は別で行っています。switch_01は変数ですが、if文内の処理が初期化の処理で1度だけ実行したかったのでフラグ的な役割をしているだけです。(これらは別にどうでもよかったf^^;
816デフォルトの名無しさん:2012/08/04(土) 15:12:37.42
>>815
>構造体データ型定義は別で行っています。
そのファイルをincludeしなきゃだめだよ
817デフォルトの名無しさん:2012/08/04(土) 15:13:12.72
s_intの定義はどうなってる?
818デフォルトの名無しさん:2012/08/04(土) 15:14:44.26
char* plist[] = {"aaa", "BBB", "ccc", "DDD", "eee", "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};

文字列のソートするプログラム書こうとして文字列の配列を作ろうとしたんだけど
char* plist[]ってことは添字なしだと char** plistになるのかな?

かといって↓のようにすると、その後上手く使えなくなって頭がドーン
char** pplist = {"aaa", "BBB", "ccc", "DDD", "eee", "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};

なんでこうなるの?
819デフォルトの名無しさん:2012/08/04(土) 15:16:02.66
// iobject.index = "1" ; // char型の文字代入ができない問題
820デフォルトの名無しさん:2012/08/04(土) 15:17:19.80
>その後上手く使えなくなって
下手になら使えるのか。 問題ないじゃん
821433:2012/08/04(土) 15:22:51.45
>>819
すいません。それは関係ないやつですf^^;ポリポリ

>>817
struct s_int {
char index ;
int x ;
int y ;
} ;

になってます。(ソースファイルの先頭に記述済み)

>>816
同じファイル内に定義済みです。。。


すいません。今ちょっとDrawGraphの直前に
struct s_int iobject ;
を入れたんですけどコンパイルしたら

Run-Time Check Failure #3 - The variable 'iobject' is being used without being initialized.

こんなダイアログが出ました。エラーなのでしょうが内容が分かりませんんんんん
822デフォルトの名無しさん:2012/08/04(土) 15:26:53.40
iobject.index = "1";

iobject.index = '1';
823デフォルトの名無しさん:2012/08/04(土) 15:27:35.80
文字と文字列の違いもわかってないのか
824433:2012/08/04(土) 15:34:26.13
>>822
ぎゃああああああ
ってな感じです。。。凡ミスワラタw

アリガトゴザイマス(´・ω・`)
825デフォルトの名無しさん:2012/08/04(土) 15:51:43.11
>>814
私はちょっとだけ順番違うかな。

1 まず、したい事がある。
2 その事を実現する方法についてのみ調べる。(手引書、参考書、サイト)
3 コードを書いてみる。
4 その後で、手引書、参考書、サイトをじっくり読む。
5 3のコードを改造してみる。

そんで、3-5のループって感じかな。

もちろん、初めに言語の仕様をだいたい知っていることに越した事はないんだけどね。
826デフォルトの名無しさん:2012/08/04(土) 15:59:58.54
>>825
俺もそんな感じ
827デフォルトの名無しさん:2012/08/04(土) 16:11:17.13
>>825
それだと
モチベは保てる利点があるが
やりたい内容が力量を越えて飛躍しすぎてると頭がオーバーフローし易いので
挫折する可能性もある。

反面、>814だとモチベが持続出来ないのでブン投げる可能もある。
モチベを保つために練習問題をコツコツやらないと厳しい。

コードを書いて前回より出来が良い物に改善、出来る範囲の文献を当たって
β0.01からβ0.02へ進化!手直し手直しを繰り返すのが良いとこ取りかもしれないね。
無理せずにコツコツと手直しが近道かもしれんね。
828デフォルトの名無しさん:2012/08/04(土) 16:47:35.58
>>825
今だとgoogleでこの手順もかなり楽になった
検索すると困ってる内容の解決策に簡単にたどり着ける
829デフォルトの名無しさん:2012/08/04(土) 16:53:12.03
若い頃はモロ >>814 つーか 4. で無謀なチャレンジを楽しんでいた
>>825 へ徐々に移行、6. ありえないポカで自己嫌悪を追加
830デフォルトの名無しさん:2012/08/04(土) 17:13:03.30
831デフォルトの名無しさん:2012/08/04(土) 17:13:20.34
>>825の人気にshit
おれもこの方法だけど
832デフォルトの名無しさん:2012/08/04(土) 17:26:26.71
833デフォルトの名無しさん:2012/08/04(土) 17:33:10.73
834デフォルトの名無しさん:2012/08/04(土) 17:39:05.12
つまり

int main(int argc, char *argv[]);
int main(int argc, char **argv);

が等価であるからといって

char *plist[] = {"foo", "bar"};
char **plist = {"foo", "bar"};

が等価にはならない
835デフォルトの名無しさん:2012/08/04(土) 17:41:37.11
等価であるべきだとすごい剣幕で主張してるアホが昔いた
836デフォルトの名無しさん:2012/08/04(土) 17:46:29.89
 __           た わ し で す           --
     二          / ̄\           = 二
   ̄.            | ^o^ |                 ̄
    -‐           \_/                ‐-
837デフォルトの名無しさん:2012/08/04(土) 18:07:49.79
>>830
>>833
>>834
ありがとうごじゃいます

char *plist[] = {"foo", "bar"};
char **plist = {"foo", "bar"};

これが等価だって思い付きが大間違いだったんですねorz
838825:2012/08/04(土) 19:28:06.02
知らないうちに結構レスがついている。

ちなみに40代のおぢさんです。
ポンコツだけど。。。。

ただ、1の「したい事がある」は「お仕事でやらないといけなかった」ともいう。
そして、 2の調べるは、そんな人が作ったPGを引き継いだ人が大変なのは分かっていたから、当時はサイトが無かったので必死に参考書を読み漁っていた。

最初の入門書は林春比古さんの新C言語入門シリーズだったかな。(1991年版・今は新しいのが出てるはず)
未だにシニア編は手放せないです。
ビギナー編はどうでも良かったからどっかいっちゃったし、応用編は当時のDOS環境に偏り過ぎていたからね。

オライリーシリーズはポンコツには敷居が高かった。

って感じかな。
839デフォルトの名無しさん:2012/08/04(土) 19:33:14.45
林春比古の本に手をだしてはいけませんキリッ
840825:2012/08/04(土) 19:54:02.56
>>839
正直、他のシリーズの本(C++とかVBとLinuxとか)は知らないんだけどね。
Javaだけはちょっと読んだけど、Java自体、言語と言うより、「如何に用意されたAPIを使いこなすか」で、
しかもJavaのバージョンが上がりまくってAPIが変わりまくりだったので意味をなさなかったね。
持ってるのVer1.3対応版だよ。まったく意味がない。

C言語入門にしては当時(1990年頃)としては分かり易かったと思う。
今なら他にもいっぱいあると思うけど。
841デフォルトの名無しさん:2012/08/04(土) 21:10:55.96
初心者ならここじゃないの。副読本の感覚で
http://www9.plala.or.jp/sgwr-t/index.html
ポイント学習C言語

中級には物足りなすぎるだろうけど
初心者には孫の手みたいに痛し痒しに届きそうな内容じゃない。

この人の本は持ってないけどね・・どうなんでしょ。

あとは猫シリーズのWinプログラムやっとけば初級卒業なんじゃないのかな。

オライリーが鉄板だとは思うがあれ楽勝で読みこなせるなら初心者じゃない気もするw
842デフォルトの名無しさん:2012/08/04(土) 21:20:59.81
写経して即デバッガで追うのは楽なんだけど、時間が無い人向けだな。
843デフォルトの名無しさん:2012/08/04(土) 21:57:11.99
猫わかもいいんだけどちょっと古臭いのがね
844デフォルトの名無しさん:2012/08/04(土) 22:05:21.58
あれは猫ならわかるのかもしれんが、人間だとわからんのでは?
少なくとも俺は柴田望洋のほうがわかり易かったよ
845デフォルトの名無しさん:2012/08/04(土) 22:05:48.79
うん
846デフォルトの名無しさん:2012/08/04(土) 22:39:17.97
独習Cだろ最強は
847デフォルトの名無しさん:2012/08/04(土) 22:58:50.44
図書館で借りた入門書に誤字があり、その箇所で悩みまくり頭が沸騰するかと思った。
初心者だから自分が間違っているのか本が間違っているのか分からないから困る
848デフォルトの名無しさん:2012/08/04(土) 23:13:11.49
困るね
849デフォルトの名無しさん:2012/08/05(日) 00:00:44.45
読んで覚えるだけの勉強しかしないバカにありがちだね
850デフォルトの名無しさん:2012/08/05(日) 00:03:30.81
   ∧_∧  / ̄ ̄ ̄ ̄ ̄
  ( ´∀`)< オマエモナー
  (     )  \_____
  │ │ │
  (__)_)
851685:2012/08/05(日) 01:58:36.19
>>847
自分でうごかしてみるんだ。今は環境は簡単に手に入る。
852デフォルトの名無しさん:2012/08/05(日) 04:42:27.49
コンパイル環境あったところで、誤字が理由のエラーに悩みまくることはかわらないけどな
853デフォルトの名無しさん:2012/08/05(日) 04:45:35.54
昔よりはエラーメッセージが親切になった

何といっても読めば意味が分かることが多い
854デフォルトの名無しさん:2012/08/05(日) 04:57:34.33
開発環境やバージョンの違いで動かないこともあったりするから
手に負えない。
855デフォルトの名無しさん:2012/08/05(日) 05:05:20.29
初心者がエラーメッセージをちゃんと読んで理解するかよw
856685:2012/08/05(日) 05:24:21.33
>>855
ここに投げてみるとか、codepad/ideone の結果を貼り付けてみるとか。
初学者のはまる点であれば、ここでなんとかなるんじゃない?
857デフォルトの名無しさん:2012/08/05(日) 05:35:40.54
858デフォルトの名無しさん:2012/08/05(日) 06:09:52.40
しかし初心者ほど「エラーが出ます」としか言わないのであった
859デフォルトの名無しさん:2012/08/05(日) 06:33:42.02
C++のテンプレートとかエラーメッセージ自体が意味不明だったりするけど
860デフォルトの名無しさん:2012/08/05(日) 06:34:54.30
初心者の独学の話をしてるんじゃないの?
861デフォルトの名無しさん:2012/08/05(日) 06:36:02.61
ttp://ideone.com/XY4SB
初心者によくありがちなコンパイルエラー
862デフォルトの名無しさん:2012/08/05(日) 07:34:32.47
>>861
ねぇよ
863 ◆QZaw55cn4c :2012/08/05(日) 09:45:29.15
>>857
これは痛いところを突かれましたね。

確かにhttp://codepad.org/mDg8Dx8Pは今でも説明不能
手元のgcc4 は 0. 000000 を表示することから >>653 + double拡張が妥当ではあるのですが、
それじゃcodepad はどんなことになっているのか?
864デフォルトの名無しさん:2012/08/05(日) 10:13:57.76
%fで8バイト必要なのに4バイトしか積んでないから
つまり>>663の4番目と6番目
865デフォルトの名無しさん:2012/08/05(日) 10:24:52.91
% よりも - の方が優先順位が高いので

10 % 3 - 1.0 < 4.0 ? 1 : 0;



10 % (3 - 1.0) < 4.0 ? 1 : 0;

と解釈され、剰余演算子にdouble型を適用しようとするので
コンパイルエラーになるはずなんだけどなあ
866 ◆QZaw55cn4c :2012/08/05(日) 10:41:02.47
>>864
なるほど、いったんスタックをお掃除すると結果がかわるというわけですね。
>663 を codepad にかけてみました。
http://codepad.org/HIVDpg5z

1番目の結果を出すとき、ゴミはいったいなんなんだ?
867デフォルトの名無しさん:2012/08/05(日) 10:48:07.87
>% よりも - の方が優先順位が高いので
単項演算子の-と二項演算子の-との区別がつかないおバカさん?
868デフォルトの名無しさん:2012/08/05(日) 10:56:01.96
printf("%f\n", 10 % 3 - 1.0 < 4.0 ? 1.0 : 0.0);

とするとちゃんと1.000000と表示される所から見て、整数→倍精度浮動小数点数
への格上げはされてない(当たり前か)
869デフォルトの名無しさん:2012/08/05(日) 11:22:28.30
ttp://ideone.com/asu0T
printf()を連続で呼ぶと前の引数が残るからアクロバティックなコーディングが出来る
やらないけど
870デフォルトの名無しさん:2012/08/05(日) 11:27:22.05
871デフォルトの名無しさん:2012/08/05(日) 11:33:13.47
>>869
これアクロバティックと言わずに「undefined」と言おうよ

>>870
intでdouble型の表示をしようとすると結果はやはり「undefined」だろうな

printf("%f\n", 1); とやってるのと同じだもん
872デフォルトの名無しさん:2012/08/05(日) 11:51:59.18
そういえばDOSの時代に関数ポインタを取得して、そこにディスク上から別の関数を
上書きして走らせるというキチガイ沙汰なプログラムが立派に商用に使われていたな

もちろん後から上書きする関数の大きさは前の関数よりもサイズが小さくないと
次の関数の頭まで消してしまうし、引数も同じにしとかないとコンパイルが出来ない

これも未定義なんだけど、メモリの少ない時代は仕方がなかったんだろうな
873デフォルトの名無しさん:2012/08/05(日) 11:54:53.01
union
{
char c[8];
double d;
} u;
u.c[0] = 0x66;
u.c[1] = 0x68;
u.c[2] = 0x3c;
u.c[3] = 0x11;
u.c[4] = 0xc4;
u.c[5] = 0x59;
u.c[6] = 0x01;
u.c[7] = 0x40;
printf("%f\n", u.d);
u.c[0] = 0x00;
u.c[1] = 0x00;
u.c[2] = 0x00;
u.c[3] = 0x00;
printf("%f\n", u.d);
874デフォルトの名無しさん:2012/08/05(日) 11:58:44.74
>>872
メモリの無い時代、別にオーバーレイは常套手段だったろ。
875 ◆QZaw55cn4c :2012/08/05(日) 12:35:11.54
>>870
おおー、thx
このやりかた、デバッグにつかえるかもしれないね
876デフォルトの名無しさん:2012/08/05(日) 12:36:40.22
条件A, B, Cそれぞれにture falseがあり、条件の組み合わせで
それぞれに違う処理をさせたい場合、どういった書き方をするんでしょうか
真理値表で言うとこんな感じです
A B C
F F F -> n = ture
F F T -> m = ture
F T F -> l = true
<略>
T T T -> s = true
ifを使って、
if (a == false) && (b == false) && (c == false)
{
...
などと書くのが普通でしょうか。コレだと条件がD, E, ...と増えていくと
収集がつかなくなりそうで不安です。いい方法か、検索に役立つキーワードが
あれば教えて下さい。
877デフォルトの名無しさん:2012/08/05(日) 12:43:11.67
ビットフラグ
878デフォルトの名無しさん:2012/08/05(日) 13:13:19.18
関数型言語ってCの事ですか?
879デフォルトの名無しさん:2012/08/05(日) 13:18:05.02
Cは手続型言語
880433:2012/08/05(日) 13:23:49.15
>>832
832さんありがとうございます!
そのページのソースコードに記述されているstatic(きおくくらす?で合ってるのかな…?)をヒントにコンパイルエラーの謎を解明できました。
具体的な原因としてObjectルーチンを何度も通すプログラムを書いており、

struct s_int iobject ;

という構造体変数宣言を何度も行っている事が原因だったようで、これをヘッダー部分(main()以前)に書く事でコンパイルが正常に通りました。
またひとつ勉強になりました。ありがとうございますm(--)m
881デフォルトの名無しさん:2012/08/05(日) 13:39:50.96
どういたしまして
882デフォルトの名無しさん:2012/08/05(日) 13:47:48.09
>>880
ttp://ideone.com/mZwCB
自動変数というのは自動的に領域の確保と解放をする変数で
初期化(あるいは代入)せずに参照すると値が不定となる

自動変数ではなく静的変数とするにはstaticを付けるかグローバル変数とする
883デフォルトの名無しさん:2012/08/05(日) 14:56:49.16
ズルして楽して覚えても結局は言語仕様に戻る罠。
面倒でも暇を見てヘルプや仕様を読む癖をつけるのが良いと思うよ。
884デフォルトの名無しさん:2012/08/05(日) 14:57:59.08
>>876
いろいろやりかたはあるが、条件を表にしておき関数ポインタを持っておくとか

オートマトンで使われるような状態遷移図にも似たような手法が使われる
885デフォルトの名無しさん:2012/08/05(日) 15:29:21.79
#include <stdio.h>

#define _TRUE 1
#define _FALSE 0

int fff(void) { printf("%s\n", __func__); }
int fft(void) { printf("%s\n", __func__); }
int ftf(void) { printf("%s\n", __func__); }
int ftt(void) { printf("%s\n", __func__); }
int tff(void) { printf("%s\n", __func__); }
int tft(void) { printf("%s\n", __func__); }
int ttf(void) { printf("%s\n", __func__); }
int ttt(void) { printf("%s\n", __func__); }

int (*tbl[2][2][2])(void) ={
  { { fff, fft }, { ftf, ftt }, },
  { { tff, tft }, { ttf, ttt }, },
};

int main(void){
  (*tbl[_FALSE][_FALSE][_FALSE])();
  (*tbl[_FALSE][_FALSE][_TRUE])();
  (*tbl[_FALSE][_TRUE][_FALSE])();
  (*tbl[_FALSE][_TRUE][_TRUE])();
  (*tbl[_TRUE][_FALSE][_FALSE])();
  (*tbl[_TRUE][_FALSE][_TRUE])();
  (*tbl[_TRUE][_TRUE][_FALSE])();
  (*tbl[_TRUE][_TRUE][_TRUE])();
  return 0;
}
886デフォルトの名無しさん:2012/08/05(日) 15:29:52.05
lenovo@LENOVO-0C414D26 ~
$ ./a.exe
fff
fft
ftf
ftt
tff
tft
ttf
ttt
887433:2012/08/05(日) 17:00:58.51
>>882
自動変数と静的変数というのは一般的に言われる「変数」を噛み砕いたものという事でしょうか?

初期化しないままに参照するのは結果的にエラーを吐くのは分かったのですが、
初期化したものをその後に参照しようとしても参照できない場合があるのはなぜなのでしょう

やはりCの仕様なんでしょうか…
888デフォルトの名無しさん:2012/08/05(日) 17:11:38.25
アドレスが違うか見てみれば
889デフォルトの名無しさん:2012/08/05(日) 17:13:28.31
"スコープ"とか"変数の寿命"でググれや
890デフォルトの名無しさん:2012/08/05(日) 17:54:40.51
>>887
ttp://ideone.com/xmVR8

>自動変数と静的変数というのは一般的に言われる「変数」を噛み砕いたものという事でしょうか?
変数には大雑把にいって自動変数と静的変数がある

>初期化したものをその後に参照しようとしても参照できない場合があるのはなぜなのでしょう
初期化したつもりで自動変数を初期化してなかったので
「変数'iobject'が初期化されてないのに使われようとした」というエラー(警告?)になったのだと思われ

Run-Time Check Failure #3 - The variable 'iobject' is being used without being initialized.
891433:2012/08/05(日) 18:16:14.23
返答早すぎですw多くのレスありがとうございます><
まだC言語は半月くらいの経験しかない身ではしたない部分があるにも関わらず多くアドバイスを頂き感謝し尽せないです。。。

>>890
初期化した場所が悪かったのか、初期化した後変数が別の変数に変わってしまったのか分かりませんがエラーの内容からすれば変数の初期化をする場所にルールがあるんじゃないか、とちょっと気づいてきました…(´・ω・`)

>>889
ブロックスコープという存在を知らなかった…orz
しかも私が今併用しているC言語入門書には書いていない件(tyow

>>888
ポインタですね^^
後々解析してみまぁす。ありがとうございます〜

皆様、貴重なご教示ありがとうございました。
892デフォルトの名無しさん:2012/08/05(日) 18:32:40.71
893876:2012/08/05(日) 18:36:50.41
>>877, 884様
とりあえず今回は3条件T/Fで設計してしまったので、
ビットフラグで行こうと思います。
検索したらUMLとか状態遷移とかを解説しているページが
多く見られ、大変参考になりました。ありがとうございました。
894デフォルトの名無しさん:2012/08/05(日) 18:45:27.84
はじめまして。
<=====の行がうまくいかないです。アドバイスお願いします。

int *po,ban,i;
po=&ban;
for(i=0;i<5;i++){
*(po+i)=i; /*<=====*/
}
895デフォルトの名無しさん:2012/08/05(日) 18:51:18.64
とりあえず、がんばれ、と言っておこう
896デフォルトの名無しさん:2012/08/05(日) 18:56:35.63
897デフォルトの名無しさん:2012/08/05(日) 18:56:57.06
はじめまして。
<=====の行がうまくいかないです。アドバイスお願いします。

int *po,ban,i;
po=&ban;
for(i=0;i<5;i++){
*(po+i)<=====i;
}
898 ◆QZaw55cn4c :2012/08/05(日) 19:08:48.26
899デフォルトの名無しさん:2012/08/05(日) 19:20:02.69
>>896
>>898
banを配列にしないとダメなんですね。
サンクス
900デフォルトの名無しさん:2012/08/05(日) 19:29:40.53
自動変数は何が自動なんですか。手動変数もありますか。
901デフォルトの名無しさん:2012/08/05(日) 19:30:21.98
ぽいぽいPOI!!!
ふぉいふぉいFOI!!!
カネ返せFOI!!!
カネ返せPOI!!!
902デフォルトの名無しさん:2012/08/05(日) 19:34:03.62
全自動変数
半自動変数
手動変数
903デフォルトの名無しさん:2012/08/05(日) 19:41:31.07
変数がメモリ上のどこにあるのかを考えろよw
答えはそこにある。
904デフォルトの名無しさん:2012/08/05(日) 19:46:12.93
変数
固定変数
変動定数
定数
905デフォルトの名無しさん:2012/08/05(日) 21:09:56.68
ふひひ
906デフォルトの名無しさん:2012/08/05(日) 23:53:22.62
このスレ質問ても処理系は何?と聞いてごまかして答えてくれないよね。
専門知識を教えるのは億劫なんかね。
907デフォルトの名無しさん:2012/08/05(日) 23:56:26.74
質問ても?
908デフォルトの名無しさん:2012/08/06(月) 00:00:50.30
>>907
ゴミは黙れ
909デフォルトの名無しさん:2012/08/06(月) 00:06:41.76
>>907
茶化すなよ
910デフォルトの名無しさん:2012/08/06(月) 00:53:54.49
>>906
C言語は低レベルなので処理系聞かないと規格票の範囲でしか答えられないからです
911デフォルトの名無しさん:2012/08/06(月) 01:05:43.22
>>908-909
失せろゴミ
912デフォルトの名無しさん:2012/08/06(月) 01:29:45.60
>>906
いや、お前がゴミだから。
913デフォルトの名無しさん:2012/08/06(月) 01:50:31.12
IDがでねー掲示板で何やってんだお前ら。。
914デフォルトの名無しさん:2012/08/06(月) 01:51:54.79
↑馬鹿
915デフォルトの名無しさん:2012/08/06(月) 01:57:04.14
('_')
916デフォルトの名無しさん:2012/08/06(月) 02:08:19.48
知識は出し惜しみすんなよクズ
共有しないと意味ねーだろ
917デフォルトの名無しさん:2012/08/06(月) 02:10:22.41
もうずっとプログラマ大杉
918デフォルトの名無しさん:2012/08/06(月) 02:14:15.34
共有()

一方的にもらうだけの乞食が
919デフォルトの名無しさん:2012/08/06(月) 02:21:13.35
処理系を知りたいならアセンブラ。
遠慮せずにそちらの世界へ。
920デフォルトの名無しさん:2012/08/06(月) 02:22:09.03
けんかしにここにきてるのかお前ら
そんなひまがあったら働け
921デフォルトの名無しさん:2012/08/06(月) 02:30:41.89
>>919
「処理系」の意味がわかってないような
922デフォルトの名無しさん:2012/08/06(月) 04:52:17.60
>>919
お前が一番分かってない
923デフォルトの名無しさん:2012/08/06(月) 04:54:56.41
>>921-922
ほう。
どうわかってないのか、正しくはどうなのか説明してみ。
924デフォルトの名無しさん:2012/08/06(月) 04:56:47.56
>>923
人に教えてもらう態度ではないな
925デフォルトの名無しさん:2012/08/06(月) 05:00:05.49
>>924
失せろゴミ
926デフォルトの名無しさん:2012/08/06(月) 05:02:32.65
>>919
お前が処理系を何だと思ってるか説明するのが先だ
ゴミしか言えないのかよ
927デフォルトの名無しさん:2012/08/06(月) 05:08:28.84
判断の根拠を言えよバーカ
わかってないのに判断したのかよ
928デフォルトの名無しさん:2012/08/06(月) 05:09:47.45
ゴミとバーカしか言えないのかよ
929デフォルトの名無しさん:2012/08/06(月) 05:10:32.27
アホ
930デフォルトの名無しさん:2012/08/06(月) 05:15:13.50
>>910>>919の処理系の意味の違いさえ分からないゴミカス乙
931デフォルトの名無しさん:2012/08/06(月) 05:18:30.81
ゴミとバーカとアホとゴミカスしか言えないのかよ
932デフォルトの名無しさん:2012/08/06(月) 05:19:51.18
お前らいい加減やめろよ・・・
933デフォルトの名無しさん:2012/08/06(月) 05:20:03.08
しか言えないのかよしか言えないのかよ
934デフォルトの名無しさん:2012/08/06(月) 05:27:39.39
935デフォルトの名無しさん:2012/08/06(月) 05:36:14.40
>>930
>>919だけが「処理系」の意味を知らないだけで
他の人は全員「処理系」の意味を理解して、同じ意味で使っている。
936デフォルトの名無しさん:2012/08/06(月) 06:56:49.37
919に言ってやれよ
937デフォルトの名無しさん:2012/08/06(月) 07:01:02.28
919に言ってやれよしか言えないのかよ
938デフォルトの名無しさん:2012/08/06(月) 07:26:09.48
919に言ってやれよしか言えないのかよしか言えないのかよ
939デフォルトの名無しさん:2012/08/06(月) 07:34:52.32
919に言ってやれよしか言えないのかよしか言えないのかよしか言えないのかよ
940デフォルトの名無しさん:2012/08/06(月) 07:40:55.44
アホ自慢はもういいから。
941デフォルトの名無しさん:2012/08/06(月) 07:57:40.08
implementation 実装、処理系
942デフォルトの名無しさん:2012/08/06(月) 08:00:57.45
規格ではなく処理系でことなる部分がある(処理系依存の部分、未定義の部分)
943デフォルトの名無しさん:2012/08/06(月) 08:04:17.84
ダンプ解析しないのかな。
944デフォルトの名無しさん:2012/08/06(月) 08:06:47.66
童貞先生ゴミマ
945デフォルトの名無しさん:2012/08/06(月) 08:11:40.73
#include <stdio.h>
int main(void)
{
  int i = 2;
  printf("%d\n", ++i*(++i) );
  return 0;
}
/*
C:\work>gcc -Wall -o ppi ppi.c
ppi.c: In function `main':
ppi.c:5: warning: operation on `i' may be undefined

C:\work>ppi
16

C:\work>dmc ppi.c
link ppi,,,user32+kernel32/noi;


C:\work>ppi
12

*/
946デフォルトの名無しさん:2012/08/06(月) 08:12:19.52
ぶひ
947デフォルトの名無しさん:2012/08/06(月) 08:19:45.88
>>945 何したいんだ?
#include <stdio.h>
int main(void) {
  int i = 2, j;
  j = ++i;
  printf("%d\n", j*(j) );
  return 0;
}
948デフォルトの名無しさん:2012/08/06(月) 08:43:31.10
>>947
アホは書き込むな。
949デフォルトの名無しさん:2012/08/06(月) 08:47:57.14
Qがコテを隠して朝からファビョっているのか
950デフォルトの名無しさん:2012/08/06(月) 09:22:10.78
アホは書き込むな。しか言えないのかよ
951デフォルトの名無しさん:2012/08/06(月) 09:34:44.57
ぶひひ
952デフォルトの名無しさん:2012/08/06(月) 18:45:09.03
>>906>>919が面白すぎる
953デフォルトの名無しさん:2012/08/06(月) 18:47:03.83
>>923>>930も同じやつだな
954デフォルトの名無しさん:2012/08/06(月) 18:52:36.05
Qの口癖「ほう。」
955デフォルトの名無しさん:2012/08/06(月) 20:01:53.00
956デフォルトの名無しさん:2012/08/06(月) 20:37:38.06
私怨の憂さ晴らしは他所でやれ
957 ◆QZaw55cn4c :2012/08/06(月) 20:44:58.80
怨まれているのですか?じゃあ、お祓いしなくちゃ
958デフォルトの名無しさん:2012/08/06(月) 20:54:35.35
潜伏わろた
959デフォルトの名無しさん:2012/08/06(月) 21:17:05.94
わろたね
960デフォルトの名無しさん:2012/08/06(月) 23:02:13.13
!NULLと!=NULLに違いはありますか?
961デフォルトの名無しさん:2012/08/06(月) 23:05:40.93
>>960
あるよ
962デフォルトの名無しさん:2012/08/06(月) 23:08:20.53
>>960
ないよ
963デフォルトの名無しさん:2012/08/06(月) 23:11:35.22
処理上の違いでしょうか? 速度上の違いでしょうか?
処理上の違いの場合、どちらかにしかないエラーケースはどんなのがありますか?
964デフォルトの名無しさん:2012/08/06(月) 23:22:51.71
ttp://ideone.com/7Q3ga
!NULLは代入で使う(滅多に見ないが)
!=NULLは条件文で使う
965デフォルトの名無しさん:2012/08/06(月) 23:26:16.94
すみません、説明が間違っていました。
if(!hoge)はif(hoge != NULL)と等価かどうかが知りたかったんですが、認識からして混乱していたようです……
966デフォルトの名無しさん:2012/08/06(月) 23:32:32.79
まぴょーん……
投下かどうかくらいは自力で調べられんジャネーノこれ
967デフォルトの名無しさん:2012/08/06(月) 23:41:36.27
ttp://ideone.com/qnH3O
if (!hoge) hogeが0なら真、0以外なら偽
if (hoge != NULL) hogeが0なら偽、0以外なら真
968デフォルトの名無しさん:2012/08/06(月) 23:41:54.91
等価じゃねーだろ。真逆の意味。
969デフォルトの名無しさん:2012/08/06(月) 23:52:54.35
970デフォルトの名無しさん:2012/08/06(月) 23:55:55.61
if(hoge)かif(hoge != NULL)って、前者は見づらい氏ねって人と、後者こそ煩雑、氏ねって人がいるよね
971デフォルトの名無しさん:2012/08/07(火) 00:05:14.14
どっちも使うけどNULLが返る関数を使うときは後者を使うわ
972デフォルトの名無しさん:2012/08/07(火) 00:06:50.15
ttp://ideone.com/c2aSc
if (!hoge)はぱっと見分かりづらい
973デフォルトの名無しさん:2012/08/07(火) 00:09:08.32
ポインタならNULLとの比較、論理値ならそのまま/!だな。
974デフォルトの名無しさん:2012/08/07(火) 00:09:42.87
ぬるぬる
975デフォルトの名無しさん:2012/08/07(火) 00:11:16.48
俺はこういう常套句はどっちでも一瞬で理解できるからわかりにくさがわからない
976デフォルトの名無しさん:2012/08/07(火) 00:17:28.70
おっさん達の目が悪くてびっくりマーク見逃す可能性があるから比較で書くべき
977デフォルトの名無しさん:2012/08/07(火) 00:18:57.67
NULLPO
978 ◆QZaw55cn4c :2012/08/07(火) 00:30:10.80
「NULL」なんて使わなくなった。3バイト分無駄以外の何者でもない。今の時代でも書く奴がいるのか?そうまでする理由がわからない。

\0 も NULL も 0 と書いて無問題。
お約束でごめんね。
979デフォルトの名無しさん:2012/08/07(火) 00:33:34.59
組み込み系 vs コンシューマソフトウェア

ファイッ!!
980 ◆QZaw55cn4c :2012/08/07(火) 00:39:44.94
>>970
後者はありえない。
if (hoge != 0) と書かない理由をいってみろ。
981 ◆QZaw55cn4c :2012/08/07(火) 00:41:56.81
>>964
真を返すのに
return !0
と書く人がいたとすれば、その原理主義的思考には深く共感する。

あまりにも紛らわしいので私はしないが。
982デフォルトの名無しさん:2012/08/07(火) 00:44:39.66
今の時代ソースが3バイト分無駄とか考えるほうが少ないんじゃねーの
まぁ、排他的な意見しか言えないQに言っても無駄だろうけど。
好きな方使えばええやん
983デフォルトの名無しさん:2012/08/07(火) 00:47:25.26
while (!0)
984 ◆QZaw55cn4c :2012/08/07(火) 00:49:23.44
>>982
理由があればね。でも3バイト使ってひとつもわかりやすくなっていない、確たる理由はない、惰性としかいいようがない。
985デフォルトの名無しさん:2012/08/07(火) 00:49:51.06
return TRUE;
return FALSE;
return NULL;
if(hoge != NULL)
while(TRUE)
Java出身の俺はこう書く
986デフォルトの名無しさん:2012/08/07(火) 00:51:15.53
感覚に必ずしも理由は要らない
987 ◆QZaw55cn4c :2012/08/07(火) 00:51:58.73
>>983
共感する。
988デフォルトの名無しさん:2012/08/07(火) 00:52:07.41
惰性で充分
改めるほどの価値も無い
989デフォルトの名無しさん:2012/08/07(火) 00:53:00.85
これが宗教戦争ってやつですね!
わかりましたっ!
990デフォルトの名無しさん:2012/08/07(火) 00:54:06.59
つまり、クズ。
991デフォルトの名無しさん:2012/08/07(火) 00:56:52.99
992 ◆QZaw55cn4c :2012/08/07(火) 01:04:31.41
>>989
どっちかというと新興宗教vs伝統仏教。
新興宗教側(NULL否定派)に分はない。
993デフォルトの名無しさん:2012/08/07(火) 01:05:12.99
ごくろう
994デフォルトの名無しさん:2012/08/07(火) 01:20:51.88
NULL否定するってことはマジックナンバーだらけのソースしか書かないんだろうな。
995 ◆QZaw55cn4c :2012/08/07(火) 01:26:19.59
>>994
何でも #define すればいいというものではない。
http://developers.slashdot.jp/story/12/07/29/0728218/
\0 や NULL は 0 と書いて無問題。
996デフォルトの名無しさん:2012/08/07(火) 01:28:31.75
ん、NULL否定派って何?
NULLの否定で式を書くって事?
それともNULLの使用を否定するって事?
997デフォルトの名無しさん:2012/08/07(火) 01:29:03.69
あ?別にマジックナンバーにも問題はないが。
998デフォルトの名無しさん:2012/08/07(火) 01:29:19.16
キチガイのQが何か言ってるぞ!!
999デフォルトの名無しさん:2012/08/07(火) 01:30:09.09
さっさと埋めろよこんな糞スレ
1000デフォルトの名無しさん:2012/08/07(火) 01:30:28.18
0で問題有ると思ってるからNULL使ってるわけじゃないし
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。