正確にchar*
とは何ですか?それはポインタですか?私はポインタが識別子の前にアスタリスクを持っていると思っていましたが、タイプ(必ずしも同じものではありません)ではなく...?`char *`とは何ですか?
答えて
char
へのポインタです。
ポインタを宣言するとき、アスタリスクは空白を無視して型の前と識別子の前に入ります。これらはすべて、char
ポインタ宣言:一度に複数の変数を宣言する際に物事がさらに混乱にするために
char *pointer1;
char* pointer2;
char * pointer3;
char*pointer4; // This is illegible, but legal!
を、アスタリスクは(その右に)単一の識別子に適用されます。例えば:
char* foo, bar; // foo is a pointer to a char, but bar is just a char
それは、この混乱の宣言を回避するようにアスタリスクは、従来、識別子としないタイプにすぐ隣接して配置されていることをこの理由のために主にあります。
文字へのポインタです。あなたはそれが同じである
char* bla;
または
char *bla;
のいずれか書くことができます。
Cでは、charへのポインタが文字列に使用されました。文字列の最初の文字は、ポインタが指し示す場所、次に来るアドレスの次の文字などです。 -Terminal-Symbol \0
に達しました。
しかし、C++でこれを行う必要はありません。代わりにstd :: string(または類似のクラス)を使用してください。 char *のものはセキュリティバグのための最も頻繁なソースの一つに選ばれました!ポインタを扱うとき
私は同じ答えを投稿しようとしていた – Ramilol
http://cplusplus.com/doc/tutorial/pointers/
*
文字は、2つの異なる場所に表示されます。まず、タイプ「Tへのポインタ」はT*
(タイプ名に*
を付加する)で示されます。第2に、逆参照したいポインタ変数の名前に*
を先行させることによって行われる、ポインタの逆参照。
空白が正常に重要ではありませんので、
char* suchandsuch;
char *suchandsuch;
char
*
suchandsuch;
はすべて同じです。
- 1. char *とは何ですか?
- 2. MSVCのcharとCHARの違いは何ですか?
- 3. Javaのcharリテラル '\ n'と '\ r'の違いは何ですか?
- 4. char c [2] = {[1] = 7}とは何ですか?行う?
- 5. (char)0と '\ 0'の違いは何ですか? C内
- 6. C#byte []とchar []の違いは何ですか?
- 7. "const char far * inStrSource"とは何を意味しますか?
- 8. MySQLはvarcharをcharに変換するのは何ですか?
- 9. この場合、char []とchar *はどう違うのですか?
- 10. なぜchar *はCのchar **と同じ扱いですか?
- 11. char * arr [5]のアクセス違反= {...}、これは何ですか?
- 12. Javaのchar zero(0)の意味は何ですか?
- 13. この「PCDATA無効なChar値11」エラーは何ですか?
- 14. (int)(unsigned char)(x)はCで何をしますか?
- 15. Cでchar []をchar *に変換することはできますか?
- 16. _Unwind_SjLj_Unregisterと_Unwind_SjLj_Registerとは何ですか?
- 17. C++:function arg char **はcharと同じではありません* []
- 18. const char *をchar *に代入するのはなぜですか?
- 19. `CString`とは何ですか?
- 20. なぜcin.get(char *、int、char t)およびcin.getline(char *、int、char t)ですか?
- 21. メソッド宣言のパラメータ名の前に '@' charとは何を意味しますか?
- 22. reinterpret_castはcharとunsigned charの間のポインタを落としますか?
- 23. charをregexpと比較することはできますか?
- 24. 型宣言エラー:[Char]と[[Char]]
- 25. char()は、SQLのChar()
- 26. sed:バックスラッシュとは何ですか?
- 27. ここでヌルとは何ですか?
- 28. Unix上で "^ + CHAR"コマンドを実行すると(^ Cは現在のコマンドを停止します)、何ですか?
- 29. 整数をcharキーで格納するときに使用する最適なマップ実装は何ですか?
- 30. C++/CLIでchar *とSystem :: Stringを変換する最も良い方法は何ですか
Cはスペースを気にしないので、 'char * foo;'は 'char * foo;'と同じです。 –
@PaulTomblin:Cは空白を気にします。 'char apple;'と 'charapple;'は全く異なっています。 –