トップページ⇒tech
1001コメント244KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG?S★(531555)
C言語の*入門者*向け解説スレッドです。
★前スレ
C言語なら俺に聞け(入門編)Part 70
http://hibari.2ch.net/test/read.cgi/tech/1285490211/
★過去スレ
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++の宿題片付けます 140代目
http://hibari.2ch.net/test/read.cgi/tech/1284632294/
★C++言語については避けてください。C++対応明記スレへどうぞ
★分からない事をなるべく詳しく書いて下さい。
★ソースコードを晒すと答えやすくなるかもしれません。
  # 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること
  # サイズが大きい場合は宿題スレのアップローダ等を利用してください
★開発環境や動作環境も晒すと答えが早いかもしれません。
★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。
0002デフォルトの名無しさん2010/10/10(日) 22:41:49
                      ,、
                 _ ,ノ ,ヘ、、
               /´   ノ    `ヽ、
              /     /       ヽ
                i′   ,/         ',
             {    {           }
              ',    `、        ,!
           ___ヽ    `       丿__,,
          , ゝ  `ヽ、         /´   く _
        <-‐''´  ̄ ̄`,ゝ、、___,,, <´ ̄ ̄` ー->
          ` ー''´Z_ノ        ヽ、_ヾ ー ´

        C H I N E S E   R E S T A U R A N T
    __ __ __ __       __     __       __
    `i  | | i'l_i'l_i'     i''´ __`ヽ-ッ _コ  l____ i´__`ー-ッ  _,,.、
     ,!  ,! .l l   _,,,_   └'´__ ``´ レ┐ ┌─┐ ,!'´ ``´ /,r''´
    / 丿 '、'、 l´ __`ヽ-ッi''´__`ヽ-ッ  .l  l  ノ /     / /
   / /   ヽ ヾ´  ``'´└'´,,_``'´   l └ ' ,/   ___,,ノ /
_,,.r'' /      \ `>  r'"´   ``ヽS.) l  「´    「´    _ノ
‘''' ´           `′ └ ''´ ̄``‐-‐'' └ ┘   └‐ '' ´
0003デフォルトの名無しさん2010/10/10(日) 22:43:48
                          刀、           , ヘ
                  /´ ̄`ヽ /: : : \_____/: : : : ヽ、
              ,. -‐┴─‐- <^ヽ、: : : : : : : : : : : : : : : : : : : : : : }
               /: : : : : : : : : : : : : :`.ヽl____: : : : : : : : : : : : : : : : : : /
     ,. -──「`: : : : : : : : : :ヽ: : : : : : : : :\ `ヽ ̄ ̄ ̄ フ: : : : :/
    /: :.,.-ァ: : : |: : : : : : : : :    :\: : : : :: : : :ヽ  \   /: : : :/
    ̄ ̄/: : : : ヽ: : : . . . . . . . . . . .、 \=--: : : :.i  / /: : : : :/
     /: :     ∧: \: : : : : : : : : : ヽ: :\: : : 〃}/  /: : : : :/         、
.    /: : /  . : : :! ヽ: : l\_\/: : : : :\: ヽ彡: : |  /: : : : :/            |\
   /: : ィ: : : : :.i: : |   \!___/ ヽ:: : : : : : :\|:.:.:.:/:!  ,': : : : /              |: : \
   / / !: : : : :.ト‐|-    ヽ    \: : : : : l::::__:' :/  i: : : : :{              |: : : :.ヽ
   l/   |: : :!: : .l: :|            \: : : l´r. Y   {: : : : :丶_______.ノ: : : : : :}
      l: : :l: : :ト、|         、___,ィ ヽ: :| ゝ ノ    '.: : : : : : : : : : : : : : : : : : : : : : /
      |: : :ト、: |: :ヽ ___,彡     ´ ̄´   ヽl-‐'     \: : : : : : : : : : : : : : : : : : イ
        !: :从ヽ!ヽ.ハ=≠' , ///// ///u /           ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
      V  ヽ|    }///  r‐'⌒ヽ  イ〉、
              ヽ、______ー‐‐' ィ´ /:/:7rt‐---、       こ、これは>>1乙じゃなくて
                  ィ幵ノ ./:/:./:.! !: : : : :!`ヽ     ポニーテールなんだから
              r‐'T¨「 |: | !:.∨:/:./: :| |: : : : .l: : : :\   変な勘違いしないでよね!
               /: : .|: :| !:.!ィ¨¨ヾ、:.:/ !: : : : l: : : : : :.\
0004デフォルトの名無しさん2010/10/10(日) 22:46:40
     ___,. イ´   イ     ̄厂 _ __,.不 ニ-'⌒   `ヽ
    /´      ̄ ̄ ̄ ̄`ー 、  / /´     ,-‐' Y´       ヽ
   /                 ヽ  /                   ',
   /                                        i
  ,'                                    /    |
  !                                   イ     |
  |    !                               │      !
  !    ヽ                               │    |
  |    │                               │    !
  !   │                            ,.- 、   │    |
  !   │   ,...                        ! r‐、`  │   │
  |   │   /r-、ヽ                       ゞ‐' j  │   ! |
  ',  │   !::ゞィ〃                       ゛="   │   |
   ! │    `ー'                             │  !
   | │                                   │  !
   !  │,                                   │  i
   |  │                                   ,'   ',
   |   │                                  │   |
0005デフォルトの名無しさん2010/10/10(日) 23:15:52
てst
0006デフォルトの名無しさん2010/10/11(月) 06:35:53
Win32の構造体宣言でよく見る
HOGESTRUCT hs = {sizeof hs};
って規格的には大丈夫なんでしょうか?
リテラルパース時にはhsが解決されてるのか、仕様書みてもよくわかりませんでした。
0007デフォルトの名無しさん2010/10/11(月) 06:52:13
sizeofは演算子でC89準拠であっても定数扱いだから初期化子に入れても問題ないし
というか何が不安なんだ?
0008デフォルトの名無しさん2010/10/11(月) 08:15:31
演算子じゃなくて、シンボルの話してるんですが。
char *p = (char *)&p;
でもいいんですが、宣言の初期化で宣言元(?)をリテラルに含めていいのか、って話です。
例えばbcc32では下記はエラーになります。gccやtccではOKです。
char *p[] = { (char *)&p };

動作がどーのこーのではなく、規格ではどう定義されてるのか調べてます。
0009デフォルトの名無しさん2010/10/11(月) 08:42:28
すいません、そもそもbcc32は配列のリテラルの処理がおかしいってことが分かりました。
他のコンパイラではOKなので、とりあえず宣言の初期化子に代入先のオブジェクトを含めてよい、
ってことにしておきます。仕様上はよくわかりません。
ちなみに仕様はISO/IEC 9899 の6.7.8を参照していました。

/* オマケ:bcc32のおかしな挙動 */
char g;
int main(void)
{
char q;
char *p1[] = {&g}; /* OK */
char *p2[] = {&q}; /* ERROR:E2063 */
return 0;
}
0010デフォルトの名無しさん2010/10/11(月) 08:59:14
>>9
gのアドレスはリンク時に解決するから定数扱い。
qのアドレスはローカルだから可変値扱い。
bccはc99に対応していないから可変値で初期化できない。
gccやicc、Sun-OSのccはc99をある程度解釈する。
何の問題もない。
0011デフォルトの名無しさん2010/10/11(月) 10:00:17
なるほど、C99ではOKでそれ以前では仕様上NG、ということですね。
VC6.0でエラーにならないなと思ったら/W4で規格外だというエラーがでました。

解決しました、ありがとうございます。
0012デフォルトの名無しさん2010/10/11(月) 12:18:16
宣言で使っていいかどうかって問題じゃないだろ
↓定数でないものが使える宣言と使えない宣言がある
main()
{
int a = printf(0); /* OK */
int b[] = { printf(0) }; /* NG */
}
>>6 や >>8 の論点は sizeof hs の時点で hs が何のことになっているのか、
&p の時点で p が何のことになっているのかであって、
sizeof や & の結果が定数かどうかではない
0013デフォルトの名無しさん2010/10/11(月) 13:33:01
C言語で動的なn次元確保は可能ですか?
ループにしたがって
n+1,n+2,n+3,n+4,n+l次元みたいな
0014デフォルトの名無しさん2010/10/11(月) 14:20:41
>>13
別に確保はできるよ。
ただし、Cである以上は、確保した領域をどう使うかはプログラマの責任だが
0015デフォルトの名無しさん2010/10/11(月) 14:56:55
>>12
それです、本当に知りたかったことはそれなんですが、
どう見ても仕様書には書いてないように思います。

sizeofに戻ると、初期化リテラルのブロック内で自身の最終情報を得るのは不可能です。
変数が配列でないなどの条件付です。以下を考えてみれば分かります。
int a[] = { sizof a, sizeof a };
これはワンパス的なやりかたで実装されてると解決できません(宣言と初期化を完全に分けれません)。
VC6はゼロ初期化で押し通します。

現実のコンパイラでこの辺の挙動は「未定義」といっていい感じなのは分かりました。
だけど配列でない場合は上手くいく、その歯がゆさ。
0016デフォルトの名無しさん2010/10/11(月) 16:38:56
そりゃそうだ。中身が判らないのに量が判るわけないじゃん。
構造体の場合は中身はこれこれって定義があるんだから量が判って当然だし。
0017デフォルトの名無しさん2010/10/11(月) 17:11:15
>>16
決め付けはよくないですよ。
例えばtccでは正しく初期化されます。
0018デフォルトの名無しさん2010/10/11(月) 18:22:53
「tccでは」
アホか
0019デフォルトの名無しさん2010/10/11(月) 19:45:33
仕様書で記述発見しました。自己解決です。
お騒がせしました。
0020デフォルトの名無しさん2010/10/11(月) 20:05:01
初歩的な質問ですみませんが 
printfで"●"をX回表示させるにはどうすればいいですかね?
0021デフォルトの名無しさん2010/10/11(月) 20:06:53
printf("●");
をX個書く
0022デフォルトの名無しさん2010/10/11(月) 20:09:36
>>21 
なるほど、ありがとうございました
0023デフォルトの名無しさん2010/10/11(月) 22:14:48
>>22
いえいえ
0024デフォルトの名無しさん2010/10/11(月) 23:26:14
>>22
俺にもお礼いえよ
0025デフォルトの名無しさん2010/10/11(月) 23:29:05
>>24
ありがとうございました
0026デフォルトの名無しさん2010/10/11(月) 23:29:54
>>25
どういたしまして
0027デフォルトの名無しさん2010/10/11(月) 23:40:57
そんなそんな
0028デフォルトの名無しさん2010/10/12(火) 07:02:01
自演注意報。
0029デフォルトの名無しさん2010/10/12(火) 11:13:55
for (i = 0; i < X; i++) printf("●");
0030デフォルトの名無しさん2010/10/12(火) 17:13:44
int main(){
int a;
int *p_a;
 a= 100; ←ここで定義するとエラーとなりました。
p_a = &a;

return 0;
}

どうしてなんでしょう?
0031デフォルトの名無しさん2010/10/12(火) 17:14:59
全角の空白が入ってるからじゃないか
0032デフォルトの名無しさん2010/10/12(火) 17:22:24
すいません。
半角に直してもダメみたいです。
0033デフォルトの名無しさん2010/10/12(火) 17:26:06
エラーの内容くらい書けよ
0034デフォルトの名無しさん2010/10/12(火) 17:43:08
ポインタp_aが
ここでは宣言できないと言われました。
a=100;を削除したところ通りました。 どうしてでしょうか?
0035デフォルトの名無しさん2010/10/12(火) 17:48:58
>>34
codepadに問題のソースを貼り付けたまえ。
0036デフォルトの名無しさん2010/10/12(火) 17:52:46
>>30の通りではなく
int a;
a = 100;
int *p_a;
ってなってるんだろ
0037デフォルトの名無しさん2010/10/12(火) 17:55:12
エラーメッセージをコピペすることさえできないクズ
0038デフォルトの名無しさん2010/10/12(火) 17:55:29
>>34
適当な翻訳しなくていいからエラーコード全部出せって
0039デフォルトの名無しさん2010/10/12(火) 17:57:53
エラーメッセージをそのままコピペしろや
0040デフォルトの名無しさん2010/10/12(火) 18:00:05
配列を引数にすると参照渡し、構造体を引数にするとコピー渡しですよね。
構造体を引数にして構造体内の配列をコピー渡ししたいのですが
構造体定義でint a[9]と長さが指定されているものならコピーされましたが
構造体定義でint *aとし、使うときにmallocした配列だとコピーされないように感じます。
可変長配列の場合はできないのでしょうか?
0041デフォルトの名無しさん2010/10/12(火) 18:01:07
長さが分からないからな
0042デフォルトの名無しさん2010/10/12(火) 18:03:20
コピーされるのはポインタ変数だからな
0043402010/10/12(火) 18:07:43
あー。構造体のメンバとしてはint *aだから*aがコピーされるだけ。
aを配列として扱ってるのはおまえの勝手だろ ってことですか。

では関数の引数に可変長の配列をコピーで渡したい場合はどうしたらいいのでしょうか?
0044デフォルトの名無しさん2010/10/12(火) 18:07:53
コピー渡しとか変な用語作るなよw
0045デフォルトの名無しさん2010/10/12(火) 18:10:19
自分で新しくmallocしてコピーして渡したあとfreeすればいいです
0046デフォルトの名無しさん2010/10/12(火) 18:12:26
関数側でサイズを受け取って、内部でmallocで領域確保してそこにコピーしてやるしかないんじゃね?
0047デフォルトの名無しさん2010/10/12(火) 18:29:31
c++と勘違いしてるとか
0048デフォルトの名無しさん2010/10/12(火) 18:38:37
>>40
できない
0049デフォルトの名無しさん2010/10/12(火) 18:40:01
>>43
コピーされるのは *a でなく a
0050デフォルトの名無しさん2010/10/12(火) 19:00:35
出力変換指定子についての質問です。
printf("%d万",100);の場合、%dに右側の100という文字列を
代入するという考え方で合ってるでしょうか?
0051デフォルトの名無しさん2010/10/12(火) 19:03:50
代入じゃないけど100を参照しにいく
0052デフォルトの名無しさん2010/10/12(火) 19:12:52
>>50
そんなこと知らなくてもCを使うのに困ることはないよ。
その上でどうしても知りたいなら、使ってるコンパイラのソースを入手しなさい。
規格で決まってるのは「どういう結果になるか」だけ。
「どう実現するか」はコンパイラ次第。
0053デフォルトの名無しさん2010/10/12(火) 19:13:56
%dと100が置き換わると考えれば分かりやすいんじゃ
0054デフォルトの名無しさん2010/10/12(火) 19:22:29
cygwin上のgccから以下のプログラムをコンパイルし、C:\にディレクトリ"a"とコンパイルしたプログラムを置いて実行したのですが、失敗してしまいました。
"R:\a"の部分を"b"とすると正常に処理されました。解決策はありますか?

#include <stdio.h>

int main(void)
{
char *oldname = "a";
char *newname = "R:\a";

if( rename( oldname, newname ) == 0 ){
printf( "Rename successflly from %s to %s", oldname, newname );
}
else{
printf( "Rename failed" );
}
return 0;
}
0055デフォルトの名無しさん2010/10/12(火) 19:36:34
R:\\a
0056デフォルトの名無しさん2010/10/12(火) 20:01:41
>>55
ありがとうございました。
リネーム先が"R:\\a"ではまだエラーが出てしまうのですが、試しに"C:\\b"とするとリネームしてくれるので構文に間違いないと思います。
色々粘ってみます。
0057デフォルトの名無しさん2010/10/12(火) 20:07:05
>>56
R:\で実行してないか?
R:\aをR:\aにリネームはできないよ。
0058デフォルトの名無しさん2010/10/12(火) 20:15:03
C:\a を R:\a にもリネームできないと思う
そういうのはリネームじゃなくて移動っていうんだ
0059デフォルトの名無しさん2010/10/12(火) 20:17:21
>>57
ありがとうございます。
C:\に実行ファイルとディレクトリ"a"を置いてやってます。R:\はramdiskです。
0060デフォルトの名無しさん2010/10/12(火) 20:21:27
Windows(CRT)でもPOSIXでも>>58が正解だな
0061デフォルトの名無しさん2010/10/12(火) 20:24:43
>>58>>60
ありゃりゃ、方法からマズかったですか。
調べなおして書き直すことにします。ありがとうございました。
0062572010/10/12(火) 21:17:12
>>59
すまん>>54全く見ずにレスしちまった。ってもういないか。
0063デフォルトの名無しさん2010/10/12(火) 23:03:49
>54
pathの指定方法が間違っていないかい?
ドライブルートは/cygdriveの下にマウントされる。
char *newname = "R:\a";
ではなくて
char *newname = "/cygdrive/r/a";
だと思うよ。
試しにls /cygdriveに何がマウントされているか、確かめてみて。
0064542010/10/13(水) 00:04:49
windowsAPIのCopyFileとやらで対処しようとしたら案の定というかBCCに拒否され吠え面かいて戻ってきたら返信が。ありがとうございます。

>>62
いえいえ、>>54みたいな稚拙でイミフな質問を適切に解釈してくださるエスパーの方々には頭が上がりません

>>63
早速以下のように改造のうえコンパイルしてC:\で走らせてみました。
#include <stdio.h>

int main(void)
{
char *oldname = "a";
char *newname = "/cygdrive/r/a";

if( rename( oldname, newname ) == 0 ){
printf( "Rename successfly from %s to %s", oldname, newname );
}
else{
printf( "Rename failed : %s",newname );
}
return 0;
}

するとDOSプロンプト上で次のように結果が得られました。
Rename failed : /cygdrive/r/a

この時プログラムはWindowsディスク上に/cygdrive/r/aを作ろうとしてるんでしょうか?
ちなみにnewnameを"R:\\a"とすると次のようになりました。
Rename failed : r:\a
0065デフォルトの名無しさん2010/10/13(水) 00:12:10
失敗したときのerrnoを確認してみたら
0066632010/10/13(水) 01:01:06
>64
>するとDOSプロンプト上で次のように結果が得られました。

cygwin bash shell上で実行しないとだめだよ。
このコードで期待通りに動いているよ。

#include <stdio.h>

int main(void)
{
char *oldname = "input.txt";
char *newname = "/cygdrive/c/hoge.txt";

if( rename( oldname, newname ) == 0 ){
printf( "Rename successflly from %s to %s\n", oldname, newname );
} else {
printf( "Rename failed\n" );
}
return 0;
}

実行結果
$ ./main
Rename successflly from input.txt to /cygdrive/c/hoge.txt
0067デフォルトの名無しさん2010/10/13(水) 01:48:10
>>63
cygwinはどっちも受け付ける

>>64
R:\もC:\もWindowsの中だろ

だからさあファイルシステムを跨いだrename()は無理だっつーの
0068デフォルトの名無しさん2010/10/13(水) 02:05:26
>>65
errnoなんてライブラリがあるんですね。勉強になります。

>>66
cygwinのbash上でそのプログラムを実行してみたのですが、同じ結果でした。errnoは2でnot foundみたいでした。私の環境か方法が悪いのだと思います。
その前に元プログラムの*newname = "r:\\a"で試してみたらerrno=13 (permission denied)が出力されました。
というかそのプログラムさえ動かないのは何かマズいミスを犯してる気がするので、明日落ち着いてまた走らせてみます。

>>67
やや、やっぱり私の試してる通りの方法は無理ですか。なんとかAPIを利用しないやり方をと思ったのですが・・・
WindowsAPIの部分をコンパイルするには該当するヘッダファイルを導入すればいいのかな?


色々実験しながらのレスとはいえ、アドバイスを下さる方々に不躾な部分があったかもしれません。お詫び申し上げます。
重ね重ねありがとうございます。
0069デフォルトの名無しさん2010/10/13(水) 02:12:31
cygwinのstrace使ってみるとか
0070デフォルトの名無しさん2010/10/13(水) 05:32:17
cygwinなんて使うのやめたらいいのに。
0071デフォルトの名無しさん2010/10/13(水) 06:08:41
糞アッー!スワップは使えないことは無い
0072デフォルトの名無しさん2010/10/13(水) 10:02:43
>>67
コロンつきのパスを解釈するのはシェルがコマンドラインをパースするときだろ。
アプリ内からライブラリ呼ぶときまでは受け付けてくれないんじゃないかと思うが。

つーか、cygwinスレに行けばいいよ。
0073デフォルトの名無しさん2010/10/13(水) 10:55:44
int main(void)
{
char res67[256];

printf(">>72 つーか、cygwinスレに行けばいいよ。\n");
gets(res67);
if (res67 ==">>67:cygwinスレ行かない\n")
  {
    printf("俺:>>72\n釣りだろ\n");
  }
}
0074デフォルトの名無しさん2010/10/13(水) 11:07:20
gets()使用禁止
0075デフォルトの名無しさん2010/10/13(水) 17:21:54
gets は便利だから学習段階においては積極的に利用すべし。
0076デフォルトの名無しさん2010/10/13(水) 17:23:01
>>74
お前にそれを言う資格はない
0077デフォルトの名無しさん2010/10/13(水) 17:26:37
gets()の罠には一度はまっておけばいいと思うよ。
0078デフォルトの名無しさん2010/10/13(水) 17:32:41
そうそう「転ばぬ先の杖」は初学者の為にならない
一度痛い目を見ておくべき
0079デフォルトの名無しさん2010/10/13(水) 18:03:35
てか、標準入力なんて学習段階でしか使わないんじゃね?
0080デフォルトの名無しさん2010/10/13(水) 18:09:09
そうでもない。リダイレクトして使うことがしばしば。
0081デフォルトの名無しさん2010/10/13(水) 18:09:56
生きがいもなく生きてるくせに妙なこだわりだけはあるんだなお前ら
0082デフォルトの名無しさん2010/10/13(水) 18:11:31
煽りだけが生きがいの人に言われてもw
0083デフォルトの名無しさん2010/10/13(水) 18:14:00
getsだろうがscanfだろうがどうでもいい
0084デフォルトの名無しさん2010/10/13(水) 18:25:06
C自体が時代遅れの古き良き時代の言語なのに痛い目もなにもないよーな
0085デフォルトの名無しさん2010/10/13(水) 18:34:25
staticのローカル変数をchar10コ分確保する場合どっちの記述が正しいですか?
どれも正しくない場合は訂正してください。
1. static char *str = (char *)malloc( sizeof(char) * 10 );
2. static char *str = (static char *)malloc( sizeof(char) * 10 );
0086デフォルトの名無しさん2010/10/13(水) 18:34:56
3. static char str[10];
0087デフォルトの名無しさん2010/10/13(水) 18:38:02
>>86
ごめん。個数は変数で与えられいて動的に確保しなければならない場合は?
0088デフォルトの名無しさん2010/10/13(水) 18:41:32
static char *str;
if (!str) str = malloc(個数);
0089デフォルトの名無しさん2010/10/13(水) 18:42:36
>>87
>>85と言ってることが矛盾してる=釣り
0090デフォルトの名無しさん2010/10/13(水) 18:42:58
>>84
WindowsもLinuxもCで書かれているのに古き良きもないもんだ
0091デフォルトの名無しさん2010/10/13(水) 18:44:00
ifはどういう意味ですか?
初期化してないのに参照できるんですか?
0092デフォルトの名無しさん2010/10/13(水) 18:46:12
そもそも静的変数に不定数の初期化子を代入できない
C++と勘違いしてね?
0093デフォルトの名無しさん2010/10/13(水) 18:49:09
>>90
WindowsはC++だが?
0094デフォルトの名無しさん2010/10/13(水) 18:50:29
>>93
バーカCだよ
MSDN良く見てみろ
俺も最初はC++だと勘違いしていた口だ
0095デフォルトの名無しさん2010/10/13(水) 18:52:36
どっちでもいい
0096デフォルトの名無しさん2010/10/13(水) 18:53:27
>>92
そうですか。
ようは何がしたいかというと呼び出した関数内で静的領域(配列)を動的に確保して
それに値代入して、そのアドレスを返したいんですけど、
こういう場合はどうやって領域確保すりゃいいんですか?
0097デフォルトの名無しさん2010/10/13(水) 18:54:49
>>96
VisualBasicかC#を使う
0098デフォルトの名無しさん2010/10/13(水) 18:55:33
>>97
Cじゃできんってこと?
0099デフォルトの名無しさん2010/10/13(水) 18:55:51
>>96
あたらしい仕様で俺様言語を策定する
0100デフォルトの名無しさん2010/10/13(水) 18:57:51
>>96
どうして静的領域じゃないとだめなん?
ヒープ領域ではだめな理由があるの?
0101デフォルトの名無しさん2010/10/13(水) 18:59:15
>>98
エンジンに翼を付けて飛ばしたいのか?
翼にエンジンを付けて飛ばしたいのか?
■ このスレッドは過去ログ倉庫に格納されています