1read 100read
2013年06月プログラム14: C言語なら俺に聞け(入門編)Part 116 (177) TOP カテ一覧 スレ一覧 2ch元 削除依頼
つまりRubyってPerlの後続じゃん? (192)
ネット上でプログラムを共同開発できるか? (134)
ATL/WTL Part7 (188)
攻守最強のプログラミング言語は? (129)
MATLABプログラミング 質問箱 その4 (141)
Kinect ハック 2台目 (203)

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


1 :2013/06/14 〜 最終レス :2013/06/23
C言語の入門者向け解説スレッドです。
★前スレ
C言語なら俺に聞け(入門編)Part 115
http://toro.2ch.net/test/read.cgi/tech/1368444993/
★過去スレ
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++の宿題片付けます 164代目
http://toro.2ch.net/test/read.cgi/tech/1370255305/
★C++言語については避けてください。C++対応明記スレへどうぞ。
★分からない事をなるべく詳しく書いて下さい。
★ソースコードを晒すと答えやすくなるかもしれません。
  # 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること。
  # サイズが大きい場合はアップローダ等を利用してください。
http://codepad.org/C/C++の宿題片付けます 165代目
http://ideone.com/
★開発環境や動作環境も晒すと答えが早いかもしれません。
★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。

2 :
SendMessage(1, 乙, 0, 0);

3 :
javaにあるunreadして内部バッファにデータ溜めるってのがあるけど
readするときそのバッファにデータがあるかどうかどうやって示しているんでしょうか?
配列からデータが無くなるっていうのがよく分かりません。
どんな状態でもデータはありますよね?配列宣言したら初期状態があるんだし。

4 :
これjavaについてなんですが
Cで実装するときはどうすればいいのかなと......

5 :
例えば実データのサイズを表す変数をゼロにすれば、論理的にデータは空っぽになると言えるだろう。

6 :
>>5
やっぱシンプルにフラグですか....
実装するとかなり面倒くさいですねこれでも

7 :
有効データ量と確保量を持った構造体にまとめれば良いんじゃないの?
例えば
struct {
 int size_data; // 有効データサイズ
 int size_alloced; // 確保量
 char *data; // データ
} MY_DATA;
みたいにして
初期化は
 MY_DATA d;
 d.size_data = 0;
 d.size_alloced = 1024;
 d.data = (char *)malloc(d.size_allocated);
とし、使うときは
 char str[] = "test";
 strcpy(d.data, str);
 d.size_data = sizeof(str);
とかする。
面倒だけど。

8 :
C言語が面倒だと思ったら、C++に移れ

9 :
さどっほ

10 :
やっぱC機能無さ杉だなぁ....
javaは難しいけど機能多過ぎ...

11 :
「面倒 = 嫌」
だったらC++でやればいいが
「面倒 = 楽しい」
だからCに居座っているのだ

12 :
C考えた人は凡人で
C++考えた人は天才肌なんだろうな

13 :
メーラーやブラウザを暗黙的Intentで起動したいのですが
Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.parse("mailto:〜"));
startActivity(intent);
こういったやり方だとメール送信画面やURL先のブラウザが立ち上がってしまいます
暗黙的Intentでメーラーやブラウザの一覧から選ぶ、またはデフォルト起動指定されたものを
アプリアイコンから起動した時のように、初期画面で起動するにどうしたらいいでしょうか?

14 :
どこがC言語やねん
マルチか?

15 :
>>12
より少ないツールで目的を達する方が天才だろ

16 :
ならハードウェアだけで全部実装しろ

17 :
別に天才じゃなくてもいいだろ

18 :
ウエハー、ドーピング、ボンディング、リフロー、レジスト、無線屋、物流、会計監査、法務を一手に手がけるアイちゃん

19 :
>>12
どうみても逆

20 :
GCってプログラム実行の速度に影響与えたりはしないんですか?
密かに敢行されるものなんですか?

21 :
遅くなる

22 :
実行されるまでは遅くならないが
実行されている最中は遅くなる

23 :
スレチ

24 :
>>21
なるほど
>>22
CとrubyではどっちがGC機構が発達してますか?
学校でGCを観察するプログラムを作れという課題が出ました。

25 :
CにGCはない

26 :
>>25
alternativeとして何がありますか?

27 :
課題なら自分で調べろよ

28 :
2chは便利なんで^-^;

29 :
他人に聞くから課題なのでは?
自分でするなら独習でしょう。

30 :
どんな超理論だよw
自分でするから課題だ

31 :
QZ爆死

32 :
「2chで聞きなさい」という課題なのかもw

33 :
QZ焦る

34 :
そんなことより、おまえら早くこれ完成させてください
https://github.com/ashie/gtkimcocoa

35 :
やっぱりQZは馬鹿だな

36 :
前々から疑問だったんだけど、QZってなんて読むの?
やっぱり、Q = く、Z = ず だから「くず」とでも読むのかな?

37 :
酉に読み方なんか元々ない

38 :
クズだからそれにふさわしいトリップになったんだなw

39 :


40 :
whileもforも繰り返し制御文なのに
forはberak;できないのは何故?

41 :
continueと勘違いしてね?

42 :
>>40
できないの?

43 :
>>40
berak; は出来ないよ
break; なら出来るけど

44 :
>>41
そうでした....すいません。
continue文が無いのとあるのでは便利さは格段に違いますかね?
continue使いたいんですけど使いどころが分からなくて。

45 :
話がみえない。
forでもwhileでもbreak, continue両方使えるけど。

46 :
>>45
forでcontinueを使ったときの意味はご存知か?

47 :
>>45
breakとcontinueの違いってなんですかね?
一緒じゃないですか?
処理をしないんですから。

48 :
釣りだな

49 :
>>46 >>47
>>40 >>44 を見てると機能の差じゃなくて有る無しを気にしてるように見えるけど。

50 :
すいません
berakにしてましたw
ただcontinueもあったことに築き不図
どう違うんだろうかと思っただけです。
そこらへん触れてなくてすいません。

51 :
>>50
何もしない
for (i=0; ; i++)
  break;
無限ループ
for (i=0; ; i++)
  continue;

52 :
この手のド初心者に for の変則形など見せても混乱するだけ

53 :
gotoほどじゃないけど、continueも嫌う奴いるんだよな
そんでアホみたいにネスト深くしてくの

54 :
関数記述で return を1箇所にまとめるか、複数個所で分散してるか

55 :
ifの{ はifと同じ行に記述するか次の行に記述するか

56 :
周波数を自由に変えてスピーカーに出力する簡素なソフトを
作りたいんですがVC++かmfcで作るとどういう命令を使うか
ヒントください。

57 :
リアルタイムに出力するなら
DirectSoundを調べると良い
単にwavファイルを作れればいいのなら
普通のファイル操作関数とsinでおk

58 :
>>56
waveOut*関数かDirectSound

59 :
waveOut*は互換性のため残されてる古いAPIなので

60 :
NT系ならBeepという関数も使える

61 :
簡素なやつを作るだけんら古いAPIでよかろうもん

62 :
>>60
9x系現役乙

63 :
>>26
BoehmGC

64 :
機械語にあるBCD演算命令を使うCの記述方法はありますか?

65 :
>>64
ないよ。

66 :
BCD演算命令は遅いよ
全く使われないから、手抜きされてる

67 :
まずどこの環境かを聞くべき
インラインアセンブラでもできるんじゃないの?

68 :
BCD命令はx64ではobsoleteなので
もう存在自体を忘れた方がいい

69 :
アク禁になったらtor使っても書き込めないのは何故ですか?
2chに書き込むプログラム作ったんですがアク禁なんで書き込めない。

70 :
tor の出口がたまたまアクセス禁止になっているだけかと

71 :
てことはtorを使えば書き込みし放題なんでしょうか?
それに対する対処とかしてるんですか?2chって。

72 :
たまたま出口がアク禁かもしれませんが
何回チャレンジしても書き込めません。
そういう対策してるんですか?2chでは。
今は携帯からですが。

73 :
torは特定の板以外はだめじゃなかった?

74 :
>>73
なるほどー
荒らされないように考えてるんだな2chも。

75 :
do {
なんたらかんたら
} while(0);
こんなんなんか意味あるんすか?

76 :
>>75
PHPユーザーが想定する優れたCプログラマ、には意味があるらしい
http://php.net/manual/ja/control-structures.do.while.php
俺はCとPythonな人間なんで、意味なんか見いだせないけどね

77 :
マクロで複文を扱うときに
#define XXX() do { 複文 } while(0)
こう書くと
if (cond) XXX(); else ・・・;
if (cond) {XXX();} else {・・・;}
どっちの形で書かれても動く。

78 :
>>75
goto 禁止対策

79 :
マクロにセミコロンを含めないのがミソ

80 :
>>77>>78
thx
goto回避という事は、シーケンスな処理の場合のエラーとかですね?
do {
if(処理1()==FAIL) break;
if(処理2()==FAIL) break;
if(処理x()==FAIL) break;
} while(0);
てな感じかな?
処理に待ちが入る場合はcallback関数使うと思うので、あまり出番はないかもしれないですね。
マイコン組込みでは有用かも?

81 :
ローカルスコープ作るのに、ぎょっとさせない意図で
do { ... } while(0) で囲んだこともあった。 が、今は素直に { } で囲んでるな

82 :
>>76
thx 御礼が抜けました。 PHPという事で誤爆かと思いました w
goto回避だけで無く、処理を通過した最後のComplete()処理が目玉という事ですね。

83 :
関数の中でmain関数内で宣言された配列を使うのは無理ですかね?
#include<stdio.h>
void abc(int x,char y);
int main(void)
{
char str[100];
}
void abc(int x,char y)
{
str[x]=y;
}

配列の受け渡しは引数が面倒臭いので
省略したいです。

84 :
グローバル変数にすればいいじゃん

85 :
>>84
その方法がありましたか。
ありがとうございます。

86 :
まあな。天才だからな

87 :
>>83
どこが面倒だって?
static void abc(int x, char y, char * str)
{
str[x] = y;
}

88 :
>>83
> 配列の受け渡しは引数が面倒臭い
ttp://ideone.com/MYrF6V

89 :
>>88
うわぁ、めんどくさい奴〜

90 :
>>84
グローバル変数とかRばいいのに

91 :
代入できる関数ってありますか?
abc()=3;
int i;
i=abc();
こんな感じです。
配列は両側で代入できるから関数では無理ですか?

92 :
Cだと無理
C++なら戻り値を参照にすればできる
ポインタを返して
*abc() = 3;
int i;
i = *abc();
とするのであればCでも可能

93 :
>>91
ttp://ideone.com/ewvA9A
これくらいしか思いつかん

94 :
関数型マクロなら

95 :
関数ポインタ

96 :
>>94
ttp://ideone.com/CoipE7
こういうことか

97 :
なぜこうしない
#define abc() (*f())

98 :
>>97
ああ、関数のカッコの方が * よりも優先度が高いのだったか。
ttp://www.bohyoh.com/CandCPP/C/operator.html
それならそれでいいね。

99 :
おっと>>96の修正
ttp://ideone.com/BtfEbS

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
初心者だけどプログラムを勉強していろいろ作りたい (134)
ネット上でプログラムを共同開発できるか? (134)
HSPだって (183)
Perl初心者スレ(マジレス回答) (172)
【COBOLから】バッチ処理【Javaまで】 (152)
おまいらのプログラムの勉強の仕方を教えろください (200)
--log9.info------------------
【噛めば噛むほど】EUO Part6【味が出る】 (196)
Tiara Concerto ティアラ コンチェルト 3曲目 (110)
【新領土】アスタリア Astaria 28【レイドID】 (279)
ギガントマキア GIGANTOMAKHIA Part20 (155)
ドルアーガの塔 the Recovery of BABYLIM FLOOR 140 (119)
Drakensang Online 其の一 (123)
NineTailOnline -精霊物語外伝- part3 (100)
FULL METAL RIDE Part2 (195)
【PotBS】 Pirates of the Burning Sea part 2 (141)
RがMMOに絶望した人が次の行き先を思案するスレ1 (191)
【SF】Perpetuum【ロボ】 (153)
ネトゲで天下とらね? (119)
■ 移転ですー (148)
ピグこわいおwwwwwww (167)
【100人同時対戦】機動戦士ガンダムオンラインPart1 (166)
[MMORPG] 剣と魔法のログレス 今日から遊べるぞ (120)
--log55.com------------------
Panasonic LUMIX G9 PRO Part4
【SIGMA】シグマレンズ 91本目
イヤッッホォォォオオォオウ!衝動買い!! 78回目
ニッコールレンズ in デジ板 168本目
FUJIFILM X-T1 / X-T2 / X-T3 Part75
Nikon Z 6 / Z 7 Part87
【速報】ニコン74%の最終減益カメラ事業不振 Part7
FUJIFILM X-Pro1/X-Pro2/X-Pro3 Part50