2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

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

1 :枝マ面:03/06/07 19:11
ここで一緒にCの勉強をしましょう。
お互いに問題を出し合うのもよし、質問するのもよし。

2 :デフォルトの名無しさん:03/06/07 19:12
死ね(^-^*)

3 :デフォルトの名無しさん:03/06/07 19:14
<スレジャックのお知らせ>
ここは漏れのスレになった。
おとなしく逆立ちして、枝豆食え

4 :デフォルトの名無しさん:03/06/07 19:28
もちろんビタミンCだろ

5 :デフォルトの名無しさん:03/06/07 19:36
(=゚ω゚=)

6 :デフォルトの名無しさん:03/06/07 19:38
http://members.tripod.co.jp/naoki20000/sample1.txt

7 :デフォルトの名無しさん:03/06/07 19:40
つーかレスすんな。

8 :デフォルトの名無しさん:03/06/07 19:49
 _, ._
(・∀・) エー

9 :預言者:03/06/07 20:01
http://elife.fam.cx/mfg/

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/

したらばで借りてみますた。
叩かれそうなので、独立しようや

15 :デフォルトの名無しさん:03/06/07 20:59
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
http://homepage.mac.com/norika27/

18 :デフォルトの名無しさん:03/06/07 21:29
"0123456789ABCDEF"[n%16]

19 :デフォルトの名無しさん:03/06/09 18:36
http://jbbs.shitaraba.com/computer/6765/
Cの初心者ならここに来るしかない!
質問、雑談何でもOK!
初歩的なことでももちろんOK!
もちろん、上級者の皆様にも来ていただきたいです

20 :デフォルトの名無しさん:03/06/09 22:11
勉強するなら「猫でも分かるプログラミング」がいいと聞いた。
ただ、但し書きの
――――コンピュータ等のファイルに保存することを禁じます
これだけなんか納得がいかない。著作権の主張?


21 :デフォルトの名無しさん:03/06/09 22:13
>>20
なっとくしろ。不特定多数に公開されているサイトでも著作権はある。

22 :デフォルトの名無しさん:03/06/09 22:24
> ファイルに保存することを禁じます

ここが気に入らない。わざわざキャッシュを無効にして見ろってか。

23 :デフォルトの名無しさん:03/06/09 22:25
まぁ慈善事業じゃないんだから、しょーがねーべ

24 :デフォルトの名無しさん:03/06/09 22:57
http://www9.plala.or.jp/sgwr-t/
俺も始めたばかりの初心者。↑で勉強しようと思う。
BCC+Cpadです。

25 :デフォルトの名無しさん:03/06/09 23:01
漏れもそこで便巨した。
直林はやめたほうが・・・

26 :デフォルトの名無しさん:03/06/09 23:03
>>25
なんで?

27 :デフォルトの名無しさん:03/06/09 23:16
マナー

28 :デフォルトの名無しさん:03/06/09 23:23
はぁ?

29 :デフォルトの名無しさん:03/06/09 23:24
>>20
初心者向けのプログラムで著作権を主張するなんてその本のレベルが疑われ
ますね。それとも、たかだか100行に満たないプログラムにいったいどんな凄いソースが
書いてあるのか???

30 :デフォルトの名無しさん:03/06/09 23:25
>>28
はぁ?はぁ?

31 :デフォルトの名無しさん:03/06/10 01:08
>>27
ウェブを冒涜するような発言だな。

32 :デフォルトの名無しさん:03/06/10 18:49
エディタはなにを使っていますか?
ぼくちんはメモ帳です。
お勧めのエディタがあれば教えてください。

33 :名無し@沢村:03/06/10 20:15
おまいらよ、これからC言語を学ぶなら、アスキーの「C言語を256倍使うための本」ってのがおすすめだぞ!!

34 :デフォルトの名無しさん:03/06/10 20:21
>>32
xyzzy

35 :デフォルトの名無しさん:03/06/10 20:25
いまさら化石化したCとかC++とか、コンピュータ言語は
貧乏人が使う言語だな。日本人がそのようなことやっていたら
生き残れない。もう、つまんないこと止めよう。

36 :デフォルトの名無しさん:03/06/10 20:34
いまから、この方面についての識者である35が、
プログラミング言語の未来について語ってくれま
す。拍手でお迎えください。どうぞ!

37 :デフォルトの名無しさん:03/06/10 20:52
>>35
そんなことないよ。今でもCの仕事はあるし現に俺ETCのプログラムCで作ったよ。
CやC++の普及率なら今すぐ使われなくなったとしても、すでにあるプログラムの
資源を有効に使うって会社があるし、いまさらCで作ったプログラムをほかの言語で
わざわざ書き直さないよ。フォートランやコボルを今でも仕事に使っている人いるよ
(パスカルは微妙だな)
PS
35の人はVBしか使えないと見た!

38 :デフォルトの名無しさん:03/06/10 20:54
独習Cを使ってる奴はいねえか〜?

39 :デフォルトの名無しさん:03/06/10 20:56
まず第一に小泉総理はCもC++もしらない。
ブッシュ大統領も知らない。ミッテラン大統領も知らない。
フジモリ大統領も知らない。こんなもの、腐れ言語だろう。
草履を編んでいたほうが良いな。

40 :デフォルトの名無しさん:03/06/10 20:59
ミッテランっていつの時代だよ。
ちなみにミッテランはC使い。

41 :デフォルトの名無しさん:03/06/10 21:01
ミッテランって誰???
どこの国の人?

42 :デフォルトの名無しさん:03/06/10 21:02
フランスだろ

43 :デフォルトの名無しさん:03/06/10 21:10
けっ、バカがCとかC++使い出すと、
後始末が出来ねーんだよ。史ねバカぷろのアマグラマ。
あふぉの後始末が大変なんだよ。javaとかj#とかバカ向き言語
使えや。自分でメモリリーク起こすやつは。バカアマグラマはいらん。
外人使ったほうが安上がり。日本人はCは使うなバカ。

44 :デフォルトの名無しさん:03/06/10 21:11
             /ヽ       /ヽ
            / ヽ      / ヽ
  ______ /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
:・゜゚・*:.。..。.:*・゜(゚∀゚)゚・*:.。. .。.:*・゜゚・*
・゜゚・*:.。..。.:*・゜(゚∀゚)゚・*:.。. .。.:*・゜゚・*

48 :デフォルトの名無しさん:03/06/10 21:24
>>46
テキストのprintfの使い方を見てください。

49 :46:03/06/10 21:24
>>38
画っ子でつかってまつ

50 :46:03/06/10 21:26
>>48
申し訳ないんですが、おっしゃっておられる意味がまったく分かりません。
やめたほうがいいですか?

51 :デフォルトの名無しさん:03/06/10 21:28
>>50
あなたの持っているC言語学習の参考書でprintf()関数の使い方を調べてください。

52 :デフォルトの名無しさん:03/06/10 21:28
>>45
独習Cなら参考書としては並の厚さじゃない?

53 :デフォルトの名無しさん:03/06/10 21:34
>>50
G(o^-^o)gle < 検索しようね

54 :デフォルトの名無しさん:03/06/10 21:37
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉


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



(^^)

55 :デフォルトの名無しさん:03/06/10 21:38


   彡川川川三三三ミ〜
   川|川/  \|〜 プゥ〜ン
  ‖|‖ ◎---◎|〜        / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  川川‖    3  ヽ〜      < G(o^-^o)gle < 検索しようね
  川川    ∴)д(∴)〜       \_______________
  川川      〜 /〜 カタカタカタ
  川川‖    〜 /‖ _____
 川川川川___/‖  |  | ̄ ̄\ \ ←>>53
   /       \__|  |    | ̄ ̄|
  /  \___      |  |    |__|
  | \      |つ   |__|__/ /
  /     ̄ ̄  | ̄ ̄ ̄ ̄|  〔 ̄ ̄〕
 |       | ̄


56 :デフォルトの名無しさん:03/06/10 21:42
>>52
教科書として一から読み下すには、厚いと思う。参考書としてならありか。

57 :デフォルトの名無しさん:03/06/10 21:45
>>46
何がわからないの?

58 :デフォルトの名無しさん:03/06/10 21:48
>>57
あなたの本心よ。本当に私のこと愛しているの?

59 :デフォルトの名無しさん:03/06/10 21:52
いまさら、Cとか騒いでる前に、製品を作れよ。
素人なりに。言語は道具だと思えよ。
ばか者。のみとかのこぎりを作る人は
確かにえらいが、それを改造して自分に使いやすいものを
仕事の合間に造る名人はもっと偉い。

60 :デフォルトの名無しさん:03/06/10 21:57

 というお話だったのさ
\                /
   ̄ ̄ ̄ ̄V ̄ ̄ ̄ ̄ ̄ ̄
   彡川川川三三三ミ〜
   川|川/  \|〜 プゥ〜ン
  ‖|‖ ◎---◎|〜
  川川‖    3  ヽ〜
  川川    ∴)д(∴)〜
  川川      〜 /〜 カタカタカタ
  川川‖    〜 /‖ _____
 川川川川___/‖  |  | ̄ ̄\ \ ←>>1-1000
   /       \__|  |    | ̄ ̄|
  /  \___      |  |    |__|
  | \      |つ   |__|__/ /
  /     ̄ ̄  | ̄ ̄ ̄ ̄|  〔 ̄ ̄〕
 |       | ̄


61 :デフォルトの名無しさん:03/06/10 21:59
なんかいきなり書き込み増えてるなぁ。
>>35の言ってることは無視してさ、お勧めのエディタを教えて。

62 :デフォルトの名無しさん:03/06/10 22:01
>>61
エディタといってもいろいろな種類があるけど。

63 :デフォルトの名無しさん:03/06/10 22:02
自分で作ったエディタ使ってる。
その名は・・・。
>>63で言う。

64 :デフォルトの名無しさん:03/06/10 22:04
いまだにえディたでもねーだろ。
手めーはviも使えねーだろ。
指の使い方が脳みその活性化になることをわかれ。

65 :デフォルトの名無しさん:03/06/10 22:08
>>63
その名はガンダム
いやー先週のガンダムSEED35話面白かったな。ザフトのフリーダム
すさまじい火力すばらしい!

66 :デフォルトの名無しさん:03/06/10 22:20
>>64
viってなに?

67 :デフォルトの名無しさん:03/06/10 22:21
>>46
aとbは整数型で宣言されてるから
aとbの値によって、間に入れられる数の個数が変わるぞ。
例えば2 と 4 を 入力したとき3しか入らないし。



68 :◆UNFjqMweVQ :03/06/10 22:29
鬱だ

69 :デフォルトの名無しさん:03/06/10 22:29
あなたが探してるのってこれだよね?この中にあったよ♪
http://endou.kir.jp/betu/linkvp/linkvp.html

70 :デフォルトの名無しさん:03/06/10 22:30
>>66
DECのから始まったVIdeo tarminal Editorの略称です。

71 :わからずや:03/06/10 22:37
あのー。質問です。
計算式を文字列として読み込みスタックを用いて計算するプログラムに
ついて質問です。
逆ポーランド記法でスタックに入れていこうと思うのですが
7*(((6+8)*(3*6))+2)
のように括弧がついた式になるとスタックに入れる順番が分からなくなって
しまいます。
誰か詳しく教えて頂けませんか?


72 :デフォルトの名無しさん:03/06/10 22:44
バーか右左がわからんのかよ。
少しは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
新スレ立てたいんだけどどう?
名スレになりそうなんだけど

75 :デフォルトの名無しさん:03/06/10 23:04
>>70
ありがとです。

76 :デフォルトの名無しさん:03/06/10 23:10
■□□□□□■
■■□□□■■
■■■□■■■
■■■■■■■
■■■□■■■
■■□□□■■
■□□□□□■
みたいなストライクの画像を出すにはどうしたらいいでしょうか?
値を入力して、その値を横、縦の数にするので、
この数(7つ)は関係ないです。
C言語で、なるべく簡単でわかりやすいのでお願いします…。
個人的にC勉強してるんだけど、もういやになりそ…とほほ。

77 :デフォルトの名無しさん:03/06/10 23:47
1.画像を用意する (画像形式は環境依存)
2.画像を表示する (使用する関数は環境依存)

78 :デフォルトの名無しさん:03/06/10 23:53
偶数の場合はどうすんの

79 :デフォルトの名無しさん:03/06/11 00:02
>>76
今作ってるんだけど、縦と横の値は奇数じゃないとその形はできんね。
もはやプログラム以前の問題に気づかなかった・・

80 :デフォルトの名無しさん:03/06/11 00:04
>>76
何が難しいの?
printf("■□□□□□■\n"
"■■□□□■■\n"
"■■■□■■■\n"
"■■■■■■■\n"
"■■■□■■■\n"
"■■□□□■■\n"
"■□□□□□■\n");

じゃん?

81 :デフォルトの名無しさん:03/06/11 00:04
素人はめんどくさいと思うのは良くない。
きちんと次元を考えろ、一次元なら面を考えろ
二次元なら体積を考えろ。体積は時間を考えろだな。がんばれば日本の
少年よためになる。かも。

82 :79:03/06/11 00:23
やっとできますた。
だけど長くなっちゃって書き込めない・・


83 :76:03/06/11 00:27
>79さん
できたんですか?!


84 :76:03/06/11 00:30
>79さん
分けてでも書いてくれたら嬉しいです!!!
お願いします!!!!!

85 :デフォルトの名無しさん:03/06/11 00:35
バカがき、集合がわからないのかよ。
そんなことやってるから、朝鮮人になめられるんだよ。
新自前。

86 :79:03/06/11 00:42
ttp://www.geocities.co.jp/WallStreet-Stock/5710/2ch.txt
自分のページにアップしたんで、もし見たかったみてくらはい。
まだ初心者なんで勉強中です。

87 :80 != 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);
}


88 :デフォルトの名無しさん:03/06/11 01:04
>>87
あんたは偉いよ。でも、mein()で意味もないと
直ぐわかる、printfで下らんコードを吐き出しているだけだろ。
そんなアマグラマは雇いたくねーな。市ね。

89 :デフォルトの名無しさん:03/06/11 01:09
雇いたくないとか、何言ってるんだこいつは?
てめーの下らない愚痴は日記にでも書いてろアホが。

90 :デフォルトの名無しさん:03/06/11 01:21
しょうがないいな、
日本にくだらんんゲームを伝えんなよ。
場韓国人が架空のお金を取り締まれねーのか
ばかまんけいぼうを入れるな。

91 :76:03/06/11 01:26
>79さん
ありがとうございます!
HPの方も訪れさせていただきます。


92 :デフォルトの名無しさん:03/06/11 01:32
>>86
http://docs.yahoo.co.jp/docs/info/guidelines/geocities.html

通報しておくよ

93 :86:03/06/11 02:25
>主たる目的がジオシティーズ外部からの参照である使用
ああ。これに当たるか。
まあどうなるか楽しみだしほっとこう。

94 :デフォルトの名無しさん:03/06/11 03:04
とりあえずindex.htmlを置けよ。

95 :デフォルトの名無しさん:03/06/11 03:10
Cを知っていて,かつ、VCとかVBも知ってる人間は
少ないねえ。結局、Winとか、マークみたいななマイクロカーネール
がんばってる人も知っている人もほしい。モノリシックではなくな。


96 :デフォルトの名無しさん:03/06/11 03:12
ここは一緒にCを学ぶ初心者のスレだぜ?
偉そうなことは他のスレで言えよ。



97 :デフォルトの名無しさん:03/06/11 17:30
他スレのプログラマにはかなわないので
ここで下見て悦に入ってます

98 :名無し@沢村:03/06/11 19:53
おまいらよ、ム板のいろいろな初心者による質問を見てると、
ここで質問する初心者というやつは、単にプログラミングだけの初心者ではなく、
数学も知らない、英語も知らない、複雑な算数を考える力もない、
つまりプログラミングの初心者以前のバカが多いように見えるのは気のせいだろうか?

99 :デフォルトの名無しさん:03/06/11 19:58
気のせいだと思う

100 :デフォルトの名無しさん:03/06/11 20:09
ダイテル兄弟のテキストがお勧め
ネットとか回ってこれ一冊終わらせるとK&Rコンプできるぞ
浅く広くって感じであまり親切なテキストではないがな


101 :デフォルトの名無しさん:03/06/11 20:36
>>87だけど、>>88の逝ってる意味がわからんのは俺だけか?
誰か、日本語訳きぼん。

単に、「俺にはこんなプログラム書けません」ってだけか?

102 :デフォルトの名無しさん:03/06/11 21:45
>>88
俺も全く分からん。日本語が不自由なのかな?
けなすぐらいなら、お手本のソース書いてほしいね。
なんか私情をここでぶちまけてるとしか思えんね。

103 :デフォルトの名無しさん:03/06/11 22:19
デバッガの使い方が全然分りません。
ボーランドのTurbo・・・なんだけど。
俺の検索の仕方が悪いのか
googleで調べても無理だった。help!

104 :デフォルトの名無しさん:03/06/12 07:45
デバッガは初心者に扱える代物じゃないんで安心しろ

105 :デフォルトの名無しさん:03/06/12 14:40
デバッガ使う前に構造体とポインタは理解しといてね

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とやら学び始めました。
プログラミングとやらは初めてです。
配列で、変数の添え字とかいう部分で詰まった。

わからん

111 :デフォルトの名無しさん:03/06/13 03:43
ハーイ、0、2、出そう、エッジ

112 :名無し@沢村:03/06/13 20:54
おまいらよ、よく見るとここは初心者の集まるスレではないことがわかるよ。
もちろん初心者もいることはいるが、その数は半分以下だ。
ここは何年もやってるやつが一番多く集まってきているよ。だが、そいつらは初心者よりもスキルがあるわけではない…。スキルは初心者とまったく同等だ…
ということは…?
そう…つまり…
ここはザコの集まるスレだったんだよ!!!

113 :デフォルトの名無しさん:03/06/13 21:24
独習C、お勧めだと思う方、挙手願います。

114 :デフォルトの名無しさん:03/06/14 08:33
main関数ってどういうときに使うんですか?
User Contributed Notesもないし、よく分かりません。

115 :デフォルトの名無しさん:03/06/14 08:44
おまいらよ、よく見るとここは初心者の集まるスレではないことがわかるよ。
もちろん初心者もいることはいるが、その数は半分以下だ。
ここは何年もやってるやつが一番多く集まってきているよ。だが、そいつらは初心者よりもスキルがあるわけではない…。スキルは初心者とまったく同等だ…
ということは…?
そう…つまり…
ここはザコの集まるスレだったんだよ!!!
おまいらよ、よく見るとここは初心者の集まるスレではないことがわかるよ。
もちろん初心者もいることはいるが、その数は半分以下だ。
ここは何年もやってるやつが一番多く集まってきているよ。だが、そいつらは初心者よりもスキルがあるわけではない…。スキルは初心者とまったく同等だ…
ということは…?
そう…つまり…
ここはザコの集まるスレだったんだよ!!!


116 :_:03/06/14 08:46
http://homepage.mac.com/hiroyuki44/hankaku02.html

117 :デフォルトの名無しさん:03/06/14 09:32
main ()

void main ()

int main (void)

どう違うの?

118 :デフォルトの名無しさん:03/06/14 09:40
1000 名前:名無しさん 投稿日:2003/06/14(土) 09:401000 名前:名無しさん 投稿日:2003/06/14(土) 09:401000 名前:名無しさん 投稿日:2003/06/14(土) 09:40

119 :デフォルトの名無しさん:03/06/14 12:44
>>110
添え字って、配列の規模を表したり
配列の中の特定の場所を示してるんじゃないの?

120 :デフォルトの名無しさん:03/06/14 13:03
しーん

121 :デフォルトの名無しさん:03/06/14 16:04
添え字ってあれだよ、アレ
名前のもっとすごいやつ
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
先生!
ポインタで早速つまづきますた。
必要性がわかりませぬ。


本百回読み直します。

123 :デフォルトの名無しさん:03/06/14 17:55
まぁ人は都合のいいように物事を考えるもんだからな。

理解できない > 必要ない

と思い込みたいのですね。

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;
}

125 :124: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;
}

126 :デフォルトの名無しさん:03/06/14 19:08
>>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;
}

としてもいい。

127 :デフォルトの名無しさん:03/06/14 19:14
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! が限界。

128 :127:03/06/14 19:17
ごめん15! * 16のとこもおかしいな。
もっと早く限界きてるわ。

129 :125: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 ぬるぽ

131 :126:03/06/14 20:00
>>129
そうだ、もうひとつわすれてた。
sosuu[]配列が初期化されていないから、ゴミが入ってる。
そのゴミの値で判定しちゃってると思われ。

132 :デフォルトの名無しさん:03/06/14 20:10
おまいらはC言語を学び始めてどのくらいでファイルの操作とかが
できるようになった?
ポインタはどのくらいで?
自分の学習能力のなさに鬱

133 :デフォルトの名無しさん:03/06/14 20:20
C言語でポスペみたいなソフトを作れますか?

134 :デフォルトの名無しさん:03/06/14 20:38
ポインタなんて意味ねーよ
関数の引数を渡すときに複製しないから速いっていうぐらいだろ?
初心者に無駄なもん教えるなよ!

135 :デフォルトの名無しさん:03/06/14 20:47
ま、ヘッダファイルでも作らないかぎりはポインタなんて意味ないも同然だろうよ。
せいぜいscanf関数でポインタ使う理由でも考えて悩んでろや

136 :デフォルトの名無しさん:03/06/14 20:55
上級者が書いたソースコードを見たらほとんどポインタが使ってあるし・・。


137 :136:03/06/14 21:05
ポインタとprintfを使って何か簡単なプログラムを
作ってもらえませんか?実行すると何が表示されるか、
自力で当てたいです。お願いします

138 :デフォルトの名無しさん:03/06/14 21:14
>>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にしろ

141 :デフォルトの名無しさん:03/06/14 21:18
>>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;
}

143 :デフォルトの名無しさん:03/06/14 21:19
未初期化の時点で…(ry

144 :デフォルトの名無しさん:03/06/14 21:19
>>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にポインタがあるの?

147 :デフォルトの名無しさん:03/06/14 21:22
>>145
初心者に混乱させないようにしてる

148 :デフォルトの名無しさん:03/06/14 21:24
>>146
あるよ?

149 :デフォルトの名無しさん:03/06/14 21:25
>>148
ふーん・・・ならいいんじゃないの?VBしらないけど。

とにかくprintfの第一引数はポインタなんだから、printfを使う=ポインタを使う

150 :名無し@沢村:03/06/14 21:32
>>124
ハゲ!!
おまいよ、自動変数は初期化しないとダメだぞ。わかるか?
初期化してないからsosuu配列にゴミがはいってるんだよ。
さもなければ、グローバル変数にするかだ。
あと、おまい、iが16になった時点で、無限ループになる可能性があるぞ。

151 :デフォルトの名無しさん:03/06/14 21:33
>>150
勝手に0に初期化してほしいってだけならグローバル変数にしなくても、staticをつければよいのでは。

152 :デフォルトの名無しさん:03/06/14 21:35
か、もしくは = {0};

153 :136:03/06/14 21:35
うわぁ。何一つ意味分からない。
相当の重症かな

154 :デフォルトの名無しさん:03/06/14 21:38
printfでポインタを理解するよりstrcpyなどで考えた方が理解しやすいと思うけど

155 :デフォルトの名無しさん:03/06/14 21:45
Cの教本でポインタの章の最初に出てくるサンプルは、大抵無意味なものでなんでこんな無駄なことをするんだろうと初心者に思わせてしまう。

156 :デフォルトの名無しさん:03/06/14 21:53
それはダメな本
ポインタなんて難しいもんでもないだろうし
ちょろっと書いとけばいいのに。
なんか初心者に、難しいと思わせようとしてるんじゃないか

157 :136:03/06/14 22:01
自分のこれからの課題はポインタ・・・・

158 :デフォルトの名無しさん:03/06/14 22:02
http://jbbs.shitaraba.com/computer/6765
Cを勉強するならここしかない!
コピペ宣伝中

159 :デフォルトの名無しさん:03/06/14 22:02
乗算とポインタの両方に同じ記号を使ったCの開発者のセンスを疑う。

160 :デフォルトの名無しさん:03/06/14 22:04
タシカーニ

161 :デフォルトの名無しさん:03/06/14 22:06
他にも内部リンケージを持たせたいときにstaticをつけるとか。
externの逆ならinternだろうが。

162 :名無し@沢村:03/06/14 22:07
おまいらよ、文句を言わずにポインタを勉強しろ!!
初心者のおまいらだけだぞ。ポインタの文句を言うのは!

163 :デフォルトの名無しさん:03/06/14 22:09
>>162
川村先生!ポインタ教えてください。先生の文句言っていいでつか?

164 :デフォルトの名無しさん:03/06/14 22:15
int *p=(int *)0x78900;
printf("%d\n",*p);

165 :デフォルトの名無しさん:03/06/14 22:36
dumpプログラムとか組んでるとポインタも分かってくるよ。
デバッグもできるし。

166 :デフォルトの名無しさん:03/06/14 23:02
他言語で勉強してから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
へ〜そうなんだポインタってすごいね

169 :デフォルトの名無しさん:03/06/14 23:16
ビジンダーのほうがすごいよ

170 :デフォルトの名無しさん:03/06/14 23:37
>>167
変数以外もポイントしますが?
おまえこそポインタ理解出来てないんじゃないの?(w

171 :デフォルトの名無しさん:03/06/14 23:43
ポインタって同じ意味のものを色々な書き方ができるけど
コレが正式な書き方だ!!っていうのはあるのですか?

172 :デフォルトの名無しさん:03/06/15 00:05
>>171
例えばどんな?

173 :デフォルトの名無しさん:03/06/15 00:23
> 一緒にCを学ぼう
乱交の予感

174 :デフォルトの名無しさん:03/06/15 00:29
>> 169
漏れはボインダーだと思ってたYO!


175 :デフォルトの名無しさん:03/06/15 19:07
>>167
おまいにはここの掲示板に来て欲しい
http://jbbs.shitaraba.com/computer/6765/

176 :デフォルトの名無しさん:03/06/15 19:09
あぁぅ。age

177 :デフォルトの名無しさん:03/06/15 19:34
初めてポインタ便利だと思ったのは
線形リスト作ったときかな

178 :デフォルトの名無しさん:03/06/15 20:18
ポインタ、リスト、配列、文字列、構造体・・・
こういったもんはそれぞれ別々に理解しても面白くも何ともない。
連携することでいろんなことが実現できるようになる。

で、その傾向はC++でさらに強くなっていくんだモナ。

179 :デフォルトの名無しさん:03/06/15 23:41
ここでCの課題を出さない?
みんなで課題を出し合おう。


180 :デフォルトの名無しさん:03/06/16 00:02
 まもなくここは 乂200取り合戦場乂 となります。

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




181 :デフォルトの名無しさん:03/06/16 00:10
200

182 :デフォルトの名無しさん:03/06/16 00:11
200なんてイラネ

183 :デフォルトの名無しさん:03/06/16 00:18
課題
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だ。
おまいらよ、この関数には引数や関数の中の変数にもっと大きなサイズのものがいっぱいはいっているが、それは関数のサイズには関係ないことを知れ!!いいか!!
まあ、おまいらに、ポインタというものをちょっくら手ほどきしたけど、どうだったかな?
おまいらよ、これはポインタのほんの一部で、まだまだややこしいことが山のようにあるぞ!!
おまいらには、それが乗り越えられるかな?


185 :デフォルトの名無しさん:03/06/16 00:50
>>184
つっこんであげない

186 :デフォルトの名無しさん:03/06/16 01:03
AIってなに?

187 :デフォルトの名無しさん:03/06/16 01:06
荒いさんを無視すると美鳥に起こられますよ

188 :デフォルトの名無しさん:03/06/16 01:12
AIがとまらない

189 :デフォルトの名無しさん:03/06/16 01:18
素子ゲット

190 :デフォルトの名無しさん:03/06/16 01:39
アントニオ猪木

191 :デフォルトの名無しさん:03/06/16 03:16
>>184
ほとんどわからんがチョト参考になった。まりがとう。

>>183
#include <stdio.h>
main()
{
printf("私はAI、歌も歌えます。デ〜イジー、デ〜イジー答えておくれ〜♪");
}

192 :デフォルトの名無しさん:03/06/16 03:58
昔人口無脳ってのがあったな

193 :デフォルトの名無しさん:03/06/16 05:07
先生!intのポインタに1を足せば4も増えてしまいますが
1とか2とか3だけ増やすことはできないですか?


194 :デフォルトの名無しさん:03/06/16 05:32
>>193
char *にキャストすれば。

195 :デフォルトの名無しさん:03/06/16 18:30
>193
わざわざchar単位で弄る理由がいまいち分からない。
何がしたいのか教えてくれまいか。単に興味本位?

196 :デフォルトの名無しさん:03/06/16 22:19
指定したバイト数コピーとか。memcpyみたいに。

197 :デフォルトの名無しさん:03/06/16 23:50
>>192
せきじん・くちなし・のう?

198 :デフォルトの名無しさん:03/06/17 23:09
は?

199 :デフォルトの名無しさん:03/06/19 15:28
Cの演習問題出してください。
お願します。
30分以内に完成させます。
まだポインタは習ってないんで、それはパスです。
さぁ、来い。
完成できなかったら漏れは裸で喫茶店行ってきます

200 :デフォルトの名無しさん:03/06/19 15:35
保守

201 :199:03/06/19 15:40
おながいします

202 :デフォルトの名無しさん:03/06/19 15:42
>>199
Cで未定義となるコードを書け

203 :デフォルトの名無しさん:03/06/19 15:56
3秒間隔で文字を表示するのって可能ですか?

204 :デフォルトの名無しさん:03/06/19 16:00
>>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;
}


205 :デフォルトの名無しさん:03/06/19 16:10
>>199
じゃ,パスカルの三角形

206 :デフォルトの名無しさん:03/06/19 18:38
>>199


−(5+2)


この結果を出力するプログラムを書きなさい。

207 :デフォルトの名無しさん:03/06/19 18:44
1 = 1
−(5+2) = −7
3 = 3

208 :デフォルトの名無しさん:03/06/19 18:50
>>206
#include <stdio.h>
main(){
printf("7");
printf("−");
printf("3")
}

209 :208:03/06/19 18:51
改行忘れた・・・

210 :デフォルトの名無しさん:03/06/19 18:53
>>208
";"が抜けとる。


211 :デフォルトの名無しさん:03/06/19 19:52
>>207
おみごと。
ハゲシク ワロタ

212 :デフォルトの名無しさん:03/06/19 22:39
>>208
関数の返り血が分からない。

213 :シンジ:03/06/19 22:42
誰か知りませんか? IPの隠し方

214 :デフォルトの名無しさん:03/06/19 22:45
I〇

215 :デフォルトの名無しさん:03/06/19 23:00
>>213
誰から隠したいの?自分?

216 :デフォルトの名無しさん:03/06/25 20:33
保守

217 :126 ◆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
どなたか教えていただけませんか。


220 :デフォルトの名無しさん:03/07/05 20:01
いいのか困ってます

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++ ) {


てな感じじゃないかな。

222 :デフォルトの名無しさん:03/07/05 20:11
ミスった。
ループをカウントして
array = (int*)realloc( array, sizeof(int)*count );
ってしておかなきゃ。

223 :デフォルトの名無しさん:03/07/05 20:16
素直にリスト構造使おうよう。

224 :デフォルトの名無しさん:03/07/05 20:20
>>221-222
reallocの戻り値と第一引数を同じものにするのはまずい。
p=realloc(array,中略);
if(p){
array=p;
}
else{
エラー処理
}

こうしないと、reallocに失敗した場合に元の領域を見失うことになる。

225 :218:03/07/05 22:39
レス有難う御座います。

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

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

皆さん、有難う御座いました。

226 :デフォルトの名無しさん:03/07/05 22:46
突然ですが、質問があります!

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

// 処理;


↑のようなfor文は、
どんな処理がされるんですか?

227 :デフォルトの名無しさん:03/07/05 22:48
>>219
他人と共同開発とかじゃなければ、好きにすればいいと思われ。
共同開発だったら話し合って決めればいいだけだと思われ。

228 :デフォルトの名無しさん:03/07/05 22:50
>>226
i = 0 から開始して、
配列要素 low[i] が result 以下の間ループさせる。
iはステップ1で増加

229 :デフォルトの名無しさん:03/07/05 22:57
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++言語って思ったより奥が深いようです。

232 :デフォルトの名無しさん:03/07/06 00:10
ドキュソな質問でスマソ。


「*」と「&」の使い分けがどうも良くわかりません。
「&」は配列か変数にしか使えないってことなんでしょうか?

233 :デフォルトの名無しさん:03/07/06 00:17
整数にも使えるよ
1*1 -> 1
1&1 -> 1

234 :デフォルトの名無しさん:03/07/06 00:20
ちなみに'*'と言うのは積で'&'と言うのは論理積
一見、両方とも積と書いてあるので、同じっぽいけど
実際に行われる事は、かなり違います
詳しい事は、ぐぐって下さい

235 :232:03/07/06 00:24
分かり難くてすいません。

ポインタの「*」と参照の「&」の違いが良くわからなくて。。
ってか、もしかして、かなり的外れな勘違いをしているのか、漏れは。

236 :デフォルトの名無しさん:03/07/06 00:27
>>235のレスを見て良心が痛む今日この頃…

237 :232: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'を代入 */
ポインタを用意する時だけ例外的考えれば
*と&の違いは、比較的楽に憶えられる

239 :232: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]・・・・・
のように並び変えるにはどうしたらいいでしょうか?
頭がグチャグチャになってしまったので・・・
よろしくお願いします。

241 :デフォルトの名無しさん:03/07/06 01:04
配列をもう一個つくる。

242 :デフォルトの名無しさん:03/07/06 01:16
N個の乱数をつくったとして、

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

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

Nが偶数か奇数かで場合わけが必要だが。

243 :デフォルトの名無しさん:03/07/06 02:23
>>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 **

246 :デフォルトの名無しさん:03/07/06 03:16
>>245
ポインタのアドレスというのは
変数の中身のアドレスではなくて変数が存在するアドレス
そのものという理解でよろしいでしょうか?

247 :デフォルトの名無しさん:03/07/06 03:31
入力ファイルの中身が
検索ファイルに何件あるか検索して
その結果を出力ファイルに出力する
プログラムってどうすればできるんですかね。
キーボード入力で
ディスプレイ出力だったら
できるんですけど、ファイルが絡むとよくわからないです。。
できればご教授願えませんか?



248 :デフォルトの名無しさん:03/07/06 03:36
>>246
char c: /* char型 */
char *a; /* char型へのポインタ */
char **b; /* char型へのポインタへのポインタ */
a=&c; /* 変数cのポインタ(アドレス)をaに代入 */
b=&a; /* 変数aのポインタ(アドレス)をbに代入 */
**b='A' ; /* 変数bが指し示す先をポインタ(アドレス)とし、その指し示す先に'A'を代入 */

249 :デフォルトの名無しさん:03/07/06 03:41
>>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
http://homepage.mac.com/hiroyuki44/

252 :秀治:03/07/06 04:07
>>250
つまらん、お前のやる事はつまらん

253 :デフォルトの名無しさん:03/07/06 04:13
コンソールプログラムの画面を
真っ黒に戻したいんですけどどうしたら出来ますか?

254 :デフォルトの名無しさん:03/07/06 04:16
ポインタのポインタは文字通り、ポインタを指すためのポインタだよ。
これが無いと、ポインタの配列は作れないんだよ。
二次元以降の配列も作れなくなっちゃうよ?
さて、なぜでしょう。

>246
>変数の中身のアドレスではなくて変数が存在するアドレス
ちょっと違うと思う。
「変数の場所を指しているポインタ」のアドレス。
これも文字通りだと思う。

255 :デフォルトの名無しさん:03/07/06 04:21
>>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年) 

この社会のゴミの社会復帰を許してはいけない。こいつらの名前を
各板にコピペして知らせてくだちい


258 :デフォルトの名無しさん:03/07/06 05:59
warはウォーなのにwarningはワーニングなのはなぜ?

259 :デフォルトの名無しさん:03/07/06 06:57
ワーニンだから

260 :デフォルトの名無しさん:03/07/06 07:42
>>253 ↓これでできるよ。

printf("\x1b[2J");

意味は忘れた。誰か教えて。

261 :デフォルトの名無しさん:03/07/06 10:34
printf(
"\x1b" //エスケープ文字を16進数で書いた文字列。
"[2J" //エスケープ文字の後に送ると使えるDOS端末コマンド(画面消去)。
);

262 :_:03/07/06 10:36
http://homepage.mac.com/hiroyuki44/

263 :デフォルトの名無しさん:03/07/06 12:12
>>261
ありがと。

264 :デフォルトの名無しさん:03/07/06 12:45
>>254
ポインタ配列が無くても、多次元配列は出来るだろ


265 :デフォルトの名無しさん:03/07/06 15:59
じゃあポインタのポインタがポインタでなく
配列としての意味合いでもって定義されてる場合は
ポインタがポインタとして機能するために必要なポインタを
指し示すポインタはポインタとして新たに再定義し直さなければ
これがポインタとしてどこへ逝ってしまったのかということが
最も重要な課題としての意義を呈してくるような雰囲気を醸し出してくる
わけなのでしょうか。


266 :デフォルトの名無しさん:03/07/06 16:06
>>265
そんなこと言ってもだまされないぞ

267 :デフォルトの名無しさん:03/07/06 16:18
>>265
再定義し直す必要はない。それでもちゃんと管理できるという内容の回答が
>>264 にあるだろ。

268 :デフォルトの名無しさん:03/07/06 20:35
みなさんC言語の基礎ってどのくらいで覚えました?

269 :直リン:03/07/06 20:38
http://homepage.mac.com/maki170001/

270 :デフォルトの名無しさん:03/07/06 20:39
>>268
おまいは?

271 :デフォルトの名無しさん:03/07/06 20:40
>>268
配列とポインタの関係がわかるまで1ヶ月。
1ヶ月みっちりやってたけど。

272 :デフォルトの名無しさん:03/07/06 20:53
僕はこれから3ヶ月を目標に集中してやるつもりです。
とりあえず参考に聞きたかったのでありがとうございます

273 :デフォルトの名無しさん:03/07/06 21:02
まぁ個人差があるわな

274 :デフォルトの名無しさん:03/07/06 21:02
>>268
配列、ポインタ、関数、ファイルアクセスなど入門書一通りで2週間ぐらい
BASIC、アセンブラ、FORTRAN、COBOLをやってたからあまり苦労なし

関連知識込みなら3ヶ月ぐらいでちょうどいいんじゃねーのかな
基本情報でも受験するの?

275 :デフォルトの名無しさん:03/07/06 21:25
前提知識の有無は大きいわな

276 :268:03/07/06 22:19
プログラミング知識はほとんど無しです。
秋に基本情報受ける予定でいます。
合格ラインまで持っていけますかね?

277 :デフォルトの名無しさん:03/07/06 22:30
>>276
無理でしょう。

278 :デフォルトの名無しさん:03/07/06 22:32
氏ぬ気でがんがれ
漏れは大学受験と被ったが両方いけた
当時はおもしろくて仕方がない年頃だったので
通学時に情報処理の辞書とか読んでたよ
ポケコンでプログラミングして電車で変な目で見られたりもしたな
3年になると授業中に他の科目をコソーリやってても何も言われない
学校だったのが幸いしたのかも

279 :268: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の問題はわかったのだが
ほかんとこでうーうーうなってしまった。

283 :デフォルトの名無しさん:03/07/08 18:35
昨日からC言語を始めた者ですが、どうも分からないことがあります
int *unko[適当な数xyz] = {適当な値,適当な値,適当な...};
のようにして作ったポインタの配列を、別に作っておいた
int *toto[xyz];
に内容をコピーするにはどうすればいいのでしょうか?
また、配列自体の参照を別の配列の一室に入れることは可能でしょうか?
そして、その逆も可能でしょうか?(一室から配列を復元する)

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

284 :デフォルトの名無しさん:03/07/08 18:48
>>281
OS依存

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

int **hoge[SIZE];
hoge[i] = unko; /* 参照じゃなくて、ポインタの配列先頭へのポインタ */

285 :284:03/07/08 18:49
間違えた。

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

が正しい。

286 :デフォルトの名無しさん:03/07/08 19:19
ありがとうございます
なんとか出来ました

ところで、
int x_x = 800;
int array[x_x];
のように、変数で配列の大きさを決めることは出来ないのですか?
「定数式が必要」などとエラーメッセージが。。。

287 :デフォルトの名無しさん:03/07/08 19:22
>>286
C99に対応したコンパイラを使いましょう

288 :デフォルトの名無しさん:03/07/08 19:33
C99っていうものがなんなのかはよく分かりませんが、
ぐぐってみた所、borlandのコンパイラは対応しているようなことが書いてある文章がみつかりました
オプションでもあるのかな。。。
それともFreeのやつではダメなのかも

289 :デフォルトの名無しさん:03/07/08 19:52
最新版のMinGWでコンパイル出来たよ。

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


290 :デフォルトの名無しさん:03/07/08 21:17
>MinGW

ってコンパイラなんですか。勉強になったYO

291 :デフォルトの名無しさん:03/07/08 21:46
MinGWのgcc.exeね

292 :デフォルトの名無しさん:03/07/10 00:59
すみません。

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

の詳細を教えていただけませんか?
()内が良く分かりません。


293 :デフォルトの名無しさん:03/07/10 02:47
int argc 引数の数
char* argv[] 引数の値

294 :デフォルトの名無しさん:03/07/10 22:15
>>293
Cの引数とコマンドライン引数の区別せんとなんか誤解を招くぞ。


295 :デフォルトの名無しさん:03/07/12 23:44
二日ほど前に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)
と同じ意味になります。
コンパイラによるかもしれないけれど。


299 :デフォルトの名無しさん:03/07/13 09:21
>>298
アホですか?

300 :デフォルトの名無しさん:03/07/14 20:54
>>292
argc/argument count/引数の個数(直訳)/引数の個数(意味)
argv/argument vector/引数ベクトル(直訳)/引数のポインタ配列(意味)
ベクトルはプログラミング言語の世界であまりはなじみのない言葉ですが。
以前はCのポインタ配列のようなものをかつてベクターテーブルと
いっていました。要するに矢印(ベクトル)からなるテーブルといった意味です。

プログラミング言語ではよく省略形の英語を使いますが、その非省略形の英語
で覚えておくと何かと便利です。


301 :デフォルトの名無しさん:03/07/14 20:56
ベクター=配列 じゃないの?

302 :デフォルトの名無しさん:03/07/14 20:58
配列はこの世界では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
http://homepage.mac.com/hiroyuki44/jaz06.html

307 :デフォルトの名無しさん:03/07/14 21:54
>>304
LSI C-86試食版

308 :300: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) でもよかったのだな。

309 :デフォルトの名無しさん:03/07/14 22:26
>>301
JavaのVectorはListです。

310 :デフォルトの名無しさん:03/07/14 23:07
>要するに矢印(ベクトル)からなるテーブル



311 :300:03/07/14 23:17
>>310
interrupt vector tableのようなものと思ってたんですよ。今まで。
ここでいうvectorはpointer(矢印)です。
つまり、私の今までの解釈ではvector<>arrayではなくてvector=pointer
だったのです。ハイ。

312 :292:03/07/15 01:06
教えてくださった方々、ありがとうございます。
胸につかえていたものが取れたような感じです。


313 :山崎 渉:03/07/15 09:40

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄

314 :デフォルトの名無しさん:03/07/16 18:33
>>295
main 関数の return は、そのプログラムが終わったときに返される値。
例えば、エラーで終了したのか、正常に終了したのかの判別に使われたりする。

ちなみに、エラーは、それではコンパイルできませんという意味で、
ワーニングは、問題あるけど、コンパイルしちゃうという意味。
エラーレベルは、オプションで変えられる。


315 :ナナシ:03/07/17 23:56
コマンドラインでGUIのプログラムをコンパイルするには
どうしたらいいでしょう・・?
コンパイラはフリーのBCCです。

316 :デフォルトの名無しさん:03/07/18 00:56
-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⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン

322 :デフォルトの名無しさん:03/08/17 19:39
アントニオ猪木

323 :デフォルトの名無しさん:03/08/21 13:48
C-machineでグラフを書きたいんですが、例のソースを提示してくれる人いませんか。
setline関数を使うらしいのですが。。。

324 :デフォルトの名無しさん:04/03/26 19:40
#いんくたん <stdio.h>
main(void)
{
int i;
for(i=0;i<=3462;i++){
printf("もきゅう\n");
}
return 0;
}

69 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)