C言語なら俺に聞け(入門編)Part 118
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2013/08/11(日) NY:AN:NY.AN★前スレ
C言語なら俺に聞け(入門編)Part 117
http://toro.2ch.net/test/read.cgi/tech/1373675124/
★過去スレ
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++の宿題片付けます 165代目
http://toro.2ch.net/test/read.cgi/tech/1370255305/
★C++言語については避けてください。C++対応明記スレへどうぞ。
★分からない事をなるべく詳しく書いて下さい。
★ソースコードを晒すと答えやすくなるかもしれません。
# 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること。
# サイズが大きい場合はアップローダ等を利用してください。
http://codepad.org/
http://ideone.com/
★開発環境や動作環境も晒すと答えが早いかもしれません。
★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。
0951948
2013/09/02(月) 23:27:39.99これってなんでこんなに複雑なんですか?何一つ理解できないんですけど。
JavaだとFrame("title");で終わりですよね?
何故?というか教えて下さい。
0952デフォルトの名無しさん
2013/09/02(月) 23:35:46.210953デフォルトの名無しさん
2013/09/03(火) 00:04:22.44MFCスレとかC++スレが良い。この話をここでやるとスレが脱線する
0954デフォルトの名無しさん
2013/09/03(火) 00:08:46.620955デフォルトの名無しさん
2013/09/03(火) 00:38:24.42グローバル変数として
double a1[10][20] = { 数値 };
double a2[10][20] = { 数値 };
:
がありこれらをまとめて3次元配列としようとしています。
自分なりに調べたのですが↓とするとmake時にWarningが出ます。
double (A*)[10][20] = { &a1, &a2, ... };
正しい書き方をご存知の方いらっしゃいますでしょうか。
0956955
2013/09/03(火) 00:53:36.90↑はdouble (A*)[10][20] ではなくdouble (*A)[10][20] でした
0957デフォルトの名無しさん
2013/09/03(火) 01:02:13.21typedef double Ary[10][20];
Ary ary[10][20];
↑よかAryのポインタの配列の方がいいんじゃね?
Ary *ary[10][20];
0958955
2013/09/03(火) 01:13:41.32なるほど、typedefを使用すればいいのですね
そのまま書くことのみを考えてしまってました
いまはビルド環境がなくすぐの確認は出来ないですが、明日作業場で確認します
ありがとうございました
0959デフォルトの名無しさん
2013/09/03(火) 01:24:38.80配列へのポインタ配列
ちなみに (*a[i])[j][k] なんて書き方が必要なのは、配列へのポインタとポインタ配列を
混ぜると仕方がない
#include <stdio.h>
double a1[2][2] = { {1.0, 2.0}, {3.0, 4.0} };
double a2[2][2] = { {5.0, 6.0}, {7.0, 8.0} };
int main(void)
{
double (*a[])[2][2] = { &a1, &a2 };
int i, j, k;
for (i = 0; i < 2; i++) {
for (j = 0; j < 2; j++)
for (k = 0; k < 2; k++)
printf("%f ", (*a[i])[j][k]);
putchar('\n');
}
return 0;
}
0960デフォルトの名無しさん
2013/09/03(火) 04:10:17.240961デフォルトの名無しさん
2013/09/03(火) 07:22:53.96for(i=0 ; i>255 ; i++){
a++;
}
return a;
}
これで255が返るはずなんですけど値が0になってしまうんですがなぜでしょうか?
0962デフォルトの名無しさん
2013/09/03(火) 07:37:38.660963デフォルトの名無しさん
2013/09/03(火) 07:40:11.150964デフォルトの名無しさん
2013/09/03(火) 07:52:31.640965デフォルトの名無しさん
2013/09/03(火) 07:52:37.230966デフォルトの名無しさん
2013/09/03(火) 21:49:45.90#include <stdio.h>
int main(void)
{
printf("aho");
return 0;
}
これでコンパイルしたらコンパイルエラーとして
コンパイラに内部エラーが発生しました。
_start not defined
って出てくるんですがどういうことがまずいんですか?
0967デフォルトの名無しさん
2013/09/03(火) 22:04:01.50エラーから察するにコマンド打つときに恐らく.libか.oファイルの指定が足りてない
それ以上は環境がわからないので答えようがない
0968955
2013/09/04(水) 00:40:21.80959さんの方法が想定していたものに一番近かったので採用させていただきました
ありがとうございます
私の中ではa[i][j][k]の形となるかな、と想定していたのですが
実現するにはmemcpy等を使用する冗長なコードしかなさそうです
ともあれお蔭様で解決することができました
typedefの案を下さった>>957さん、>>959さん
重ねてありがとうございます
0969紅光の騎士ライジングノヴァ ◆sWBUz7TGM2
2013/09/04(水) 01:12:10.07document.getElementByID('test').innerHTML="テストだぜベイビー";
とかさ、
C的にやるなら構造体用意して値入れてアドレス渡して画面を際描画でしょ?
JavaScript作った奴はマジで頭悪いと思う
0970デフォルトの名無しさん
2013/09/04(水) 01:15:12.390971デフォルトの名無しさん
2013/09/04(水) 01:25:04.46いやいや これでいいやろ
#include <stdio.h>
double a1[2][2] = { {1.0, 2.0}, {3.0, 4.0} };
double a2[2][2] = { {5.0, 6.0}, {7.0, 8.0} };
int main(void)
{
double (*a[])[2] = { a1, a2 };
int i, j, k;
for (i = 0; i < 2; i++) {
for (j = 0; j < 2; j++)
for (k = 0; k < 2; k++)
printf("%f ", (a[i])[j][k]);
putchar('\n');
}
0972デフォルトの名無しさん
2013/09/04(水) 01:26:47.96Googleが自分のシェアにモノを言わせて延命させちゃったんだよな
0973デフォルトの名無しさん
2013/09/04(水) 01:47:50.70本当やね
これで行けちゃう
double a1[2][2] = { {1.0, 2.0}, {3.0, 4.0} };
double a2[2][2] = { {5.0, 6.0}, {7.0, 8.0} };
int main(void)
{
double (*a[])[2] = { a1, a2 };
int i, j, k;
for (i = 0; i < 2; i++) {
for (j = 0; j < 2; j++)
for (k = 0; k < 2; k++)
printf("%f ", a[i][j][k]);
putchar('\n');
}
0974デフォルトの名無しさん
2013/09/04(水) 02:47:53.090975デフォルトの名無しさん
2013/09/04(水) 03:27:22.590976デフォルトの名無しさん
2013/09/04(水) 03:31:45.55デバッガ導入しないとまともに使えないカスJS
0977デフォルト名無しさん
2013/09/04(水) 06:08:43.01コンパイラを書けよ
0978デフォルトの名無しさん
2013/09/04(水) 06:38:00.38エラーメッセージから察するに tcc(Tiny C Compiler) かな。
「学習用C言語環境」でもインストールしたんだろうか。
コマンドプロンプトで直接コンパイル(>tcc test.c)すると動いたよ。
学習目的であっても、最初に触るCコンパイラは Microsoft Visual C
(Windows)、あるいはgcc(Linux)がオススメだよ
0979デフォルトの名無しさん
2013/09/04(水) 06:48:45.74Cで書いてコンパイルしたやつを埋め込まないとそういうの使えないようにしとけボンクラ。
0980デフォルトの名無しさん
2013/09/04(水) 06:59:51.91金儲けのチャンスだったりする。痛い目に遭ったクライアントは、次からは
少し高い金出しても、腕のいい職人を探してサイト作らせようとするから。
おっと、ここはC言語スレだったし
0981デフォルトの名無しさん
2013/09/04(水) 07:55:58.89Cみたいにコンパイルしてしまうならそういった状況は減るだろう
0982デフォルトの名無しさん
2013/09/04(水) 09:41:33.11ブラウザにも実装すべき。
フラッシュとジャバアプレットはあの領域内でしか
動作しないから役不足。
あのまま全画面フラッシュになれば
領域がブラウザのクライアントエリアと一致するからまだ良かったんだけど
どっかの馬鹿がジャバスクリプトマンセーしたせいで
こんなことになった。
0983デフォルトの名無しさん
2013/09/04(水) 10:11:35.860984デフォルトの名無しさん
2013/09/04(水) 10:26:44.460985デフォルトの名無しさん
2013/09/04(水) 13:53:30.710986デフォルトの名無しさん
2013/09/04(水) 14:47:50.99if(!a) は0の時だけ、真になるってわかったんですけど
if(a != b) の場合はどうなるんですか?
0987デフォルトの名無しさん
2013/09/04(水) 15:06:27.41「a != b」はaとbが等しいなら0、aとbが異なるなら1になる。
整数だったら、
if(a != b)とif(a-b)の分岐は一致するだろう。たぶん。
0988デフォルトの名無しさん
2013/09/04(水) 15:30:08.3344行目の
if (ch1 != ch2) {
printf("ファイルの内容が %lu バイト目で異なります", l);
same = 0;
これ意味がわからないんだけど?
正しいなら一致してるで・・・
0989デフォルトの名無しさん
2013/09/04(水) 15:31:53.85a != b
は両辺からbを引くことで
a - b != 0
になるからねぇ。
しかし、3箇月も経って>986の質問するようだと……
0990デフォルトの名無しさん
2013/09/04(水) 15:33:29.34ch1とch2が等しくないから「異なります」なんだろ。
どこに疑問が?
0991デフォルトの名無しさん
2013/09/04(水) 15:45:17.08読み込みバッファ用意するくらいにはなってて欲しいよね
0992デフォルトの名無しさん
2013/09/04(水) 16:27:41.03読み込みバッファ使ってるじゃん
0993デフォルトの名無しさん
2013/09/04(水) 16:57:12.640994デフォルトの名無しさん
2013/09/04(水) 17:14:49.680995デフォルトの名無しさん
2013/09/04(水) 17:25:00.020996デフォルトの名無しさん
2013/09/04(水) 17:35:16.830997デフォルトの名無しさん
2013/09/04(水) 17:40:37.650998デフォルトの名無しさん
2013/09/04(水) 18:41:14.840999デフォルトの名無しさん
2013/09/04(水) 19:13:42.88そのプロセスが確保できるスタックなりヒープなりの空き領域による
そういうことを聞いているんじゃなくて?
1000デフォルトの名無しさん
2013/09/04(水) 19:17:27.4110011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。