C言語なら、俺に聞け! Part 〈52〉

このエントリーをはてなブックマークに追加
952947:03/03/29 16:58
>>951=947上じゃなくて下でした.
>>951
普通に考えると、前者が後者以上の速度を出す事は考えられない。
最適化によって、後者と同等のレベルのコードになる可能性があるという話。
954947:03/03/29 17:04
どうもです.皆さんありがとうございました.
甘い。
後者は変数領域を確保するが、前者は確保する必要がないので
よりタイトなコードになる可能性がある。
甘い。
後者が変数領域を確保するとは限らない。
つーか、それは速度とはあまり関係無い。
957デフォルトの名無しさん:03/03/29 17:50
age
後者でcをregister宣言しとくと、最も最適化されそうな気がするのは
勘違い?
>>958
今の最適化が進んだコンパイラはregister宣言を無視することが多い。
もしくは最適化の邪魔になってかえって遅くなることもあるそうな(伝聞)。
redy ・・・ set ・・・ start!
>>960
ready ・・・ set ・・・ start!
directory_iterator
963C言語二日目:03/03/29 22:12
高橋麻奈・著の「やさしいC」を読みました!!!疲れた。
ある程度C言語を習得した気分ですが(w
実際は習得率なん%でしょうか?(20%いってる?)
習得率100%の基準は皆さん次第で。
あと、これからステップアップしてくためにはどんな本orサイトがお勧めですか?
>>963
0.2%
ぬるぽは0.49%

  ∧_∧
 ( ´∀`)< ぬるぽ

ぬるぽ募集中
http://pumpkinnet.to/ranking/words/

【ぬるぽに投票した人】
http://pc.2ch.net/test/read.cgi/prog/1048837306/l50
966C言語二日目:03/03/29 22:19
>>964 
逝ってきます!
クソッ、CD-ROMドライヴを抑えてるネジを潰してしまった。
968デフォルトの名無しさん:03/03/29 22:56
>>965
思わず
「おかしいですよ!カテジナさん!!」
に投票してしまった・・・
>>968
1時間後はヨロシク。

  ∧_∧
 ( ´∀`)< ぬるぽ
970デフォルトの名無しさん:03/03/29 23:43
>>959
無視するとともに勝手にレジスタに置くんだろ?
>>956
> 後者が変数領域を確保するとは限らない。

アフォ ? 変数領域を確保しないとも限らないんだよ ?

> つーか、それは速度とはあまり関係無い。

「全然」ではないよね。つまり、あんたの >>953 は単なる思い込みってことだ。

現実、前後の状況によって、どっちが早くなるかは様々だ。
>>947 では、a, b, c が int 型とまでは書いてあるが、例えば c が volatile int c と宣言されて射たりしたら、後者が遅いことは十分に考えられる。
>>971
煽りはスピードが命。
>>971
流石に volatile まで持ち出すのは行き過ぎではないかと。
>>971
カエレ!!
>>971
文章が支離滅裂だな
>>971
c に volatile付けないとイカン状況で>>947の前者みたいな
書き方するのもいかがかと。
>>971
春だなぁ。
>>971
なんか、総攻撃にあってるな
>>971
  ∧_∧
 ( ´∀`)< ぬるぽ
  ( ・∀・)   | | ガッ
 と    )    | |
   Y /ノ    人
    / )    <  >__Λ∩
  _/し' //. V`Д´)/
 (_フ彡        /  ←>>971
>965 >969 >979
(・∀・)ガッ
新スレ立ててきます。
983C言語やろう:03/03/30 14:12
よく2chとかで  

int main()
{ printf....................

ていう書き方をみるけど

int main(void)
{printf......................

のように引数がないときは 、引数のない関数void型をつかわなきゃいけないん
じゃないの??
voidを使ってるのと使ってない差を教えてください
>>983
糖衣構文
985C言語やろう:03/03/30 14:22
↑糖衣??
等位?等意?
春+日=あほか
>>983
さんざん既出。
c++では同じ意味。
cではかなり違う意味。
「じゃないの?」と思うなら少しは自分で調べてみよう。
989デフォルトの名無しさん:03/03/30 15:55
セイロガン糖衣A
>>988
Cでも同じだが・・・
991990:03/03/30 16:07
ああ、関数の定義を呼び出しよりも前に書いたら意味がちがくなるな。
>>990
返値みたくint型と評価されるとか言いたいんでしょうか。

じゃあ、

void hoge()
{
/*暗黙のint型の引数にどうやってアクセスすればいいのか?*/
}

int main()
{
hoge();/*引数の数が足りないのでエラー*/
}
993990:03/03/30 16:10
俺は↓のように書くから。

void hoge(void);

int main()
{
hoge();
return 0;
}

void hoge()
{

}
994990:03/03/30 16:11
つまりプロトタイプ宣言では意味がちがくなると言いたかっただけ。
// intを返す関数hogeのプロトタイプ宣言。引数チェックなし
int hoge();

// intを返す関数hogeのプロトタイプ宣言。引数なし。
int hoge(void);
996さとし:03/03/30 16:24
int *pa;
とした場合は pa がポインタって言うのはわかるけど
*paっていううのは、変数じゃないしなんなんですか??
>>996
ポインタpaを間接参照。
int a=8;
int *pa=&a;
/* *pa==8 */
999デフォルトの名無しさん:03/03/30 16:27
>>997
黙れ春厨
1000か?
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。