2

C++ を使い始めたばかりで、誰かが何かを説明してくれるかどうか疑問に思っていました。

次の方法でchar配列を初期化できると思います

 char arr[] = "Hello"

これにより、値を持つ Char 配列が作成されます'H', 'e', 'l', 'l', 'o', '\0'

しかし、これを作成すると:

 char* cp = "Hello";

それは配列とその配列へのポインタを作成しますか?

例:配列の追加要素を使用して、メモリ内cpの最初の要素を指しますか?('H')

4

2 に答える 2

-1

配列は基本的に、配列の先頭を指す定数ポインターです。ポインターは単なるポインターであり、任意のメモリ位置を指します。そのため、ポインタp,p[3]が を指すことp+3になり、少なくとも 4 つの要素 ( ) を持つ「配列」として宣言しない限り、セグメンテーション エラーが発生しますint *p = new int[4];int p[4];これは、 p が であるという事実を除いて、とまったく同じですconst int *

于 2013-05-21T19:26:52.867 に答える