一緒にCを学ぼうlt;初心者向けgt;

このエントリーをはてなブックマークに追加
1枝マ面
ここで一緒にCの勉強をしましょう。
お互いに問題を出し合うのもよし、質問するのもよし。
2デフォルトの名無しさん:03/06/07 19:12
死ね(^-^*)
3デフォルトの名無しさん:03/06/07 19:14
<スレジャックのお知らせ>
ここは漏れのスレになった。
おとなしく逆立ちして、枝豆食え
4デフォルトの名無しさん:03/06/07 19:28
もちろんビタミンCだろ
(=゚ω゚=)
6デフォルトの名無しさん:03/06/07 19:38
つーかレスすんな。
 _, ._
(・∀・) エー
9預言者:03/06/07 20:01
10フォルトの名無しさん:03/06/07 20:02
>>1
オオ!同志がこんな所に!!自分もC超初心者ですが一緒に頑張りましょう!!!
11デフォルトの名無しさん:03/06/07 20:09
>>10
よろすく
12デフォルトの名無しさん:03/06/07 20:23
http://jbbs.shitaraba.com/computer/6765/

したらばで借りてみますた。
叩かれそうなので、独立しようや。
13デフォルトの名無しさん:03/06/07 20:33


12 名前:デフォルトの名無しさん :03/06/07 20:23
http://jbbs.shitaraba.com/computer/6765/

したらばで借りてみますた。
叩かれそうなので、独立しようや
14デフォルトの名無しさん:03/06/07 20:35
13 名前:デフォルトの名無しさん :03/06/07 20:33


12 名前:デフォルトの名無しさん :03/06/07 20:23
http://jbbs.shitaraba.com/computer/6765/

したらばで借りてみますた。
叩かれそうなので、独立しようや
14 名前:デフォルトの名無しさん :03/06/07 20:35


13 名前:デフォルトの名無しさん :03/06/07 20:33


12 名前:デフォルトの名無しさん :03/06/07 20:23
http://jbbs.shitaraba.com/computer/6765/

したらばで借りてみますた。
叩かれそうなので、独立しようや
16デフォルトの名無しさん:03/06/07 21:04
#include <stdio.h>
#include <string.h>
int main(void)
{
char kana[100];
int a;
printf("文字を入力してください\n");
scanf("%s",kana);
a=strlen(kana);
printf("文字数は%dでした。",a);
getchar();
getchar();
}
実行し終わってEnterKeyで終わりたいときは
このコードでいいんですか?
17無料動画直リン:03/06/07 21:13
"0123456789ABCDEF"[n%16]
19デフォルトの名無しさん:03/06/09 18:36
http://jbbs.shitaraba.com/computer/6765/
Cの初心者ならここに来るしかない!
質問、雑談何でもOK!
初歩的なことでももちろんOK!
もちろん、上級者の皆様にも来ていただきたいです
20デフォルトの名無しさん:03/06/09 22:11
勉強するなら「猫でも分かるプログラミング」がいいと聞いた。
ただ、但し書きの
――――コンピュータ等のファイルに保存することを禁じます
これだけなんか納得がいかない。著作権の主張?
>>20
なっとくしろ。不特定多数に公開されているサイトでも著作権はある。
> ファイルに保存することを禁じます

ここが気に入らない。わざわざキャッシュを無効にして見ろってか。
まぁ慈善事業じゃないんだから、しょーがねーべ
24デフォルトの名無しさん:03/06/09 22:57
http://www9.plala.or.jp/sgwr-t/
俺も始めたばかりの初心者。↑で勉強しようと思う。
BCC+Cpadです。
25デフォルトの名無しさん:03/06/09 23:01
漏れもそこで便巨した。
直林はやめたほうが・・・
>>25
なんで?
マナー
はぁ?
29デフォルトの名無しさん:03/06/09 23:24
>>20
初心者向けのプログラムで著作権を主張するなんてその本のレベルが疑われ
ますね。それとも、たかだか100行に満たないプログラムにいったいどんな凄いソースが
書いてあるのか???
30デフォルトの名無しさん:03/06/09 23:25
>>28
はぁ?はぁ?
>>27
ウェブを冒涜するような発言だな。
エディタはなにを使っていますか?
ぼくちんはメモ帳です。
お勧めのエディタがあれば教えてください。
33名無し@沢村:03/06/10 20:15
おまいらよ、これからC言語を学ぶなら、アスキーの「C言語を256倍使うための本」ってのがおすすめだぞ!!
>>32
xyzzy
いまさら化石化したCとかC++とか、コンピュータ言語は
貧乏人が使う言語だな。日本人がそのようなことやっていたら
生き残れない。もう、つまんないこと止めよう。
いまから、この方面についての識者である35が、
プログラミング言語の未来について語ってくれま
す。拍手でお迎えください。どうぞ!
37デフォルトの名無しさん:03/06/10 20:52
>>35
そんなことないよ。今でもCの仕事はあるし現に俺ETCのプログラムCで作ったよ。
CやC++の普及率なら今すぐ使われなくなったとしても、すでにあるプログラムの
資源を有効に使うって会社があるし、いまさらCで作ったプログラムをほかの言語で
わざわざ書き直さないよ。フォートランやコボルを今でも仕事に使っている人いるよ
(パスカルは微妙だな)
PS
35の人はVBしか使えないと見た!
独習Cを使ってる奴はいねえか〜?
まず第一に小泉総理はCもC++もしらない。
ブッシュ大統領も知らない。ミッテラン大統領も知らない。
フジモリ大統領も知らない。こんなもの、腐れ言語だろう。
草履を編んでいたほうが良いな。
ミッテランっていつの時代だよ。
ちなみにミッテランはC使い。
41デフォルトの名無しさん:03/06/10 21:01
ミッテランって誰???
どこの国の人?
フランスだろ
けっ、バカがCとかC++使い出すと、
後始末が出来ねーんだよ。史ねバカぷろのアマグラマ。
あふぉの後始末が大変なんだよ。javaとかj#とかバカ向き言語
使えや。自分でメモリリーク起こすやつは。バカアマグラマはいらん。
外人使ったほうが安上がり。日本人はCは使うなバカ。
             /ヽ       /ヽ
            / ヽ      / ヽ
  ______ /U ヽ___/  ヽ
  | ____ /   U    :::::::::::U:\  何このスレ・・・
  | |       // ___   \  ::::::::::::::|
  | |       |  |   |     U :::::::::::::|
  | |      .|U |   |      ::::::U::::|
  | |       | ├―-┤ U.....:::::::::::::::::::/  
  | |____ ヽ     .....:::::::::::::::::::::::< 
  └___/ ̄ ̄      :::::::::::::::::::::::::|
  |\    |           :::::::::::::::::::::::|
  \ \  \___      ::::::::::::::::::::::::|
45デフォルトの名無しさん:03/06/10 21:13
>>38
うちの大学で、折れの学年で主席の香具師が使っていたのを見た。
でもそいつハード専攻だから、今はVerilogしかやっていないはずだが。
一冊読めば、それでCの基本は大丈夫なのだろうが、いかんせん厚すぎる…。
46デフォルトの名無しさん:03/06/10 21:17
/* 2つの整数を入力して、その間の値を10個づつ表示するプログラム */
#include<stdio.h>

int main(void)
{
int a,b;

printf("2つの数を入力してください(a,b):\n");
scanf("%d%d",&a, &b);

for (a=a+1;a<b;a++) {
if (a<b) {
printf("%d\t",a);
printf("\n",a+10);
}
else printf("%d",a);
}

return 0;
}

明日までの宿題です。
ぜんぜん分からんです。だれか教えてください。
47サンプルです:03/06/10 21:19
★おすすめ★オススメ★
http://www.yahoo2003.com/betu/linkvp2/linkvp.html
:・゜゚・*:.。..。.:*・゜(゚∀゚)゚・*:.。. .。.:*・゜゚・*
・゜゚・*:.。..。.:*・゜(゚∀゚)゚・*:.。. .。.:*・゜゚・*
>>46
テキストのprintfの使い方を見てください。
4946:03/06/10 21:24
>>38
画っ子でつかってまつ
5046:03/06/10 21:26
>>48
申し訳ないんですが、おっしゃっておられる意味がまったく分かりません。
やめたほうがいいですか?
>>50
あなたの持っているC言語学習の参考書でprintf()関数の使い方を調べてください。
>>45
独習Cなら参考書としては並の厚さじゃない?
>>50
G(o^-^o)gle < 検索しようね
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉


     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉



(^^)


   彡川川川三三三ミ〜
   川|川/  \|〜 プゥ〜ン
  ‖|‖ ◎---◎|〜        / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  川川‖    3  ヽ〜      < G(o^-^o)gle < 検索しようね
  川川    ∴)д(∴)〜       \_______________
  川川      〜 /〜 カタカタカタ
  川川‖    〜 /‖ _____
 川川川川___/‖  |  | ̄ ̄\ \ ←>>53
   /       \__|  |    | ̄ ̄|
  /  \___      |  |    |__|
  | \      |つ   |__|__/ /
  /     ̄ ̄  | ̄ ̄ ̄ ̄|  〔 ̄ ̄〕
 |       | ̄
56デフォルトの名無しさん:03/06/10 21:42
>>52
教科書として一から読み下すには、厚いと思う。参考書としてならありか。
57デフォルトの名無しさん:03/06/10 21:45
>>46
何がわからないの?
>>57
あなたの本心よ。本当に私のこと愛しているの?
いまさら、Cとか騒いでる前に、製品を作れよ。
素人なりに。言語は道具だと思えよ。
ばか者。のみとかのこぎりを作る人は
確かにえらいが、それを改造して自分に使いやすいものを
仕事の合間に造る名人はもっと偉い。

 というお話だったのさ
\                /
   ̄ ̄ ̄ ̄V ̄ ̄ ̄ ̄ ̄ ̄
   彡川川川三三三ミ〜
   川|川/  \|〜 プゥ〜ン
  ‖|‖ ◎---◎|〜
  川川‖    3  ヽ〜
  川川    ∴)д(∴)〜
  川川      〜 /〜 カタカタカタ
  川川‖    〜 /‖ _____
 川川川川___/‖  |  | ̄ ̄\ \ ←>>1-1000
   /       \__|  |    | ̄ ̄|
  /  \___      |  |    |__|
  | \      |つ   |__|__/ /
  /     ̄ ̄  | ̄ ̄ ̄ ̄|  〔 ̄ ̄〕
 |       | ̄
なんかいきなり書き込み増えてるなぁ。
>>35の言ってることは無視してさ、お勧めのエディタを教えて。
>>61
エディタといってもいろいろな種類があるけど。
63デフォルトの名無しさん:03/06/10 22:02
自分で作ったエディタ使ってる。
その名は・・・。
>>63で言う。
いまだにえディたでもねーだろ。
手めーはviも使えねーだろ。
指の使い方が脳みその活性化になることをわかれ。
65デフォルトの名無しさん:03/06/10 22:08
>>63
その名はガンダム
いやー先週のガンダムSEED35話面白かったな。ザフトのフリーダム
すさまじい火力すばらしい!
>>64
viってなに?
67デフォルトの名無しさん:03/06/10 22:21
>>46
aとbは整数型で宣言されてるから
aとbの値によって、間に入れられる数の個数が変わるぞ。
例えば2 と 4 を 入力したとき3しか入らないし。

68鬱 ◆UNFjqMweVQ :03/06/10 22:29
鬱だ
69あぼーん:あぼーん
あぼーん
>>66
DECのから始まったVIdeo tarminal Editorの略称です。
71わからずや:03/06/10 22:37
あのー。質問です。
計算式を文字列として読み込みスタックを用いて計算するプログラムに
ついて質問です。
逆ポーランド記法でスタックに入れていこうと思うのですが
7*(((6+8)*(3*6))+2)
のように括弧がついた式になるとスタックに入れる順番が分からなくなって
しまいます。
誰か詳しく教えて頂けませんか?
バーか右左がわからんのかよ。
少しは30年前のバッカス-ヌーアとかの本を読め。
最近のがきは本も調べられんのか死んでしまえ。
73デフォルトの名無しさん:03/06/10 22:47
>>61
自分はxemacs使ってるけど、まぁまぁ使いやすいよ
74デフォルトの名無しさん:03/06/10 23:02
http://etc.2ch.net/test/read.cgi/qa/1054996871/940
新スレ立てたいんだけどどう?
名スレになりそうなんだけど
>>70
ありがとです。
76デフォルトの名無しさん:03/06/10 23:10
■□□□□□■
■■□□□■■
■■■□■■■
■■■■■■■
■■■□■■■
■■□□□■■
■□□□□□■
みたいなストライクの画像を出すにはどうしたらいいでしょうか?
値を入力して、その値を横、縦の数にするので、
この数(7つ)は関係ないです。
C言語で、なるべく簡単でわかりやすいのでお願いします…。
個人的にC勉強してるんだけど、もういやになりそ…とほほ。
1.画像を用意する (画像形式は環境依存)
2.画像を表示する (使用する関数は環境依存)
偶数の場合はどうすんの
>>76
今作ってるんだけど、縦と横の値は奇数じゃないとその形はできんね。
もはやプログラム以前の問題に気づかなかった・・
>>76
何が難しいの?
printf("■□□□□□■\n"
"■■□□□■■\n"
"■■■□■■■\n"
"■■■■■■■\n"
"■■■□■■■\n"
"■■□□□■■\n"
"■□□□□□■\n");

じゃん?
素人はめんどくさいと思うのは良くない。
きちんと次元を考えろ、一次元なら面を考えろ
二次元なら体積を考えろ。体積は時間を考えろだな。がんばれば日本の
少年よためになる。かも。
8279:03/06/11 00:23
やっとできますた。
だけど長くなっちゃって書き込めない・・
8376:03/06/11 00:27
>79さん
できたんですか?!
8476:03/06/11 00:30
>79さん
分けてでも書いてくれたら嬉しいです!!!
お願いします!!!!!
バカがき、集合がわからないのかよ。
そんなことやってるから、朝鮮人になめられるんだよ。
新自前。
8679:03/06/11 00:42
ttp://www.geocities.co.jp/WallStreet-Stock/5710/2ch.txt
自分のページにアップしたんで、もし見たかったみてくらはい。
まだ初心者なんで勉強中です。
8780 != 79:03/06/11 00:42
>>81が偉そうなんでムカついた。
次元を上げるんじゃねー、下げんだよ。

#include <stdio.h>

void line(int x, int a){
int i;
a = a < x/2 + 1 ? a : x/2 + 1;
for(i = 0; i < a; i++)
printf("■");
for(; i < x - a; i++)
printf("□");
for(; i < x; i++)
printf("■");
printf("\n");
}

int main()
{
int x, y, i;
scanf("%d %d", &x, &y);
for(i = 0; i < y/2; i++)
line(x, i + 1);
for(; i < y; i++)
line(x, y - i);
}
>>87
あんたは偉いよ。でも、mein()で意味もないと
直ぐわかる、printfで下らんコードを吐き出しているだけだろ。
そんなアマグラマは雇いたくねーな。市ね。
雇いたくないとか、何言ってるんだこいつは?
てめーの下らない愚痴は日記にでも書いてろアホが。
しょうがないいな、
日本にくだらんんゲームを伝えんなよ。
場韓国人が架空のお金を取り締まれねーのか
ばかまんけいぼうを入れるな。
9176:03/06/11 01:26
>79さん
ありがとうございます!
HPの方も訪れさせていただきます。
9386:03/06/11 02:25
>主たる目的がジオシティーズ外部からの参照である使用
ああ。これに当たるか。
まあどうなるか楽しみだしほっとこう。
とりあえずindex.htmlを置けよ。
Cを知っていて,かつ、VCとかVBも知ってる人間は
少ないねえ。結局、Winとか、マークみたいななマイクロカーネール
がんばってる人も知っている人もほしい。モノリシックではなくな。
ここは一緒にCを学ぶ初心者のスレだぜ?
偉そうなことは他のスレで言えよ。

他スレのプログラマにはかなわないので
ここで下見て悦に入ってます
98名無し@沢村:03/06/11 19:53
おまいらよ、ム板のいろいろな初心者による質問を見てると、
ここで質問する初心者というやつは、単にプログラミングだけの初心者ではなく、
数学も知らない、英語も知らない、複雑な算数を考える力もない、
つまりプログラミングの初心者以前のバカが多いように見えるのは気のせいだろうか?
99デフォルトの名無しさん:03/06/11 19:58
気のせいだと思う
100デフォルトの名無しさん:03/06/11 20:09
ダイテル兄弟のテキストがお勧め
ネットとか回ってこれ一冊終わらせるとK&Rコンプできるぞ
浅く広くって感じであまり親切なテキストではないがな
>>87だけど、>>88の逝ってる意味がわからんのは俺だけか?
誰か、日本語訳きぼん。

単に、「俺にはこんなプログラム書けません」ってだけか?
>>88
俺も全く分からん。日本語が不自由なのかな?
けなすぐらいなら、お手本のソース書いてほしいね。
なんか私情をここでぶちまけてるとしか思えんね。
103デフォルトの名無しさん:03/06/11 22:19
デバッガの使い方が全然分りません。
ボーランドのTurbo・・・なんだけど。
俺の検索の仕方が悪いのか
googleで調べても無理だった。help!
104デフォルトの名無しさん:03/06/12 07:45
デバッガは初心者に扱える代物じゃないんで安心しろ
デバッガ使う前に構造体とポインタは理解しといてね
106デフォルトの名無しさん:03/06/12 22:51
独習Cを買いますた
107名無し@沢村:03/06/12 22:55
哀しいな、おまいらよ。
あがけ、あがけ。
108デフォルトの名無しさん:03/06/12 22:57
>>1
その通りだ

Cを学べ。

Javaを学ぶ前に
109デフォルトの名無しさん:03/06/12 23:19
Cマンセー!
110今日から:03/06/12 23:51
Cとやら学び始めました。
プログラミングとやらは初めてです。
配列で、変数の添え字とかいう部分で詰まった。

わからん
ハーイ、0、2、出そう、エッジ
112名無し@沢村:03/06/13 20:54
おまいらよ、よく見るとここは初心者の集まるスレではないことがわかるよ。
もちろん初心者もいることはいるが、その数は半分以下だ。
ここは何年もやってるやつが一番多く集まってきているよ。だが、そいつらは初心者よりもスキルがあるわけではない…。スキルは初心者とまったく同等だ…
ということは…?
そう…つまり…
ここはザコの集まるスレだったんだよ!!!
独習C、お勧めだと思う方、挙手願います。
114デフォルトの名無しさん:03/06/14 08:33
main関数ってどういうときに使うんですか?
User Contributed Notesもないし、よく分かりません。
おまいらよ、よく見るとここは初心者の集まるスレではないことがわかるよ。
もちろん初心者もいることはいるが、その数は半分以下だ。
ここは何年もやってるやつが一番多く集まってきているよ。だが、そいつらは初心者よりもスキルがあるわけではない…。スキルは初心者とまったく同等だ…
ということは…?
そう…つまり…
ここはザコの集まるスレだったんだよ!!!
おまいらよ、よく見るとここは初心者の集まるスレではないことがわかるよ。
もちろん初心者もいることはいるが、その数は半分以下だ。
ここは何年もやってるやつが一番多く集まってきているよ。だが、そいつらは初心者よりもスキルがあるわけではない…。スキルは初心者とまったく同等だ…
ということは…?
そう…つまり…
ここはザコの集まるスレだったんだよ!!!
116_:03/06/14 08:46
main ()

void main ()

int main (void)

どう違うの?
1000 名前:名無しさん 投稿日:2003/06/14(土) 09:401000 名前:名無しさん 投稿日:2003/06/14(土) 09:401000 名前:名無しさん 投稿日:2003/06/14(土) 09:40
>>110
添え字って、配列の規模を表したり
配列の中の特定の場所を示してるんじゃないの?
しーん
添え字ってあれだよ、アレ
名前のもっとすごいやつ
AとかBとか名前つけるだろ?
ABCDEFGって順番につけるの面倒だから
A[0]A[1]A[2]A[3]A[4]A[5]A[6]A[7]ってしたんだよきっと
あ、余計面倒だな
でも俺は数字のほうが好きだぜ

だけどな、宣言するときにA[8]でA[0]〜A[7]までの8個使えますってのはヒドイだろ
普通A[8]って書いたんだからA[8]も使えると思うじゃん
A[個数]ってことなんだろ?ひどいよ姉さん!!
122デフォルトの名無しさん:03/06/14 17:09
先生!
ポインタで早速つまづきますた。
必要性がわかりませぬ。


本百回読み直します。
まぁ人は都合のいいように物事を考えるもんだからな。

理解できない > 必要ない

と思い込みたいのですね。
124デフォルトの名無しさん:03/06/14 18:11
20個の素数を並べるというプログラムを作っているのですが、
以下のソースを書いたところ上手く動きませんでした。
どこがどう違うのか分かる方、教えてください。お願いします。

#include <stdio.h>
#define KAZU 20
int sosuucheck(int);

int main(){
int i,suuchi=0,sosuu[KAZU];
for(i=0;i<KAZU;i++){
for(suuchi++;sosuu[i]==0;suuchi++){
sosuu[i]=sosuucheck(suuchi);
}
printf("%d\n",sosuu[i]);
}
return 0;
}

int sosuucheck(int x){
int w,y=1;
for (w=2;w<x;w++)
y*=(x%w);
if(y==0)
return 0;
else
return x;
}
125124:03/06/14 18:15
すみません、タブでインデント付けていたので消えてしまいました。
わかりやすく書きます。

#include <stdio.h>
#define KAZU 20

int sosuucheck(int);

int main(){
     int i,suuchi=0,sosuu[KAZU];
     for(i=0;i<KAZU;i++){
          for(suuchi++;sosuu[i]==0;suuchi++){
               sosuu[i]=sosuucheck(suuchi);
          }
          printf("%d\n",sosuu[i]);
     }
     return 0;
}

int sosuucheck(int x){
     int w,y=1;
     for (w=2;w<x;w++)
          y*=(x%w);
     if(y==0)
          return 0;
     else
          return x;
}
>>125
for (w=2;w<x;w++)
   y*=(x%w);

ここでyがintの最大値を超えておかしくなっていると思われ。

for (w=2;w<x;w++){
   y=(x%w);
   if(y==0) break;
}

でうまくいく。このばあい、

int sosuucheck(int x){
   int w;
   for (w=2;w<x;w++)
     if(x%w==0) return 0;

   return x;
}

としてもいい。
a = i!

i[1],a[1]
i[2],a[2]
i[3],a[6]
i[4],a[24]
i[5],a[120]
i[6],a[720]
i[7],a[5040]
i[8],a[40320]
i[9],a[362880]
i[10],a[3628800]
i[11],a[39916800]
i[12],a[479001600]
i[13],a[1932053504]
i[14],a[1278945280]
i[15],a[2004310016]
i[16],a[2004189184]
i[17],a[-288522240]

32bitのintだと 16! が限界。
128127:03/06/14 19:17
ごめん15! * 16のとこもおかしいな。
もっと早く限界きてるわ。
129125:03/06/14 19:54
ご指摘いただきありがとうございます。
さっそく試してみたのですが、やはりダメでした。

int sosuucheck(int x){
   int w;
   for (w=2;w<x;w++)
     if(x%w==0) return 0;

   return x;
}

をやってみたのですが、実行結果は変更前と同じでした。
その実行結果なのですが、-858993460と20回表示されるのです。
先に書いておくべきだったのかもしれませんが、この数値になる理由がわかりません。
この数値は32bitのunsigned int型でも表現できないと思うのですが……
130デフォルトの名無しさん:03/06/14 19:58
ポインタ分からん〜。
NULLって何?
by ぬるぽ
131126:03/06/14 20:00
>>129
そうだ、もうひとつわすれてた。
sosuu[]配列が初期化されていないから、ゴミが入ってる。
そのゴミの値で判定しちゃってると思われ。
132デフォルトの名無しさん:03/06/14 20:10
おまいらはC言語を学び始めてどのくらいでファイルの操作とかが
できるようになった?
ポインタはどのくらいで?
自分の学習能力のなさに鬱
133デフォルトの名無しさん:03/06/14 20:20
C言語でポスペみたいなソフトを作れますか?
ポインタなんて意味ねーよ
関数の引数を渡すときに複製しないから速いっていうぐらいだろ?
初心者に無駄なもん教えるなよ!
135デフォルトの名無しさん:03/06/14 20:47
ま、ヘッダファイルでも作らないかぎりはポインタなんて意味ないも同然だろうよ。
せいぜいscanf関数でポインタ使う理由でも考えて悩んでろや
136デフォルトの名無しさん:03/06/14 20:55
上級者が書いたソースコードを見たらほとんどポインタが使ってあるし・・。
137136:03/06/14 21:05
ポインタとprintfを使って何か簡単なプログラムを
作ってもらえませんか?実行すると何が表示されるか、
自力で当てたいです。お願いします
>>137
int main(void)
{
int *ptr;
printf("%d",ptr);
}
139デフォルトの名無しさん:03/06/14 21:16
Hello Worldだってポインタを使っているんだけど
140デフォルトの名無しさん:03/06/14 21:18
>>138
%pにしろ
>>137
#include <stdio.h>
int main()
{
double a[] = { -1.3e33, 3.2e-13, };
double* p = &a[0];

printf("%e\n", a[0]);
printf("%e\n", *p);
printf("%p\n", p);

++p;

printf("%e\n", a[1]);
printf("%e\n", *p);
printf("%p\n", p);

return 0;
}
142>>137:03/06/14 21:18
#include <stdio.h>

int main(){
char a[10];

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

return 0;
}
未初期化の時点で…(ry
>>139
それをポインタを使っているというのなら、
VBでMsgBox "Hello World"というのも
ポインタを使っているって言っていいよな?
145デフォルトの名無しさん:03/06/14 21:19
> double* p = &a[0];

double* p = a;でいいだろ
146デフォルトの名無しさん:03/06/14 21:20
>>144
VBにポインタがあるの?
>>145
初心者に混乱させないようにしてる
>>146
あるよ?
149デフォルトの名無しさん:03/06/14 21:25
>>148
ふーん・・・ならいいんじゃないの?VBしらないけど。

とにかくprintfの第一引数はポインタなんだから、printfを使う=ポインタを使う
150名無し@沢村:03/06/14 21:32
>>124
ハゲ!!
おまいよ、自動変数は初期化しないとダメだぞ。わかるか?
初期化してないからsosuu配列にゴミがはいってるんだよ。
さもなければ、グローバル変数にするかだ。
あと、おまい、iが16になった時点で、無限ループになる可能性があるぞ。
>>150
勝手に0に初期化してほしいってだけならグローバル変数にしなくても、staticをつければよいのでは。
か、もしくは = {0};
153136:03/06/14 21:35
うわぁ。何一つ意味分からない。
相当の重症かな
printfでポインタを理解するよりstrcpyなどで考えた方が理解しやすいと思うけど
Cの教本でポインタの章の最初に出てくるサンプルは、大抵無意味なものでなんでこんな無駄なことをするんだろうと初心者に思わせてしまう。
それはダメな本
ポインタなんて難しいもんでもないだろうし
ちょろっと書いとけばいいのに。
なんか初心者に、難しいと思わせようとしてるんじゃないか
157136:03/06/14 22:01
自分のこれからの課題はポインタ・・・・
158デフォルトの名無しさん:03/06/14 22:02
http://jbbs.shitaraba.com/computer/6765
Cを勉強するならここしかない!
コピペ宣伝中
乗算とポインタの両方に同じ記号を使ったCの開発者のセンスを疑う。
160デフォルトの名無しさん:03/06/14 22:04
タシカーニ
他にも内部リンケージを持たせたいときにstaticをつけるとか。
externの逆ならinternだろうが。
162名無し@沢村:03/06/14 22:07
おまいらよ、文句を言わずにポインタを勉強しろ!!
初心者のおまいらだけだぞ。ポインタの文句を言うのは!
163デフォルトの名無しさん:03/06/14 22:09
>>162
川村先生!ポインタ教えてください。先生の文句言っていいでつか?
int *p=(int *)0x78900;
printf("%d\n",*p);
dumpプログラムとか組んでるとポインタも分かってくるよ。
デバッグもできるし。
他言語で勉強してからCに戻ってきたほうがわかりやすいよ
意味不明なc言語の仕様とポインタの概念を同時に覚えようとするのは
いきなりC++でWindowsアプリを組もうとするのに似ている
167名無し@沢村:03/06/14 23:08
>>163
おまい、ポインタが変数のアドレスを指すことはわかるな?
ポインタはそれがすべてだが、わからんか?
おまいは、ポインタがわからんのじゃなくて、ポインタの表現がわかるまい?どうだ?
おまいよ、ポインタの表現を理解するには、順列と組み合わせよ。わかるか?
ちうのはおまい、ポインタの表現はとても多くて一冊の本には書ききれないからよ。
だから順列と組み合わせなわけよ。
まあ、ポインタの表現が一冊の本に書ききれないほどとても多いということが、初心者のポインタ理解をさまたげる最大の原因なのだがな…
おまい、int data[2][5];という2次元配列があったとき、
data[0][0]が配列の最初の値を指すことはわかるな?
では、*dataはどうだ?これは配列の最初の住所を指すのよ。
では、**dataはどうだ?これは配列の最初の値を指すことにもどるのよ。
では、*data+1はどうだ?これは配列の次の住所を指すのよ。
では、*(data[1])はどうだ?これはdata[1][0]の値を指すのよ。
では、&*dataはどうだ?これは配列の最初の住所を指すのよ。
では、&*data[0]はどうだ?これは配列の最初の住所を指すのよ。
では、&data[0]はどうだ?これは配列の最初の住所を指すのよ。

このようにポインタ表現はとても書ききれないほど無数の順列・組み合わせがあるから、ひとつひとつ覚えながら、ポインタを理解していけ!!
168デフォルトの名無しさん:03/06/14 23:13
>>167
へ〜そうなんだポインタってすごいね
ビジンダーのほうがすごいよ
>>167
変数以外もポイントしますが?
おまえこそポインタ理解出来てないんじゃないの?(w
171デフォルトの名無しさん:03/06/14 23:43
ポインタって同じ意味のものを色々な書き方ができるけど
コレが正式な書き方だ!!っていうのはあるのですか?
172デフォルトの名無しさん:03/06/15 00:05
>>171
例えばどんな?
173デフォルトの名無しさん:03/06/15 00:23
> 一緒にCを学ぼう
乱交の予感
>> 169
漏れはボインダーだと思ってたYO!
>>167
おまいにはここの掲示板に来て欲しい
http://jbbs.shitaraba.com/computer/6765/
176デフォルトの名無しさん:03/06/15 19:09
あぁぅ。age
初めてポインタ便利だと思ったのは
線形リスト作ったときかな
ポインタ、リスト、配列、文字列、構造体・・・
こういったもんはそれぞれ別々に理解しても面白くも何ともない。
連携することでいろんなことが実現できるようになる。

で、その傾向はC++でさらに強くなっていくんだモナ。
179デフォルトの名無しさん:03/06/15 23:41
ここでCの課題を出さない?
みんなで課題を出し合おう。
180デフォルトの名無しさん:03/06/16 00:02
 まもなくここは 乂200取り合戦場乂 となります。

      \∧_ヘ     / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ,,、,、,,, / \〇ノゝ∩ < 200取り合戦、いくぞゴルァ!!       ,,、,、,,,
    /三√ ゚Д゚) /   \____________  ,,、,、,,,
     /三/| ゚U゚|\      ,,、,、,,,                       ,,、,、,,,
 ,,、,、,,, U (:::::::::::)  ,,、,、,,,         \    オーーーー   /
      //三/|三|\     ∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
      ∪  ∪       (    )    (     )   (    )    )
 ,,、,、,,,       ,,、,、,,,  ∧_∧∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
      ,,、,、,,,       (    )    (    )    (    )    (    )


200
200なんてイラネ
課題
AIを作れ
184名無し@沢村:03/06/16 00:42
おまいらよ、おれは上級者よ。
おまいらよ、上級者のおれがポインタを教えてやるよ。わかるか?
おまいらよ、ポインタには変数の住所を指すもの、構造体の住所を指すもの、関数の住所を指すものなどがあるよ。
おまいらよ、変数や構造体や関数を配列にした場合、ポインタに1を加えると、次の住所に移るよ。
だが、次の住所は前の住所より番地が1だけ増えるのではないぞ。わかるか?
おまいらよ、ポインタに1を加えると、変数の場合は変数の型のサイズだけ増えるよ。
32ビットの場合、charなら1、intなら4、longなら8というふうにだ。
おまいらよ、ポインタに1を加えると、構造体の場合は構造体メンバの型のサイズの合計だけ増えるよ。
struct tinpo{
int sex;
int manko;
char siri;
}
の場合、intが4、intが4、charが1で、この構造体のサイズは9だから9増えるよ。
おまいらよ、関数の場合は、その関数の型のサイズだけ増えるよ。
int sex(long a,lng b)
{
int x;
double y;
long z;
return x;
}
の場合、この関数の型はintだからサイズは4だ。
おまいらよ、この関数には引数や関数の中の変数にもっと大きなサイズのものがいっぱいはいっているが、それは関数のサイズには関係ないことを知れ!!いいか!!
まあ、おまいらに、ポインタというものをちょっくら手ほどきしたけど、どうだったかな?
おまいらよ、これはポインタのほんの一部で、まだまだややこしいことが山のようにあるぞ!!
おまいらには、それが乗り越えられるかな?
>>184
つっこんであげない
AIってなに?
荒いさんを無視すると美鳥に起こられますよ
AIがとまらない
189デフォルトの名無しさん:03/06/16 01:18
素子ゲット
アントニオ猪木
>>184
ほとんどわからんがチョト参考になった。まりがとう。

>>183
#include <stdio.h>
main()
{
printf("私はAI、歌も歌えます。デ〜イジー、デ〜イジー答えておくれ〜♪");
}
昔人口無脳ってのがあったな
先生!intのポインタに1を足せば4も増えてしまいますが
1とか2とか3だけ増やすことはできないですか?
>>193
char *にキャストすれば。
>193
わざわざchar単位で弄る理由がいまいち分からない。
何がしたいのか教えてくれまいか。単に興味本位?
指定したバイト数コピーとか。memcpyみたいに。
>>192
せきじん・くちなし・のう?
は?
199デフォルトの名無しさん:03/06/19 15:28
Cの演習問題出してください。
お願します。
30分以内に完成させます。
まだポインタは習ってないんで、それはパスです。
さぁ、来い。
完成できなかったら漏れは裸で喫茶店行ってきます
200デフォルトの名無しさん:03/06/19 15:35
保守
201199:03/06/19 15:40
おながいします
>>199
Cで未定義となるコードを書け
203デフォルトの名無しさん:03/06/19 15:56
3秒間隔で文字を表示するのって可能ですか?
>>203
厳密でなくてよいなら↓でできるかも。

#include <stdio.h>
#include <time.h>

int main()
{
clock_t start;

while(1){
printf("文字\n");
start=clock();
while((double)(clock()-start)/CLOCKS_PER_SEC<3.0);
}

return 0;
}
>>199
じゃ,パスカルの三角形
206デフォルトの名無しさん:03/06/19 18:38
>>199


−(5+2)


この結果を出力するプログラムを書きなさい。
1 = 1
−(5+2) = −7
3 = 3
>>206
#include <stdio.h>
main(){
printf("7");
printf("−");
printf("3")
}
209208:03/06/19 18:51
改行忘れた・・・
210デフォルトの名無しさん:03/06/19 18:53
>>208
";"が抜けとる。
>>207
おみごと。
ハゲシク ワロタ
212デフォルトの名無しさん:03/06/19 22:39
>>208
関数の返り血が分からない。
213シンジ:03/06/19 22:42
誰か知りませんか? IPの隠し方
214デフォルトの名無しさん:03/06/19 22:45
I〇
>>213
誰から隠したいの?自分?
保守
217126 ◆Mkc7wQfGRw :03/06/30 19:37
>>174
禿同

話変わるけど、携帯ゲーム機"プレイステーションポータブル(PSP)

 このPSPは、新規格UMD(ユニバーサルメディアディスク)というディスクを利用しており、そのサイズは直径6cmととても小さい(CDの半分程度)。 容量は1.8GBとなっている。
画面は4.5インチのTFT液晶で、480px x 272px(16:9)。MPEG4の再生やポリゴンも表示可能。外部端子として、USB2.0とメモリースティックコネクタが用意されているという。

この際、スク・エニもGBAからPSPに乗り換えたらどうでしょう。スク・エニの場合、PSPの方が実力を出しやすいような気がするんですが。
任天堂が携帯ゲーム機で圧倒的なシェアをもってるなら、スク・エニがそれを崩してみるのもおもしろいですし。かつて、PS人気の引き金となったFF7のように。

いきなりこんな事書いてスマソ…
GBAと比べてみてどうなんですかね?シェアの事は抜きで。
218デフォルトの名無しさん:03/07/05 19:13
質問です
いろいろ調べましたがいまいちmallocの使い方が解りません。
たとえば、int型配列を作るとき、実行時によって配列のサイズが変わるときなどに
mallocを使うわけですが、以下の場合どのようにmallocを使えばよろしいのでしょうか
愚問ですが、どなたかご教授お願いいたします。

int *array;
int index = 0;
int num = 1;


while(num != 0)
{
scanf("%d",&num);

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

array[index] = num;
index++;

}

printf("入力した整数 :");

for(int i = 0; i < index; i++)
{
printf("%d, ",array[i]);
}

free(array);
219デフォルトの名無しさん:03/07/05 19:44
LinuxでC言語を勉強しているのですがソース上に日本語コメントを
書き込んでいいのか困っています。
RedHat7.1
gcc 2.96
どなたか教えていただけませんか。
いいのか困ってます
221デフォルトの名無しさん:03/07/05 20:08
>>218
array = (int*)malloc(sizeof(int));
これだと、int一つ分(という表現で良いか?)しか領域を確保していません。

たぶん、ループ毎にint一つ分配列を拡張したいんでしょ?
その場合こうじゃないかと。
array = (int*)realloc( array, sizeof(int) );

mallocの場合、
int n, i;
printf("何回入力しますか?:");
scanf("%d", &n);
array = (int*)malloc(sizeof(int)*n);
for ( i = 0; i < n; i++ ) {


てな感じじゃないかな。
ミスった。
ループをカウントして
array = (int*)realloc( array, sizeof(int)*count );
ってしておかなきゃ。
素直にリスト構造使おうよう。
>>221-222
reallocの戻り値と第一引数を同じものにするのはまずい。
p=realloc(array,中略);
if(p){
array=p;
}
else{
エラー処理
}

こうしないと、reallocに失敗した場合に元の領域を見失うことになる。
225218:03/07/05 22:39
レス有難う御座います。

>>221 >>224
あのやり方だとmalloc()ではその都度の配列の増加は無理なんですね。
ご教授通り、realloc()でやってみようと思います。

>>223
リスト構造もよく解っていないので調べて試してみます。

皆さん、有難う御座いました。
226デフォルトの名無しさん:03/07/05 22:46
突然ですが、質問があります!

for ( i = 0; !( low[i] <= result); i++ );

// 処理;


↑のようなfor文は、
どんな処理がされるんですか?
>>219
他人と共同開発とかじゃなければ、好きにすればいいと思われ。
共同開発だったら話し合って決めればいいだけだと思われ。
>>226
i = 0 から開始して、
配列要素 low[i] が result 以下の間ループさせる。
iはステップ1で増加
for ( i = 0; !( low[i] <= result); i++ );

for ( i = 0; low[i] > result; i++ );
230デフォルトの名無しさん:03/07/05 23:20
>>227
ご返答ありがとうございます。
制御系でC言語を使用している人に聞くと、コメントに日本語はだめとか言われ
困ってました。コンパイラが全然違うのかな?
231デフォルトの名無しさん:03/07/06 00:04
>>228
ご返答ありがとうございます。
C++言語って思ったより奥が深いようです。
ドキュソな質問でスマソ。


「*」と「&」の使い分けがどうも良くわかりません。
「&」は配列か変数にしか使えないってことなんでしょうか?
整数にも使えるよ
1*1 -> 1
1&1 -> 1
ちなみに'*'と言うのは積で'&'と言うのは論理積
一見、両方とも積と書いてあるので、同じっぽいけど
実際に行われる事は、かなり違います
詳しい事は、ぐぐって下さい
235232:03/07/06 00:24
分かり難くてすいません。

ポインタの「*」と参照の「&」の違いが良くわからなくて。。
ってか、もしかして、かなり的外れな勘違いをしているのか、漏れは。
>>235のレスを見て良心が痛む今日この頃…
237232:03/07/06 00:32
分かってて書いたのかよ〜(`(`(ヽ(`Д´)ノ ウワ・ ウワ・ウワ・ウワ・ウワアァァァン!!
(=゚ω゚)ノ お詫びに、なんか解決のヒント教えれ。
238ヒント:03/07/06 00:42
>>237
char c; /* char型である変数cを用意 */
char *p; /* char型へポインタである変数pを用意 */
p=&c; /* pに変数cのポインタ(アドレス)を代入 */
*p='A'; /* p(ポインタ)が指し示す先に'A'を代入 */
ポインタを用意する時だけ例外的考えれば
*と&の違いは、比較的楽に憶えられる
239232:03/07/06 00:56
>>238
なるほど!!
たぶん理解できました。

char *p;
はできるけど、

char &p;
はできないと。

char 1;
ができないのと同じってことか・・・・・な?
&pは、あくまでアドレスを返すだけなんだね。

もう一度ポインタを勉強し直せば、もうちょっと理解できそうな気がしてきました。
ありがとうございます。。
240デフォルトの名無しさん:03/07/06 00:56
今、乱数を10個発生させて、x[1]≦x[2]≦・・・・・・x[10]
のように並びかえたのですが、これを

x[10],x[1],x[9],x[2],x[8],x[3]・・・・・
のように並び変えるにはどうしたらいいでしょうか?
頭がグチャグチャになってしまったので・・・
よろしくお願いします。
配列をもう一個つくる。
N個の乱数をつくったとして、

x[N],x[1],x[N-1],x[2],x[N-2],x[3]・・・・・

と並べ替えるには、
先頭から2個ずつセットで考えて、
添え字の合計は常にN+1 でなんとかなるんじゃないのか。

Nが偶数か奇数かで場合わけが必要だが。
>>240
void foo(int *ip,int size) /* size >= 2 */
{
  int x=ip[size-1];
  memmove(ip+1,ip,sizeof(int)*(size-1));
  ip[0]=x;
  if(size>=4)foo(ip+2,size-2);
  return;
}
244デフォルトの名無しさん:03/07/06 02:56
ちょっと質問なんだけどさ
char *a
と言う変数に対して
&a
はどういう意味になるよ。
245デフォルトの名無しさん:03/07/06 03:06
>>244
ポインタのアドレス
型はchar **
>>245
ポインタのアドレスというのは
変数の中身のアドレスではなくて変数が存在するアドレス
そのものという理解でよろしいでしょうか?
247デフォルトの名無しさん:03/07/06 03:31
入力ファイルの中身が
検索ファイルに何件あるか検索して
その結果を出力ファイルに出力する
プログラムってどうすればできるんですかね。
キーボード入力で
ディスプレイ出力だったら
できるんですけど、ファイルが絡むとよくわからないです。。
できればご教授願えませんか?

>>246
char c: /* char型 */
char *a; /* char型へのポインタ */
char **b; /* char型へのポインタへのポインタ */
a=&c; /* 変数cのポインタ(アドレス)をaに代入 */
b=&a; /* 変数aのポインタ(アドレス)をbに代入 */
**b='A' ; /* 変数bが指し示す先をポインタ(アドレス)とし、その指し示す先に'A'を代入 */
>>247
入出力を行う前に↓を実行すれ
stdin=freopen("入力するファイル名","r",stdin);
stdout=freopen("出力するファイル名","w",stdout);
250デフォルトの名無しさん:03/07/06 03:55
>>248
ポインポインへ使う物だったのですね。
どうもありがとうございました。
つまらない物ですけどどうぞ受けと下さい。

ttp://www.adultchatrooms.us/dah/024h/009.jpg
251_:03/07/06 04:05
252秀治:03/07/06 04:07
>>250
つまらん、お前のやる事はつまらん
253デフォルトの名無しさん:03/07/06 04:13
コンソールプログラムの画面を
真っ黒に戻したいんですけどどうしたら出来ますか?
ポインタのポインタは文字通り、ポインタを指すためのポインタだよ。
これが無いと、ポインタの配列は作れないんだよ。
二次元以降の配列も作れなくなっちゃうよ?
さて、なぜでしょう。

>246
>変数の中身のアドレスではなくて変数が存在するアドレス
ちょっと違うと思う。
「変数の場所を指しているポインタ」のアドレス。
これも文字通りだと思う。
>>253
BIOSを叩いて電源を落せ
256デフォルトの名無しさん:03/07/06 05:40
>>253
int main()
{
    while(1)printf("\n");
}
257デフォルトの名無しさん:03/07/06 05:56
大学ヤリコンサークルを主催し、レイプを繰り返したクズ共とそいつらに
買われていた雌豚達。

■和田真一郎(早稲田大学2文2年)
■沼崎敏行(早稲田大学3年)
■小林潤一郎(早稲田大学4年)
■小林大輔(学習院大学経済1年)
■藤村翔(日本大学3年)
■桑原耕二(かもめプロペラ)

●蜂矢真代(恵泉女子大1年)
●浅見理沙(フェリス女学院2年)
●塚原綾香(学習院1年)
●小湟祐子(学習院1年) 

この社会のゴミの社会復帰を許してはいけない。こいつらの名前を
各板にコピペして知らせてくだちい
warはウォーなのにwarningはワーニングなのはなぜ?
ワーニンだから
>>253 ↓これでできるよ。

printf("\x1b[2J");

意味は忘れた。誰か教えて。
261デフォルトの名無しさん:03/07/06 10:34
printf(
"\x1b" //エスケープ文字を16進数で書いた文字列。
"[2J" //エスケープ文字の後に送ると使えるDOS端末コマンド(画面消去)。
);
262_:03/07/06 10:36
>>261
ありがと。
>>254
ポインタ配列が無くても、多次元配列は出来るだろ
265デフォルトの名無しさん:03/07/06 15:59
じゃあポインタのポインタがポインタでなく
配列としての意味合いでもって定義されてる場合は
ポインタがポインタとして機能するために必要なポインタを
指し示すポインタはポインタとして新たに再定義し直さなければ
これがポインタとしてどこへ逝ってしまったのかということが
最も重要な課題としての意義を呈してくるような雰囲気を醸し出してくる
わけなのでしょうか。
>>265
そんなこと言ってもだまされないぞ
>>265
再定義し直す必要はない。それでもちゃんと管理できるという内容の回答が
>>264 にあるだろ。
268デフォルトの名無しさん:03/07/06 20:35
みなさんC言語の基礎ってどのくらいで覚えました?
269直リン:03/07/06 20:38
270デフォルトの名無しさん:03/07/06 20:39
>>268
おまいは?
271デフォルトの名無しさん:03/07/06 20:40
>>268
配列とポインタの関係がわかるまで1ヶ月。
1ヶ月みっちりやってたけど。
272デフォルトの名無しさん:03/07/06 20:53
僕はこれから3ヶ月を目標に集中してやるつもりです。
とりあえず参考に聞きたかったのでありがとうございます
まぁ個人差があるわな
>>268
配列、ポインタ、関数、ファイルアクセスなど入門書一通りで2週間ぐらい
BASIC、アセンブラ、FORTRAN、COBOLをやってたからあまり苦労なし

関連知識込みなら3ヶ月ぐらいでちょうどいいんじゃねーのかな
基本情報でも受験するの?
前提知識の有無は大きいわな
276268:03/07/06 22:19
プログラミング知識はほとんど無しです。
秋に基本情報受ける予定でいます。
合格ラインまで持っていけますかね?
>>276
無理でしょう。
氏ぬ気でがんがれ
漏れは大学受験と被ったが両方いけた
当時はおもしろくて仕方がない年頃だったので
通学時に情報処理の辞書とか読んでたよ
ポケコンでプログラミングして電車で変な目で見られたりもしたな
3年になると授業中に他の科目をコソーリやってても何も言われない
学校だったのが幸いしたのかも
279268:03/07/06 22:49
>>278
これから氏ぬ気でがんばります。
ありがとう
280デフォルトの名無しさん:03/07/06 22:52
多分
試験始まって30後の退出可能時刻にぞろぞろと抜け出す組に加わるのがおち・・・
281デフォルトの名無しさん:03/07/08 15:58
Cのエスケープシーケンスで質問があります。
以前,PC98で作成していたソースをDOS/Vでコンパイルして実行したのですが、
画面色の反転・色変更等が出来ませんでした。
多分
"\x1b[x...xm"
"\x1b[>1h"
"\x1b[0J"
等だと思うのですが,それに変わるようなエスケープシーケンスはDOS/V版で
あるのでしょうか?
282デフォルトの名無しさん:03/07/08 17:27
おれ。こないだ受けたが見事玉砕。Cの問題はわかったのだが
ほかんとこでうーうーうなってしまった。
昨日からC言語を始めた者ですが、どうも分からないことがあります
int *unko[適当な数xyz] = {適当な値,適当な値,適当な...};
のようにして作ったポインタの配列を、別に作っておいた
int *toto[xyz];
に内容をコピーするにはどうすればいいのでしょうか?
また、配列自体の参照を別の配列の一室に入れることは可能でしょうか?
そして、その逆も可能でしょうか?(一室から配列を復元する)

ちなみに、ここで使う配列は全てポインタの配列です
>>281
OS依存

>>283
memcpy(toto,unko,xyz);

int **hoge[SIZE];
hoge[i] = unko; /* 参照じゃなくて、ポインタの配列先頭へのポインタ */
285284:03/07/08 18:49
間違えた。

memcpy(toto,unko,xyz*sizeof(int*))

が正しい。
ありがとうございます
なんとか出来ました

ところで、
int x_x = 800;
int array[x_x];
のように、変数で配列の大きさを決めることは出来ないのですか?
「定数式が必要」などとエラーメッセージが。。。
287デフォルトの名無しさん:03/07/08 19:22
>>286
C99に対応したコンパイラを使いましょう
C99っていうものがなんなのかはよく分かりませんが、
ぐぐってみた所、borlandのコンパイラは対応しているようなことが書いてある文章がみつかりました
オプションでもあるのかな。。。
それともFreeのやつではダメなのかも
最新版のMinGWでコンパイル出来たよ。

main(){
int size = 100;
int a[size];
}
>MinGW

ってコンパイラなんですか。勉強になったYO
MinGWのgcc.exeね
すみません。

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

の詳細を教えていただけませんか?
()内が良く分かりません。
int argc 引数の数
char* argv[] 引数の値
>>293
Cの引数とコマンドライン引数の区別せんとなんか誤解を招くぞ。
二日ほど前にC言語を始めたばかりなのですが
初心者向けサイトを回っていると

=========いちばん===========
#include<stdio.h>
main()
{
     printf("Hello World\n"); /*Hello Wordと画面に表示させ改行する。*/
}
========================

というのと

=========にばん============
#include<stdio.h>
main()
{
     printf("Hello World\n"); /*Hello Wordと画面に表示させ改行する。*/
}

return 0;
========================

というのを見かけます
二番の方はそのままコンパイルしてもエラーはでないのですが、
いちばんの方だと「W8070 関数は値を返すべき(関数 main )」と言われます
ぐーぐるで調べた結果コンパイル自体はできてると言うことが分かったのですが、
初心者向け文章で書いているいちばんの内容は
最初からエラーが出る物として書かれているのでしょうか?
それとも環境次第ではエラーは出ないのでしょうか?
教えてください
296名無し@沢村:03/07/12 23:45
初心者がCを学ぶのはいいことだよ。

http://jbbs.shitaraba.com/computer/7294/
297デフォルトの名無しさん:03/07/13 00:44
ι(´Д`υ)
298ナナシ:03/07/13 02:33
はじめてきました・・・・自分もここで勉強してきます。
>>292
そのように書くと
MS-DOSまたはシェルなどで作ったプログラムを実行する時に
プログラムの外から値を入れてやることができます。
***.exe 引数1 引数2
みたいに書きます。
>>295
main()
普通はこう書くと
int main(void)
と同じ意味になります。
コンパイラによるかもしれないけれど。
>>298
アホですか?
300デフォルトの名無しさん:03/07/14 20:54
>>292
argc/argument count/引数の個数(直訳)/引数の個数(意味)
argv/argument vector/引数ベクトル(直訳)/引数のポインタ配列(意味)
ベクトルはプログラミング言語の世界であまりはなじみのない言葉ですが。
以前はCのポインタ配列のようなものをかつてベクターテーブルと
いっていました。要するに矢印(ベクトル)からなるテーブルといった意味です。

プログラミング言語ではよく省略形の英語を使いますが、その非省略形の英語
で覚えておくと何かと便利です。
301デフォルトの名無しさん:03/07/14 20:56
ベクター=配列 じゃないの?
配列はこの世界ではArrayと訳されるな
303デフォルトの名無しさん:03/07/14 20:59
>>302
まあ普通はそうだけど、STLのvectorなんかまんま配列でしょ?
304デフォルトの名無しさん:03/07/14 21:42
家でC言語を勉強したいと思っているんだけど、
windows環境ではどのようなソフトを入れればいいんですか?
今日電気屋で見てきたら
Microsoftから出ている
Visual C++ .NET Standard 2003
ってのがあったんですが・・
305デフォルトの名無しさん:03/07/14 21:47
サンプルムービーを集めたぞ。
http://www.k-514.com/sample/sample.html
  _、_
( ,_ノ` )y━・~~~ 見たらどうだ・・・
306_:03/07/14 21:49
>>304
LSI C-86試食版
308300:03/07/14 22:24
>>301
ここでいうargvのvectorはarrayと同じ意味みたいですね。
ご指摘ありがとう。

# トロント大学のノートから
# http://www.dgp.toronto.edu/~ajr/209/notes/argv.html

"argc" stands for "argument count". It is the number of elements
in "argv", "argument vector". (While "vector" and "array" mean
different things in java, traditionally they are synonyms.)

つまり int main(int argc, char**arga) でもよかったのだな。
>>301
JavaのVectorはListです。
>要するに矢印(ベクトル)からなるテーブル

311300:03/07/14 23:17
>>310
interrupt vector tableのようなものと思ってたんですよ。今まで。
ここでいうvectorはpointer(矢印)です。
つまり、私の今までの解釈ではvector<>arrayではなくてvector=pointer
だったのです。ハイ。
312292:03/07/15 01:06
教えてくださった方々、ありがとうございます。
胸につかえていたものが取れたような感じです。
313山崎 渉:03/07/15 09:40

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄
>>295
main 関数の return は、そのプログラムが終わったときに返される値。
例えば、エラーで終了したのか、正常に終了したのかの判別に使われたりする。

ちなみに、エラーは、それではコンパイルできませんという意味で、
ワーニングは、問題あるけど、コンパイルしちゃうという意味。
エラーレベルは、オプションで変えられる。
315ナナシ:03/07/17 23:56
コマンドラインでGUIのプログラムをコンパイルするには
どうしたらいいでしょう・・?
コンパイラはフリーのBCCです。
-W
317ナナシ:03/07/18 02:04
>>316
あ、できました。
ありがとうございます!
318山崎 渉:03/08/02 02:58
(^^)
319デフォルトの名無しさん:03/08/05 03:03
Vectorって、ベクトルなんですけど・・・。
320>>307:03/08/05 03:58
16bitはやめとけ
bcc で。
321山崎 渉:03/08/15 16:02
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン
アントニオ猪木
323デフォルトの名無しさん:03/08/21 13:48
C-machineでグラフを書きたいんですが、例のソースを提示してくれる人いませんか。
setline関数を使うらしいのですが。。。
324デフォルトの名無しさん:03/08/21 19:25
>>12
ウザかったので荒らしときました
Cでブラックジャックを作ってみたんですが、
山が所々あるので、修正して頂けないでしょうか。
1、21以上でも勝利してしまうところ。
2、プレイヤー側のみ、合計が21を超えたとき、Aがあった場合、
  それを11にするか1にするかの選択。
3、元々本のを基にして作ったんですが、最初の10ポイント(コイン)が
  負けたら減り、勝ったら増え、どちらかのコインが尽きたらそちらの
  負け。という設定が出来ていない。

それ以前にソース出そうにも長すぎて入らないという事態に…。
何かいい方法無いかな…。
あぷろだにあげればよかんべよ。
その手があった…(死

http://kari.to/upload/index.cgi

此処にアップロードしておきました。
「1291.c」って奴です。
どうぞ宜しくお願い致します。
正直勉強不足
とりあえず、ifの使い方を勉強しましょう。
了解しました。
返信有難う御座いました。
331デフォルトの名無しさん:04/05/18 16:50
printf文で"0.123e+004"と表示する方法を教えてください。

a=0.123e4;
printf("%e\n",a);だと、1.23e+003と表示されてしまうんです。
printf("0.123e+004");
ヘッダファイルがたくさんincludeされてるとソース中にでてくる構造体や関数が
どのヘッダからきてるかいちいち調べるのが面倒なんでなんか簡単に
調べる方法ってないですか?
ctags
etags
grep
>>334
やっぱりお約束なものしかないのね
grepでコツコツがんばりますわ
336デフォルトの名無しさん:04/05/27 16:16
大学ででた問題なんだけど
int hai[30];についての問題
0から99の範囲の数を30個、関数rand()を使って入れて、その値を
表示させ、そしてその数を降順に並べ替えるという問題。

難しくてわかりません。誰か解答してくれませんか?
337デフォルトの名無しさん:04/05/27 16:20
質問があります。
Ctrl+Zでプログラムを終わらせる、という課題が出たのですが
どのように指示すれば良いのでしょうか?
アドバイスよろしくお願いします。
宿題は宿題スレで質問しましょう
339デフォルトの名無しさん:04/05/27 23:58
はじめまして超初心者です
疑問ですが

ヘッダーファイルにあるdefine定数を読み込む時、その位置(ディレクトリ)を示すパスはどこで設定するのでしょうか?
ヘッダーファイルにあるdefine定数を読み込む時、@がある時とない時ではどう違うのか?
違うヘッダー名で同じ定数名があった場合、どちらか一方の定数を読み込みたいときどうすればいいのでしょうか?
340デフォルトの名無しさん:04/05/27 23:59
はじめまして超初心者です
疑問ですが

ヘッダーファイルにあるdefine定数を読み込む時、その位置(ディレクトリ)を示すパスはどこで設定するのでしょうか?
ヘッダーファイルにあるdefine定数を読み込む時、@がある時とない時ではどう違うのか?
違うヘッダー名で同じ定数名があった場合、どちらか一方の定数を読み込みたいときどうすればいいのでしょうか?
>>340
プラットホームを教えてください。