検索結果 20 件

by やまっち
1年前
フォーラム: C言語何でも質問掲示板
トピック: 2次元配列へのポインタ
返信数: 3
閲覧数: 10546

Re: 2次元配列へのポインタ

ありがとうございました。参考になりました。
by やまっち
1年前
フォーラム: C言語何でも質問掲示板
トピック: 2次元配列へのポインタ
返信数: 3
閲覧数: 10546

2次元配列へのポインタ

2次元配列へのポインタ を調べてみたのですが、理解できません。 以下のようなコードを書いたのですが、エラーになってします。 どのように書くべきか、教えて頂きたいです。 よろしくお願いします。 #include <stdio.h> int a[3][5]={ // 2次元配列 (グローバル変数) {1,2,3,4,5}, // y=0 {2,3,4,5,6}, // y=1 {3,4,5,6,7} // y=2 }; int b[3][5]={ {11,22,33,44,55}, {22,33,44,55,66}, {33,44,55,66,77} }; int main(){ int x,y;...
by やまっち
8年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体へのポインタの件 (struct で実装できて typedef struct で実装できない)
返信数: 2
閲覧数: 3282

Re: 構造体へのポインタの件 (struct で実装できて typedef struct で実装できない)

みけCAT さん、適切なアドバイスありがとうございました。
タグを使う方法、前方宣言を使う方法、ともに使う事ができました。
ありがとうございました。
by やまっち
8年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体へのポインタの件 (struct で実装できて typedef struct で実装できない)
返信数: 2
閲覧数: 3282

構造体へのポインタの件 (struct で実装できて typedef struct で実装できない)

いつもお世話になっております。 以下のような構造体を使った C 言語のコードを書いてみたのですが struct の方は希望通りにコンパイルと動作確認ができたのですが typedef struct の方は   test2.c:19:2: エラー: 不明な型名 't' です と言う具合のエラーが出てコンパイルできません。 何か回避方法はありますでしょうか? 環境は以下の通りです。 Windows7 64bit MinGW 付属の gcc (gcc バージョン 5.3.0 (GCC)) #include <stdio.h> // #define TS_TEST struct s{ struct s ...
by やまっち
8年前
フォーラム: C言語何でも質問掲示板
トピック: MinGW gcc + cmd で文字化け (Windows 7 64bit)
返信数: 5
閲覧数: 7746

Re: MinGW gcc + cmd で文字化け (Windows 7 64bit)

だんごさん、非常に有益な情報ありがとうございました。 教えて頂いた通り、インストール後にフォルダごと zip 圧縮し 他の PC に持って行っても正常に動作する事を確認しました。 インストール直後に gcc --help とすると、なぜか最後の数行だけが 文字化けしてしまいますが、 set LC_CTYPE=C-SJIS とする事で、その現象も発生しないようになりました。 Windows 7 の cmd がどうやっても EUC を表示できず MinGW-gcc440_1.zip の中の gcc が、環境変数をどういじっても EUC しか出力できず cygwin などの他のコンソールの導入を検討...
by やまっち
8年前
フォーラム: C言語何でも質問掲示板
トピック: MinGW gcc + cmd で文字化け (Windows 7 64bit)
返信数: 5
閲覧数: 7746

Re: MinGW gcc + cmd で文字化け (Windows 7 64bit)

だんごさんから教えていただいた環境変数ですが
試してみたのですが変化はありませんでした。

引き続き、何か情報がありましたらよろしくお願いします。
by やまっち
8年前
フォーラム: C言語何でも質問掲示板
トピック: MinGW gcc + cmd で文字化け (Windows 7 64bit)
返信数: 5
閲覧数: 7746

MinGW gcc + cmd で文字化け (Windows 7 64bit)

MinGW の gcc でいろいろと試しているのですが コンパイル時のエラー や gcc --help の出力が cmd 上 で文字化けしてしまい、困っています。 数週間前の過去ログ (だんごさんが立てたスレッド) http://dixq.net/forum/viewtopic.php?f=3&t=18785 http://dixq.net/forum/viewtopic.php?f=3&t=18810 も参考にしたのですが、解決に至っておりません。 gcc のコンソールへの日本語出力を sjis にする もしくは cmd 上での表示を EUC にする 方法、もしくはなんらかの情報がありました...
by やまっち
8年前
フォーラム: C言語何でも質問掲示板
トピック: zz * 16 と zz<< 4 とで結果が異なる
返信数: 2
閲覧数: 2103

Re: zz * 16 と zz<< 4 とで結果が異なる

みけCAT さん、以前は大変お世話になりました。
今回も回答して頂いて、ありがとうございました。

確かにコンパイル時に
> 警告 W8056 test.c 15: 整数の算術オーバーフロー(関数 main )
が出ていました。記載すべき情報が抜けてしまい、すみませんでした。

逆アセンブルするような高度な解析方法もあるんですね。
ありがとうございました。
by やまっち
8年前
フォーラム: C言語何でも質問掲示板
トピック: 1行で計算すると正しくなくて、2行に分けると正しい結果が得られる
返信数: 2
閲覧数: 2553

Re: 1行で計算すると正しくなくて、2行に分けると正しい結果が得られる

box さん、回答して頂いてありがとうございました。
右辺の方に関する説明も理解できました。

> result = (__int64) 284480 * F / L;
> のようにキャストすればいいような気がします。実験はしていませんが。

に付いて、こちらの環境では、確かに1行で正しい結果が得られました。
ありがとうございました。
by やまっち
8年前
フォーラム: C言語何でも質問掲示板
トピック: 1行で計算すると正しくなくて、2行に分けると正しい結果が得られる
返信数: 2
閲覧数: 2553

1行で計算すると正しくなくて、2行に分けると正しい結果が得られる

Windows7 64bit C:\borland\bcc55\Bin>bcc32 Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland Syntax is: BCC32 [ options ] file * = default; -x- = turn switch x off を使っています。 以下のコードで 1行で計算すると正しくなくて、2行に分けると正しい結果が得られる のですが、その理由を教えて頂きたいです。 よろしくお願いします。 #include <stdio.h> void main(){ int L = 30*...
by やまっち
8年前
フォーラム: C言語何でも質問掲示板
トピック: zz * 16 と zz<< 4 とで結果が異なる
返信数: 2
閲覧数: 2103

zz * 16 と zz<< 4 とで結果が異なる

Windows7 64bit C:\borland\bcc55\Bin>bcc32 Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland Syntax is: BCC32 [ options ] file * = default; -x- = turn switch x off を使っています。 以下のコードで zz * 16 と zz<< 4 とで結果が異なる のですが、その理由を教えて頂きたいです。 よろしくお願いします。 #include <stdio.h> void main() { int a,b; a= 0xfff...
by やまっち
9年前
フォーラム: C言語何でも質問掲示板
トピック: 複数のソースで共有する変数
返信数: 4
閲覧数: 2662

Re: 複数のソースで共有する変数

みけCAT さんの言う通りの修正でワーニングは無くなりました。
本当に助かりました。ありがとうございました。

> はただの関数宣言であり、引数の型が指定されていないのでプロトタイプ宣言ではありません。
> 関数の宣言、定義ともに引数の型を指定するといいでしょう。
by やまっち
9年前
フォーラム: C言語何でも質問掲示板
トピック: 複数のソースで共有する変数
返信数: 4
閲覧数: 2662

Re: 複数のソースで共有する変数

みけCAT さん、ご回答頂きましてありがとうございます。   W8069 移植性のないポインタ変換 のワーニングは無くなったのですが、今度は   W8065 プロトタイプ宣言のない関数 'getAddr' の呼び出し と言うのが発生するようになってしまいました。 プロトタイプ宣言されているように見えるのですが、 なぜこのようなワーニングが出るのか、分かりますでしょうか? // test.c #include <stdio.h> static int common=10; // common は内部リンケージである事が必須 void addFive(void); int main(void) {...
by やまっち
9年前
フォーラム: C言語何でも質問掲示板
トピック: 複数のソースで共有する変数
返信数: 4
閲覧数: 2662

複数のソースで共有する変数

いつもお世話になっております。 Windows 7 で bcc32 を使っています。 複数のソースで共有する変数を使う方法として いくつかの方法があると思いますが、 以下のように static で宣言した common と言う変数が あるとして、その変数へのポインタを使う事で もう1つのソースから common を使おうと以下のように書いたのですが W8069 移植性のないポインタ変換 と言うワーニングが出ます。動作自体は想定通りに動きます。 このワーニングに対し、どのように対処するのがベストでしょうか? ポインタに付いての理解であやふやな所があり、もし間違った 事をしているようであれば、ご指...
by やまっち
10年前
フォーラム: C言語何でも質問掲示板
トピック: デバッグ時にのみ printf として機能する仕組み
返信数: 6
閲覧数: 6349

Re: デバッグ時にのみ printf として機能する仕組み

あごみつさん
みけCATさん
回答して頂いてありがとうございました。
あごみつさんの方法 (可変長引数マクロ) は bcc55 でも
コンパイルでき、動作も正しくしているようです。
参考にさせて頂きます。
ありがとうございました。
by やまっち
10年前
フォーラム: C言語何でも質問掲示板
トピック: デバッグ時にのみ printf として機能する仕組み
返信数: 6
閲覧数: 6349

デバッグ時にのみ printf として機能する仕組み

いつもお世話になっております。 bcc55 [C90 ?] + Windows で C 言語の勉強をしている者です。 デバッグ時にだけ printf で数値を表示し、 デバッグ時でない時には何もしないような機能を持った関数を使いたいです。 (1) #define debug_print 1 ? (void) 0 : printf (2) #define debug_print 1 ? 0 : printf (3) #define debug_print // 仮に debug_print と言う名前にします。 http://tricky-code.net/nicecode/code10.php...
by やまっち
10年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体とバイト配列の変換
返信数: 7
閲覧数: 9553

Re: 構造体とバイト配列の変換

> (C++) struct XXX {}; → (C) typdef struct XXX {} XXX;

usao さんに教えていただいた方法で確認ができました。
typedef が必要だったのですね。
教えて頂いてありがとうございました。
by やまっち
10年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体とバイト配列の変換
返信数: 7
閲覧数: 9553

Re: 構造体とバイト配列の変換

すみません、解決にチェックし忘れました。
by やまっち
10年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体とバイト配列の変換
返信数: 7
閲覧数: 9553

Re: 構造体とバイト配列の変換

いつもお世話になっております。
いくつかの方法を教えて頂いてありがとうございました。
勉強になります。

・みけCAT さん (memcpy を使う方法)
・かずま さん (キャストを使う方法)
の2つは動作確認ができました。
うまく使わせて頂きたいと思います。
キャストを使う方法はすごくスマートそうですね。

・usao さん (共用体を使う方法)

エラー E2139 test.c 12: 宣言に ; がない
など、いくつかのエラーが出て動作確認ができませんでした。
ただ共用体 union と言うのは知らなかったので勉強に
なりました。

ありがとうございました。
by やまっち
10年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体とバイト配列の変換
返信数: 7
閲覧数: 9553

構造体とバイト配列の変換

いつもお世話になっております。 bcc55 + Windows で C 言語の勉強をしている者です。 構造体 と バイト配列で変換ができないかどうか 教えて頂きたいです。 以下のようなコードで一括で配列から構造体に データを格納したいのですが、スマートなやり方は ありませんでしょうか? #include <stdio.h> // 10,"test" を 20,"TEST" に typedef struct { char x; // 8 bit (int は 32 bit) char c[5]; // 8 bit }hoge_t; void main() { hoge_t hoge; char ...

詳細検索ページへ移動する