2012-04-29 13 views
0

私は友人から質問に出会った。Cでのこのポインタ構文は何を意味しますか?

これらの違いは何ですか?

* char ptr 
char * ptr 
+0

私は最初のものはC.に有効であるとは思わない – texasbruce

+0

2番目の変数は有効な変数宣言であり、最初の変数宣言は有効ではありませんか?私はあなたの質問にもう少し文脈を提供する必要があると思います。 –

+0

私は最初のもののためにショックを受けました。 :D – qwertz

答えて

4

これはエラーです:

* char ptr; 

これは、型へのポインタchar型の変数としてptrを宣言します。

char * ptr; 
3

最初の宣言* char ptrは、有効なCの構文ではありませんので、あなたは、コンパイル時エラーを取得している理由です。 2番目の宣言char * ptrは、タイプが最初にリストされ、その後にポインタ '*'シンボルと変数名が続くため、有効なC構文です。

1

最初の行* char ptr;は無効です。

2行目のchar * ptr;は、タイプの変数が、のポインタであることを宣言しています。

+0

あなたの心を癒す。 :-) –

+0

@Adamあなたはどういうことを言っていますか? –

+0

あなたの答えを読んでみるたびに、それが編集されたことを示す別のテキストボックスが表示されました。私はこのバージョンが好きです。それは私のものとほぼ完全にマッチします。 :-) –