6

違いはありますか

static int * pn;

int static * pn;

基本的に、静的変数を指すポインターと、ある変数を指す静的ポインターの違いを探していますが、上記の2つの宣言がそれらに対応しているかどうかはわかりません。

4

2 に答える 2

7

Cでは違いはありませんが、2番目の形式は推奨されません。

(C99、6.11.5p1)「宣言内の宣言指定子の先頭以外にストレージクラス指定子を配置することは廃止された機能です」

于 2012-12-18T22:07:54.037 に答える
4

いいえ、違いはありません。ここで、宣言指定子シーケンスはstatic intorint staticであり、宣言指定子シーケンス内の指定子の順序は重要ではありません。両方の宣言の型は「pointertoint」です。

int static unsigned const* pn;あなたが人々を十分に憎む場合のように、あなたは他の奇妙なことをすることができます。このトピックをカバーする質問/回答を書きました。

于 2012-12-18T22:05:55.717 に答える