問題タブ [array-pointer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - fopen後に配列ポインタの値が変更されています
画像の畳み込み演算を行っています。配列ポインターに動的に格納されたデータに問題があります。配列ポインター変数の 1 つのデータは、fopen
関数の後で自動的に変更されます。
という関数から配列ポインタを取得しています。次に、この配列を畳み込み関数maxpool1
に渡しています。conv2d2
畳み込み関数:
主な機能:
MaxPool1 関数:
c - char* 配列の暗黙の減衰とは何ですか?
初心者として、私は K&R のポインターの章の問題を解決しており、文字ポインターのいくつかの側面と混同されており、型 char* の配列を関数パラメーターとして渡しています。
Char 配列の減衰 わかりました
元:
したがって、ここで渡される関数パラメーターは&a[0] です
したがって、これはs = &a[0]; になります。
上記の理解を使用して、char* 型の配列に対して同じことを試みました。同じ関数 tryMe(char*) で
元::
ここで、次のような警告が表示されます。
警告: 互換性のないポインター型 [-Wincompatible-pointer-types] から 'tryMe' の引数 1 を渡しています
何が起こっているのかわかりませんが、次のことを行うことで正常に動作しました。
関数定義の変更
tryMe(文字*) から tryMe(文字**)
これはうまくいきます。
機能する他のソリューションは次のとおりです。
関数定義は同じままです::
void tryMe(文字*)
ただし、関数パラメーターを渡すと、次のようになります::
上記の変更は希望どおりに機能しますが、なぜ機能しているのかわかりません
これらに関するガイダンスをいただければ幸いです。