C言語なら俺に聞け(入門編)Part 97at TECH
C言語なら俺に聞け(入門編)Part 97 - 暇つぶし2ch2:デフォルトの名無しさん
12/02/14 18:52:55.68
LEDの点灯プログラムの一部なんですけど
0x01 ^ 0xff とはどういう意味なのでしょうか?

3:デフォルトの名無しさん
12/02/14 18:54:18.84
そのくらい自分で調べろゴミ。

4:デフォルトの名無しさん
12/02/14 19:07:19.86
>>2
^はxorで、両方のビットが同じなら0、同じでなかったら1になる演算。
それは0xfeになる。

5:デフォルトの名無しさん
12/02/14 19:29:24.50
>>3
ホントにゴミなもんですいません

>>4
ありがとうございます
助かります

6:デフォルトの名無しさん
12/02/14 19:32:25.97
URLリンク(ameblo.jp)
検証お願いします

7:デフォルトの名無しさん
12/02/14 19:36:18.66
>>6
何ヶ月か前も同じコード見た記憶があるんだけど、なんで何回もきくの?

8:デフォルトの名無しさん
12/02/14 19:53:09.84
>>6
どうなの?

9:デフォルトの名無しさん
12/02/14 19:53:12.95
c言語初心者です。
バブルソートの問題なのですが、前から順に入れ替えたいと思い、
以下のソースを作成したのですが、うまくいきませんでした。
どこに問題があるのか教えていただけるとありがたいです。
#include <stdio.h>
int main(void){
int i,j,temp;
int suji[]={2,5,4,3};
for(i=0;i<4;i++){
for(j=i;j<3;j++){
if(suji[j]>suji[j+1]){
temp=suji[j];
suji[j]=suji[j+1];
temp=suji[j+1];
}
}
}
for(i=0;i<=3;i++){
printf("%d\n",suji[j]);
}
return 0;
}
よろしくお願いします。

10:デフォルトの名無しさん
12/02/14 19:57:04.09
>>9
値の交換が間違ってるのと(tempに二回代入してる)
最後の表示はjじゃなくてiを使う

11:デフォルトの名無しさん
12/02/14 19:59:55.89
>>9
値の交換はこうだろ。

temp=suji[j];
suji[j]=suji[j+1];
suji[j+1]=temp;

12:デフォルトの名無しさん
12/02/14 20:04:01.88
>>10
おっしゃる通りにしたらうまくいきました。
ありがとうございました。

>>11
うまくいきました。
ありがとうございました。

また機会があったらお願いします。

13:デフォルトの名無しさん
12/02/14 20:09:23.94
codepad使えば。
URLリンク(codepad.org)

14:デフォルトの名無しさん
12/02/14 20:16:36.17
根本的におかしいところは指摘しないとかw

15:デフォルトの名無しさん
12/02/14 20:19:43.07
>>13
それバブルソートじゃないだろw

16:デフォルトの名無しさん
12/02/14 20:23:10.97
おっと、すまん。
URLリンク(codepad.org)

17:デフォルトの名無しさん
12/02/14 20:30:34.07
バブルソートしてみた。
URLリンク(www.youtube.com)
昔、いろんなソートを可視化した動画を見たんだけどみつからない...

18:デフォルトの名無しさん
12/02/14 20:33:30.95
>>16
それもバブルソートじゃないだろ?

19:デフォルトの名無しさん
12/02/14 20:39:25.05
>>9
for(j=0;j<3-i;j++){
だな

20:デフォルトの名無しさん
12/02/14 20:43:53.08
>>19
だね

21:デフォルトの名無しさん
12/02/14 21:03:01.71
バブルソートはK&Rで覚えた。

22:デフォルトの名無しさん
12/02/14 21:05:25.76
しかし、バブルソートなんて初心者には弊害しかねーんじゃねーか?

23:デフォルトの名無しさん
12/02/14 21:06:38.91
>>22
弊害ってどんな?

24:デフォルトの名無しさん
12/02/14 21:11:06.17
バブルソートなんて難解なモンを初心者たる>>22に教えるとその時点で挫折するので
弊害しかない

っていうことだろう

25:デフォルトの名無しさん
12/02/14 21:16:46.98
そういうことか
でもそれで挫折するなら教えることがほとんど無いな

26:デフォルトの名無しさん
12/02/14 21:18:29.61
脱落する人は早めにあきらめてもらったほうが、お互い幸せだろう?

27:デフォルトの名無しさん
12/02/14 21:18:45.92
ソートは教えちゃいけねえんだよ
自分で思いつくまでの過程が大事なんだ

28:デフォルトの名無しさん
12/02/14 22:14:51.61
そうなのか。
バブルから選択ソート、マージ、クイックと何一つ自分で思いつけなかったわ。

29:デフォルトの名無しさん
12/02/14 22:16:10.91
そういえばビンソートは自分で思いついて天才かと思ったな。

30:デフォルトの名無しさん
12/02/14 22:16:21.86
選択ソートくらいは思いつくだろ

31:デフォルトの名無しさん
12/02/14 23:16:03.53
挿入ソートも配列二つ使うのなら割と自力で思い付けるよな

32:デフォルトの名無しさん
12/02/14 23:45:36.71
アルゴリズムの本にいろいろ載ってたから、自分で考える前に知ってしまったわ。

33:デフォルトの名無しさん
12/02/14 23:49:08.20
実はシャッフルの方が奥深い

34:デフォルトの名無しさん
12/02/14 23:57:59.38
そうと知ってればなあ。

35:デフォルトの名無しさん
12/02/15 00:34:29.02
だね

36:デフォルトの名無しさん
12/02/15 00:35:02.11
これは触っちゃダメだな
そーっとしとこう

37:デフォルトの名無しさん
12/02/15 00:41:56.51
>>28
クイックソートは別格だからw

38:デフォルトの名無しさん
12/02/15 00:50:20.62
自分でソートを書かなきゃならないってことはまずないんだけど
お手軽に実装できて動作が高速なコムソート(Comb Sort)はオススメ
アルゴリズムが単純だから悩まずにスラスラかける

39:デフォルトの名無しさん
12/02/15 00:55:35.76
おれはそんな変なのより自分で書くならクイックソートのが簡単だな。

40:デフォルトの名無しさん
12/02/15 01:52:16.15
件数が十分少ない時はクイックソートよりしょぼいアルゴリズムの方が速い

41:デフォルトの名無しさん
12/02/15 01:56:50.27
へえ

42:デフォルトの名無しさん
12/02/15 02:04:12.02
クイックソートでやって、ある程度塊の件数が少なくなったらアルゴリズムを切り替えるような技もある。

43:デフォルトの名無しさん
12/02/15 02:04:54.78
だから何十年前の話だ。

44:デフォルトの名無しさん
12/02/15 02:50:39.51
どう考えても最後がクイックだろ。メモリアクセスが広範囲にわたるから小規模なソートは得意。

45:デフォルトの名無しさん
12/02/15 02:59:32.95
>>44
アホ認定。

46:デフォルトの名無しさん
12/02/15 03:05:02.07
>>6
非の打ち所の無い完璧なソースですのでもう心配しないでくださいね。

47:デフォルトの名無しさん
12/02/15 08:48:35.58
挿入ソートは、ソート済みの配列に追加する際には重宝する。
NBASICの時代に、市販のマージャンソフトのソート部分を修正したのはいい思い出。

48:デフォルトの名無しさん
12/02/15 10:51:25.33
中央値だけを得るのに 部分省略した挿入ソート?で代用したことなら

9要素の中央値は ベタ展開で比較回数の工夫されているアルゴリズムがあるけど
要素数が可変だとすんげー面倒

49:デフォルトの名無しさん
12/02/15 11:49:11.58
メディアンフィルタとかの画像処理がらみですかね

50:デフォルトの名無しさん
12/02/15 11:53:19.89
そそ。 9要素中央値の出番はもろにメディアンフィルタです。

意味合いとして、値の変化の激しいところを維持しつつ ホワイトノイズを落とす って感じなので
別の1次元信号処理に応用しようとしたの(次元を可変にして)

51:デフォルトの名無しさん
12/02/15 11:59:28.39
今ならSSE使えばいいだけだな。

52:デフォルトの名無しさん
12/02/15 16:05:40.68
URLリンク(homepage3.nifty.com)

isgraphのとこで、印刷できる文字ってありますが
印刷ってどういう事ですか?


53:デフォルトの名無しさん
12/02/15 16:12:54.56
解決しました。

54:デフォルトの名無しさん
12/02/15 16:25:24.57
int c;
c='X';
のとき

cってのはXの文字コードをint型で代入してるだけで
Xであるという事は記憶できるんですか?


55:デフォルトの名無しさん
12/02/15 16:29:38.90
88っていう整数を文字コードとして解釈すれば'X'。
c='X' は c=88 とするのと同じ。


56:デフォルトの名無しさん
12/02/15 16:30:57.21
>>55
でも
c=88;

c='X';

の時じゃ
isupper(c)が違います。int型って数字そのものを記憶するだけじゃないのでしょうか。



57:デフォルトの名無しさん
12/02/15 16:35:02.52
違うと思っているのはキミが何かを間違えている。

58:デフォルトの名無しさん
12/02/15 16:38:11.07
>>56
違わないよ。
intでもcharでも記憶するのは数値であって、文字なんか記憶してない。
88は「X」なっていう決まりにみんなが従ってるだけ。

59:デフォルトの名無しさん
12/02/15 16:38:48.48
違うわけがない。
URLリンク(codepad.org)

60:デフォルトの名無しさん
12/02/15 16:39:03.67
>>56
URLリンク(codepad.org)
一緒になるよ

61:デフォルトの名無しさん
12/02/15 16:39:39.12
まぁ、ASCIIじゃない環境でやってるのなら話は別だけどな。

62:デフォルトの名無しさん
12/02/15 16:39:45.99
>>57
その通りでした。c=3のとき0だったけどこれは対応が無いだけでしたね。

別にcがXを記憶していたのではなく、cの記憶していたint型の値から
isupperが文字コードに変換するという作業をしたという認識でよろしいでしょうか。


63:デフォルトの名無しさん
12/02/15 16:40:32.99
かぶった上に整形もせずしかも間違えててはずかしい

64:デフォルトの名無しさん
12/02/15 16:40:41.85
変換はしない。

65:デフォルトの名無しさん
12/02/15 16:42:16.70
>>64
文字コードのデーターベースに参照するという事でしょうね。

66:デフォルトの名無しさん
12/02/15 16:43:28.67
日本語でおk。

67:デフォルトの名無しさん
12/02/15 16:46:12.98
申し訳ありません。自分なりの認識の仕方です。

68:デフォルトの名無しさん
12/02/15 16:50:52.12
ゆとりらしいな。

69:デフォルトの名無しさん
12/02/15 17:00:50.14
言語から入るより、コンピューターの仕組みみたいなのを先にやったほうがいいような

70:デフォルトの名無しさん
12/02/15 17:38:51.29
最近のゆとりは「必要があれば覚える」ってスタンスだからそういうところからやらないんだよ
そのほうが実質的で合理的、俺KAKKEEEEEEEEEEEEEEEEEEEEEEEEEEEとか思ってんだろ

71:デフォルトの名無しさん
12/02/15 17:48:07.89
#define C_SIZE 256
#include <stdio.h>
#include <string.h>
int main(void)
{
  char c[C_SIZE], substring[C_SIZE];
  int i, length;
  for(i = 0; i < C_SIZE; ++i) {
    c[i] = i;
  }

  length = 0x7E - 0x20 + 1;/* 0x7Eは、~のASCIIコード */
  strncpy(substring, &c[0x20], length);/* 0x20は、半角空白のASCIIコード */
  substring[length] = '\0';
  puts(substring);
  return 0;
}

72:デフォルトの名無しさん
12/02/15 17:50:06.52
>>70
まぁソフトウェアに限って言えば今は仕事ないでしょ?
コンピュータの仕組み知ってても就職ないし。



73:デフォルトの名無しさん
12/02/15 17:52:00.65
Turbo Dump Version 5.0.16.6 Copyright (c) 1988, 1999 Inprise Corporation
Display of File 1.TXT

000000: 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F !"#$%&'()*+,-./
000010: 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 0123456789:;<=>?
000020: 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F @ABCDEFGHIJKLMNO
000030: 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F PQRSTUVWXYZ[\]^_
000040: 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F `abcdefghijklmno
000050: 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 0D pqrstuvwxyz{|}~.
000060: 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................

74:デフォルトの名無しさん
12/02/15 18:22:13.30
必要があれば覚えるっていう本来は要領の良さによる賞賛されるべき能力が
単位を取ることにしか活かされてないってのが問題だね

勉学に励む上でこの能力を活かせばいいのに。

75:デフォルトの名無しさん
12/02/15 18:39:03.00
こういう構造体があったとする
struct A{int width; int height; char* header; char* data;};

実際にはこのようにインスタンス生成される(一例)
struct A a = {
.width = 20, .height = 20,
.header = "%name=smile a=#CCCCCC b=#FFCCCCC c=#FFFF00 d=#000000",
.header = "%name=brick a=#CCCCCC b=#FFCCCC";
.data =
"aaaaaaaaaaaaaaaaaaaa"
"bbbbbabbbbbbbbbbabbb"
"bbbbbabbbbbbbbbbabbb"
"bbbbbabbbbbbbbbbabbb"
"bbbbbabbbbbbbbbbabbb"
"aaaaaaacccccaaaaaaaa"
"abbbbbbccccccccbbbbb"
"abbbbcccccccccccbbbb"
"abbbccccdcccdcccbbbb"
"abbbccccccccccccbbbb"
"aaaaccccccccccccaaaa"
"bbbbbccccdddcccbabbb"
"bbbbbabccccccbbbabbb"
"bbbbbabbbbbbbbbbabbb"
"bbbbbabbbbbbbbbbabbb"
"aaaaaaaaaaaaaaaaaaaa"
"abbbbbbbbbabbbbbbbbb"
"abbbbbbbbbabbbbbbbbb"
"abbbbbbbbbabbbbbbbbb"
"abbbbbbbbbabbbbbbbbb"
};

76:75
12/02/15 18:42:00.94
訂正
.header = "%name=brick a=#CCCCCC b=#FFCCCC"; この行は不要

77:75
12/02/15 18:54:06.14
>>75を見れば、仕様はわかると思う。xpm系の亜流だと思う。(わからない人はいいです。さよなら)

BMP画像を変換して、この形式のCソースファイルとして出力するツールが欲しい。
pirntfでもFILE書き込みでも、なんでもいい。
とにかくこの形式に変換する簡単なツールでいい。

自分で書くの面倒なのでだれか書いてくれると助かる。
(ただし、標準C以外のライブラリーの使用はできないものとする。libbmp.aなどは使用できない制約)

簡単なものでいい。
制限が強くても構わない(たとえば256色パレットモードのBMP限定など)

78:デフォルトの名無しさん
12/02/15 18:55:52.31
自分でやれ

79:デフォルトの名無しさん
12/02/15 19:00:05.20
JavaとかC#とかならともかく、Cは所詮アセンブラの豪華なやつだし、
コンピュータの仕組み的な知識は必須だと思うな。
配列とか構造体とかも他の高級言語でいうような抽象的な構造じゃなくて、
メモリへのラベル付けみたいなもんでしかないし。

80:75
12/02/15 19:01:49.25
詳細な仕様を調べて無いのでわからないのだけど、おそらくパレット数はアルファベットの印字可能文字数が限度な気がする。
ので、[a-zA-Z]の50パレット程度が限度と考えて変換すればいいと思う。
(複数文字で1パレットという表し方が可能かどうかは不明)

0-9の数文字はランレングスに使うとか言いかねないので、使わない方が無難な気がする。@#%あたりの記号文字も危ないので使わない方が無難だと思う。
(とにかく、まだ仕様が決まってない。よくわからない状態)

とりあえず、BMPを50パレット程度の上記フォーマットのCコードへ変換して出力するツールを誰か書いてくれるとラクなのでお願いしますスーパーハッカーのみなさん

81:デフォルトの名無しさん
12/02/15 19:09:29.33
ちゃんと宿題スレで依頼しろよ

82:デフォルトの名無しさん
12/02/15 19:22:09.42
>>80
失せろゴミ

83:デフォルトの名無しさん
12/02/15 19:23:12.36
>>79
コンピュータの仕組み的な知識っていうけど、構造的な理解必要なの?

メモリってものがあるっていう理解以上に深いものはないでしょ。


int a=30;
なら何番地に30

string s="str"なら
何番地から何番地にかけてs t r
っていうね。



84:デフォルトの名無しさん
12/02/15 19:29:21.99
C言語でスレッドって出来るの?



85:デフォルトの名無しさん
12/02/15 19:30:42.13
>>83
プログラムカウンタ、スタックポインタ、スタックフレーム、スタック、ヒープ、
みたいな、実行時のイメージみたいなのは持ってる必要があると思う。


86:デフォルトの名無しさん
12/02/15 19:34:31.41
スタックポインタって何?

87:デフォルトの名無しさん
12/02/15 19:36:59.22
A7の別名

88:デフォルトの名無しさん
12/02/15 19:39:52.22
>>84
できるはず…?

実際は、C++コンパイラ(ライブラリ)をつかうとおもう。
たとえば、SmartWin
exitThread = fork(x, & KozuchiWidgets::ThreadWaitForObjectsCall);
これは、Cにみえるでしょ

C++Builder4のVCL(「TThread オブジェクトは,アプリケーションで複数の実行スレッドを作成できる抽象クラスです」)

89:デフォルトの名無しさん
12/02/15 19:48:29.86
>>84
Windows APIでは、
CreateThread()
TerminateThread()
ExitThread()

90:デフォルトの名無しさん
12/02/15 19:52:33.35
結局ライブラリ必要なんかwww
Cって機能少ないなぁ

91:デフォルトの名無しさん
12/02/15 19:56:20.27
アセンブラを除いたら一番プリミティブな道具だもの

92:デフォルトの名無しさん
12/02/15 20:00:32.13
>> 77
(わからない人はいいです。さよなら)

これにムカついたので作りません

93:75
12/02/15 20:00:51.81
osがposix準拠ならpthread使える
#include <pthread.h>

#include <stdio.h>
void* f(void* a){int i=100; while(i-->0) putchar(*((char*)a));}

main(){
pthread_t a,b;
pthread_create(&a, NULL, f, "A");
pthread_create(&b, NULL, f, "B");

pthread_join(a, NULL);
pthread_join(b, NULL);
}


94:デフォルトの名無しさん
12/02/15 20:04:15.68
C言語において抽象データ型って何でしょう?
また抽象データ型の反対って何ですか?

95:デフォルトの名無しさん
12/02/15 20:17:09.13
Cには言語がサポートする抽象データ型っていうのはないんじゃないの?
自前で作ったものでシミュレートする事はできるだろうけど。
言葉的には抽象の反対は具象だわね。


96:75
12/02/15 20:17:19.43
データを抽象化するためのテンプレートとなる抽象定義のメタ型となる型のことじゃね。
C++だと純粋仮想関数だけで定義したクラスを抽象クラスと呼ぶけど、それに近い概念のC版は知らない。

97:デフォルトの名無しさん
12/02/15 20:18:11.02
>>96
なんでコテなの?
クソコテなの?

98:75
12/02/15 20:20:10.59
>>92
べつにいいわ、もう書いたし。

99:デフォルトの名無しさん
12/02/15 20:21:34.79
>>96
意味わかんねー...

100:デフォルトの名無しさん
12/02/15 20:34:26.98
wikiって専門用語はかなり難しい記述でなされてるね。
慣れないと分からんわ。

101:デフォルトの名無しさん
12/02/15 20:45:49.10
struct 構造体は抽象データ型じゃないの?

102:デフォルトの名無しさん
12/02/15 20:53:56.32
Cの構造体はメモリ領域へのラベル付け。
もちろんオフセットを使うよりは抽象的だろうけど、
抽象データ型ってのはそういうのじゃないと思う。


103:デフォルトの名無しさん
12/02/15 21:33:28.72
メモリ領域からキョリを感じさせるデータの扱いが抽象データ型?

104:デフォルトの名無しさん
12/02/15 21:40:47.66
charは何で文字型と呼ばれてるのか。

105:デフォルトの名無しさん
12/02/15 21:43:37.92
アスキー文字1文字入れるのに1バイト必要だからじゃね

106:デフォルトの名無しさん
12/02/15 21:45:47.05
intはじゃぁ4倍文字型じゃないのか

107:デフォルトの名無しさん
12/02/15 21:49:12.49
>>106
アホがいる……

108:デフォルトの名無しさん
12/02/15 21:56:01.01
何でww
int型はcharの4倍大きい容量でしょw

109:デフォルトの名無しさん
12/02/15 22:07:23.94
半端な知識/前提と普遍ゴッチャだと
配列 = 等間隔に一様なデータ並べた構造
と決め付けて掛かっちゃうからねー

110:デフォルトの名無しさん
12/02/15 22:14:17.67
いや、配列はそうだろ。
何が言いたいのか知らんが

111:デフォルトの名無しさん
12/02/15 22:27:53.09
自分自身が何の話をしているのか隠したままハッタリかます奴は
いじめるとおもろいぞ

112:デフォルトの名無しさん
12/02/15 22:41:22.03
sizeof(int) >= sizeof(char) は確実だけど
sizeof(int) == sizeof(char) * 4 は環境次第じゃないっけ

113:デフォルトの名無しさん
12/02/15 22:48:10.78
ていうかなんで型のサイズって規定されてないんですかね?
C言語マスターさん教えてください

114:デフォルトの名無しさん
12/02/15 22:50:31.73
>>112
うん。
あと、intが16bit以上であることも確実

115:デフォルトの名無しさん
12/02/15 22:52:04.25
漢字とかのユニコードってint型で保持できるわけ?

116:デフォルトの名無しさん
12/02/15 22:53:01.09
>>115
符号化方式によっては保持できるかと

117:デフォルトの名無しさん
12/02/15 22:54:00.81
>>113
いったん決めたら後から変えたくなっても変えづらいから。
今はbit数で型指定できるからそれで問題ないでしょ

118:デフォルトの名無しさん
12/02/15 22:54:18.11
C言語と相性の良いグラフィックライブラリって何ですか?
有償でインストールするのでお願いします。

119:デフォルトの名無しさん
12/02/15 23:00:52.56
>>113
世の中にはいろんなアーキテクチャがあるからだよ。
>>115
専用の型を使え。
>>118
環境/用途による。

120:デフォルトの名無しさん
12/02/15 23:24:22.59
>>119
漢字の型ってあるの?

kyara型とか?

121:デフォルトの名無しさん
12/02/15 23:27:05.84
>>120
環境による。

122:デフォルトの名無しさん
12/02/15 23:39:56.96
まぁユニコードってとか言ってるやつが心配するこっちゃねーわな。

123:75
12/02/15 23:41:50.67
文字コードが妙に複雑なのは、アスキーコードと互換性を持たせようとしてるのと、
記録容量ケチろうとしてるのが原因。

1文字4バイト固定の文字コードをアングロサクソンが受け入れれば、以降に書かれるアプリで文字コードの問題は未来永劫起こらない。

124:デフォルトの名無しさん
12/02/15 23:52:48.56
ふーん

125:デフォルトの名無しさん
12/02/15 23:53:10.90
>>123
お前はユニコードも知らんのか。

126:デフォルトの名無しさん
12/02/16 00:36:01.22
16ビットでは不足していた。Unicodeは、拙速で失敗した


127:デフォルトの名無しさん
12/02/16 00:40:21.25
いつの時代だよ。

128:デフォルトの名無しさん
12/02/16 00:41:15.29
「65536個じゃ足らんかった」
UTF-16
UTF-8
UTF-32
スレリンク(tech板:475-476番)

129:デフォルトの名無しさん
12/02/16 01:19:04.38
Unicodeのコードポイント1つは
字面上の1文字に対応するとは限らないので
>>123みたいな発想は手遅れ

130:デフォルトの名無しさん
12/02/16 01:39:20.38
>>118
グラフィックライブラリ?
GUIではなくて? マルチメディアライブラリ? ハードウェアで高速描画?
有償のライブラリ?

131:デフォルトの名無しさん
12/02/16 01:49:17.87
もう、32バイトで一文字のビットマップ直接表現しようぜ。

132:デフォルトの名無しさん
12/02/16 01:49:46.43
頭、大丈夫か?

133:デフォルトの名無しさん
12/02/16 01:51:45.81
64bitの有能なパソコンだとC言語使ったら何か変わるの?

134:デフォルトの名無しさん
12/02/16 01:58:29.84
メモリがたくさん使える。

135:デフォルトの名無しさん
12/02/16 02:01:54.54
visual C++ダウンロードしたいのですが有償ですか?
古いのでいいのなら無償でインスコできますかね?

136:デフォルトの名無しさん
12/02/16 02:02:19.54
express

137:デフォルトの名無しさん
12/02/16 02:10:57.34
>>136
2010 expressを今ネトインスコしてます。
まじでドキドキします。
俺のPCで動くのだろうか。

138:デフォルトの名無しさん
12/02/16 02:46:12.85
ドキドキするね

139:デフォルトの名無しさん
12/02/16 02:52:44.52
起動遅過ぎだなぁ

140:デフォルトの名無しさん
12/02/16 03:13:02.49
マイクロソフトの人にdreamsparkのCD貰ったけど使ってないな

141:デフォルトの名無しさん
12/02/16 06:15:16.58
>>139
ずっと起動しとけば問題ない

142:デフォルトの名無しさん
12/02/16 15:40:52.76
二つのint型変数の値を返したい場合は、構造体を返すのがいいのでしょうか。
それとも、それぞれを分けて、一つずつ値を返す関数を書くのがいいのでしょうか。
あるいは、その二つのint型変数をグローバル変数として宣言し、呼ばれる側の関数で処理をするのがいいのでしょうか。
ないしは、呼ばれる側の変数にアドレスを渡して、ポインタを使って直接アクセスするのがいいのでしょうか。

私は、ポインタを使って直接アクセスするように書いたのですが、この方法では呼ぶ側の関数で必要のない変数(二つのint型変数)を宣言しなければならず、これが少し気持ち悪い気がするのです。
こんなときはどのようにするのが一番いいのでしょうか。

143:デフォルトの名無しさん
12/02/16 15:44:03.96
配列で返せばいいんだよ

144:デフォルトの名無しさん
12/02/16 15:47:02.34
>>142
二つのint型変数の値を返すんだから、返してもらう方(呼び出し側)が器用意してあげないでどうする?


145:デフォルトの名無しさん
12/02/16 15:49:34.14
>>142
>呼ぶ側の関数で必要のない変数
それ値返す必要が無いんじゃね?

146:デフォルトの名無しさん
12/02/16 15:53:34.90
/* 新規ファイルの作成*/
void makefile(const char *filename) {
FILE *fp;
char in[5], out[5];
if ((fp = fopen(filename, "r")) == NULL) {
fp = fopen(filename, "a");
fclose(fp);
} else fclose(fp);
output_data(in, out);
output_file(filename, in, out);
}
/* 出勤、退勤の打刻 */
void output_data(char *p, char *q) {
int i;
for (i = 0; i < 5; i++) {
p[i] = 0x00;
q[i] = 0x00;
}
puts("出勤時刻の打刻");
printf("出勤時刻:");
scanf("%4s", p);
puts("退勤時刻の打刻");
printf("退勤時刻:");
scanf("%4s", q);
}
/* ファイルに書き込む */
void output_file(const char *filename, char *in, char *out) {
FILE *fp;
fp = fopen(filename, "a");
fprintf(fp, "%s,%s\n", in, out);
fclose(fp);
}

147:デフォルトの名無しさん
12/02/16 15:57:18.05
>>144
これがソースなのですが、inとoutの値を返すのにはその器が必要ですよね。


ありがとうございました。

148:デフォルトの名無しさん
12/02/16 15:58:57.31
>二つのint型変数
待て。話が違うぞw

149:デフォルトの名無しさん
12/02/16 16:02:37.39
>>148
このソースでは数値を文字列として受け取り、あとからatoi関数で変換しようと思ったのですが、本当はint型のinとoutという変数を使いたかったのです。
すみませんorz

150:デフォルトの名無しさん
12/02/16 16:11:45.02
guidに文字を割り当てれば
全ての文字を表せる、おれおれ文字コードのできあがり。

151:デフォルトの名無しさん
12/02/16 16:25:01.40
>>142
もともと2つの整数をメンバーとする構造体(Win32のRectやPoint)が存在し、
それを返すことで見通しが良くなるなら、それを返してもよい。整数2つくらいなら問題ない。
その関数の返却値のために構造体を作ることは控えた方がいい。

>>148ならば配列で渡す場合が多いと思う。

152:デフォルトの名無しさん
12/02/16 17:43:49.25
visual C++のコンパイラの名称って何て言うんですか?

153:デフォルトの名無しさん
12/02/16 17:50:09.38
Microsoft (R) C/C++ Optimizing Compiler
って自称してる。

154:デフォルトの名無しさん
12/02/16 18:02:46.01
>>153
なるほど。


コマンドプロンプトでのコマンドはVisual C++独自のものってあるんですか?

155:デフォルトの名無しさん
12/02/16 18:12:36.23
は?

156:デフォルトの名無しさん
12/02/16 18:13:33.06
>>155
コンパイルするときのオプションコマンドですよ。
独自のものあるんでしょうか?

157:デフォルトの名無しさん
12/02/16 18:18:34.71
URLリンク(msdn.microsoft.com)(v=vs.100).aspx
自分で判断してください

158:デフォルトの名無しさん
12/02/16 18:18:44.78
KARAの盤権はフジパシフィック音楽出版
つまり宣伝すればするほど儲かるフジテレビ
URLリンク(www.officiallyjd.com)

Kポップの版権を大量に抱えるフジパシフィックの取締役の物まねをする石橋
URLリンク(petite-soeur.dyndns.org)
KARAと踊る木梨
URLリンク(petite-soeur.dyndns.org)
とんねるずの韓流始めました
URLリンク(petite-soeur.dyndns.org)


韓国ageだけならまだしもとうとう日本sageまで行った売国ウジテレビチョン
※すべて蛆テレビで放送されたドラマ内の映像
記事・URLリンク(f2.upup.be)
リトルTシャツ・URLリンク(f2.upup.be)
ワラ人形・URLリンク(f2.upup.be)
首相・URLリンク(f2.upup.be)
JAP・URLリンク(f2.upup.be)


159:デフォルトの名無しさん
12/02/16 18:20:06.83
コンパイルオプション何てよっぽど高度な事しない限り必要ないと
思いました

160:デフォルトの名無しさん
12/02/16 18:22:51.67
>>156
ほれ
URLリンク(msdn.microsoft.com)

161:デフォルトの名無しさん
12/02/16 18:31:49.54
>>160
ありがとう兄さん

でも使う事なさそうだね

162:デフォルトの名無しさん
12/02/16 19:05:33.82
>>161
使いまくるよ。
cl /? で一覧出てくるからどうぞ。

163:デフォルトの名無しさん
12/02/16 19:43:23.39
コンパイラーオプションを指定しないことは極めて稀。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch