検索結果 20 件
- 1年前
- フォーラム: C言語何でも質問掲示板
- トピック: 2次元配列へのポインタ
- 返信数: 3
- 閲覧数: 10546
Re: 2次元配列へのポインタ
ありがとうございました。参考になりました。
- 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;...
- 8年前
- フォーラム: C言語何でも質問掲示板
- トピック: 構造体へのポインタの件 (struct で実装できて typedef struct で実装できない)
- 返信数: 2
- 閲覧数: 3282
Re: 構造体へのポインタの件 (struct で実装できて typedef struct で実装できない)
みけCAT さん、適切なアドバイスありがとうございました。
タグを使う方法、前方宣言を使う方法、ともに使う事ができました。
ありがとうございました。
タグを使う方法、前方宣言を使う方法、ともに使う事ができました。
ありがとうございました。
- 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 ...
- 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 などの他のコンソールの導入を検討...
- 8年前
- フォーラム: C言語何でも質問掲示板
- トピック: MinGW gcc + cmd で文字化け (Windows 7 64bit)
- 返信数: 5
- 閲覧数: 7746
Re: MinGW gcc + cmd で文字化け (Windows 7 64bit)
だんごさんから教えていただいた環境変数ですが
試してみたのですが変化はありませんでした。
引き続き、何か情報がありましたらよろしくお願いします。
試してみたのですが変化はありませんでした。
引き続き、何か情報がありましたらよろしくお願いします。
- 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 にする 方法、もしくはなんらかの情報がありました...
- 8年前
- フォーラム: C言語何でも質問掲示板
- トピック: zz * 16 と zz<< 4 とで結果が異なる
- 返信数: 2
- 閲覧数: 2103
Re: zz * 16 と zz<< 4 とで結果が異なる
みけCAT さん、以前は大変お世話になりました。
今回も回答して頂いて、ありがとうございました。
確かにコンパイル時に
> 警告 W8056 test.c 15: 整数の算術オーバーフロー(関数 main )
が出ていました。記載すべき情報が抜けてしまい、すみませんでした。
逆アセンブルするような高度な解析方法もあるんですね。
ありがとうございました。
今回も回答して頂いて、ありがとうございました。
確かにコンパイル時に
> 警告 W8056 test.c 15: 整数の算術オーバーフロー(関数 main )
が出ていました。記載すべき情報が抜けてしまい、すみませんでした。
逆アセンブルするような高度な解析方法もあるんですね。
ありがとうございました。
- 8年前
- フォーラム: C言語何でも質問掲示板
- トピック: 1行で計算すると正しくなくて、2行に分けると正しい結果が得られる
- 返信数: 2
- 閲覧数: 2553
Re: 1行で計算すると正しくなくて、2行に分けると正しい結果が得られる
box さん、回答して頂いてありがとうございました。
右辺の方に関する説明も理解できました。
> result = (__int64) 284480 * F / L;
> のようにキャストすればいいような気がします。実験はしていませんが。
に付いて、こちらの環境では、確かに1行で正しい結果が得られました。
ありがとうございました。
右辺の方に関する説明も理解できました。
> result = (__int64) 284480 * F / L;
> のようにキャストすればいいような気がします。実験はしていませんが。
に付いて、こちらの環境では、確かに1行で正しい結果が得られました。
ありがとうございました。
- 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*...
- 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...
- 9年前
- フォーラム: C言語何でも質問掲示板
- トピック: 複数のソースで共有する変数
- 返信数: 4
- 閲覧数: 2662
Re: 複数のソースで共有する変数
みけCAT さんの言う通りの修正でワーニングは無くなりました。
本当に助かりました。ありがとうございました。
> はただの関数宣言であり、引数の型が指定されていないのでプロトタイプ宣言ではありません。
> 関数の宣言、定義ともに引数の型を指定するといいでしょう。
本当に助かりました。ありがとうございました。
> はただの関数宣言であり、引数の型が指定されていないのでプロトタイプ宣言ではありません。
> 関数の宣言、定義ともに引数の型を指定するといいでしょう。
- 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) {...
- 9年前
- フォーラム: C言語何でも質問掲示板
- トピック: 複数のソースで共有する変数
- 返信数: 4
- 閲覧数: 2662
複数のソースで共有する変数
いつもお世話になっております。 Windows 7 で bcc32 を使っています。 複数のソースで共有する変数を使う方法として いくつかの方法があると思いますが、 以下のように static で宣言した common と言う変数が あるとして、その変数へのポインタを使う事で もう1つのソースから common を使おうと以下のように書いたのですが W8069 移植性のないポインタ変換 と言うワーニングが出ます。動作自体は想定通りに動きます。 このワーニングに対し、どのように対処するのがベストでしょうか? ポインタに付いての理解であやふやな所があり、もし間違った 事をしているようであれば、ご指...
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: デバッグ時にのみ printf として機能する仕組み
- 返信数: 6
- 閲覧数: 6349
Re: デバッグ時にのみ printf として機能する仕組み
あごみつさん
みけCATさん
回答して頂いてありがとうございました。
あごみつさんの方法 (可変長引数マクロ) は bcc55 でも
コンパイルでき、動作も正しくしているようです。
参考にさせて頂きます。
ありがとうございました。
みけCATさん
回答して頂いてありがとうございました。
あごみつさんの方法 (可変長引数マクロ) は bcc55 でも
コンパイルでき、動作も正しくしているようです。
参考にさせて頂きます。
ありがとうございました。
- 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...
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: 構造体とバイト配列の変換
- 返信数: 7
- 閲覧数: 9553
Re: 構造体とバイト配列の変換
> (C++) struct XXX {}; → (C) typdef struct XXX {} XXX;
usao さんに教えていただいた方法で確認ができました。
typedef が必要だったのですね。
教えて頂いてありがとうございました。
usao さんに教えていただいた方法で確認ができました。
typedef が必要だったのですね。
教えて頂いてありがとうございました。
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: 構造体とバイト配列の変換
- 返信数: 7
- 閲覧数: 9553
Re: 構造体とバイト配列の変換
すみません、解決にチェックし忘れました。
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: 構造体とバイト配列の変換
- 返信数: 7
- 閲覧数: 9553
Re: 構造体とバイト配列の変換
いつもお世話になっております。
いくつかの方法を教えて頂いてありがとうございました。
勉強になります。
・みけCAT さん (memcpy を使う方法)
・かずま さん (キャストを使う方法)
の2つは動作確認ができました。
うまく使わせて頂きたいと思います。
キャストを使う方法はすごくスマートそうですね。
・usao さん (共用体を使う方法)
は
エラー E2139 test.c 12: 宣言に ; がない
など、いくつかのエラーが出て動作確認ができませんでした。
ただ共用体 union と言うのは知らなかったので勉強に
なりました。
ありがとうございました。
いくつかの方法を教えて頂いてありがとうございました。
勉強になります。
・みけCAT さん (memcpy を使う方法)
・かずま さん (キャストを使う方法)
の2つは動作確認ができました。
うまく使わせて頂きたいと思います。
キャストを使う方法はすごくスマートそうですね。
・usao さん (共用体を使う方法)
は
エラー E2139 test.c 12: 宣言に ; がない
など、いくつかのエラーが出て動作確認ができませんでした。
ただ共用体 union と言うのは知らなかったので勉強に
なりました。
ありがとうございました。
- 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 ...