ア | イ | ウ | エ | オ |
カ | キ | ク | ケ | コ |
サ | シ | ス | セ | ソ |
タ | チ | ツ | テ | ト |
ナ | ニ | ヌ | ネ | ノ |
ハ | ヒ | フ | ヘ | ホ |
マ | ミ | ム | メ | モ |
ヤ | ユ | ヨ | ||
ラ | リ | ル | レ | ロ |
ワ | ヰ | ヴ | ヱ | ヲ |
ン |
A | B | C | D | E |
F | G | H | I | J |
K | L | M | N | O |
P | Q | R | S | T |
U | V | W | X | Y |
Z | 数字 | 記号 |
配列変数の場合、&は付けても付けなくても良い。
これは、C99なら§6.3.2.1などに記載があるが、配列は、普通に使えば殆どポインターに変換される存在だからである。
従って配列変数に限り、以下3つの関数呼び出しは、全て同じアドレスが渡される。
int foo[10];
hoge(foo);
hoge(&foo);
hoge(&foo[0]);
&を付ければ手動でポインターになるが、付けなくても自動でポインターになる。
ポインターを引数として与える場合、&は付けなくて良い。むしろ、付けてはいけない。
但し、ポインター変数を引数に取る関数にポインター変数を渡すのは、ポインター渡しではなく値渡しである。
従って、呼ばれた側の関数でポインター変数を操作しても、呼び出し元のポインター変数は変化しない。
コメントなどを投稿するフォームは、日本語対応時のみ表示されます