int(* ptr)[4]は実際には何を意味し、* ptrとどのように異なりますか?

SpawN
int (*p)[4] , *ptr;
int a[4] = {10,20,30,40};
printf("%p\n%p\n%p",&a,a,&a[0]);
p = &a ;
//p=a;        gives error

//ptr = &a;   gives error
 ptr = a;

出力:

0x7ffd69f14710
0x7ffd69f14710
0x7ffd69f14710

、、、が何返すのaそしてその開始変数のメモリアドレスを理解しようとしました。では、なぜこれらの割り当ての一部でエラーが発生するのですか?&a&a[0]

つまり、うまくp = &a = 0x7ff...いったら、どうしてp = a = 0x7ff..ですか?

可能であれば、このpとptrが実際にどこを指しているのかをブロック図で理解してください。それとも彼らは同じことを指しているだけですか。しかし、それらは確かに私が知っている異なるものです。

pmg

ポインターがさまざまな色(intへのポインターの場合は赤、配列へのポインターの場合は緑など)のレーザーポインターあり、変数は正しいレーザーポインターで指すことができるものであると想像してください。つまり、緑のレーザーポインターを使用してchar変数を指します。

さて、あなたはint a[4](4intの)配列を持っています。緑のポインターを使用してポイントしint (*green)[4] = &a;ます。...a[0]赤のポインターでポイントできるint()もありますint *red = &a[0]; /* in most contexts 'a' by itself is converted to "address of first element": &a[0] is the same as a */

次に、色覚異常の友人にポインタが指している場所を尋ねます:)
友人に関する限り、それらは等しく、同じ「場所」を指します...しかし、あなたは友人をだましました!コンパイラは色覚異常であり、だまされるのは好きではありません

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

int * ptr = 5; int * ptr =変数のアドレスとは異なりますか?

分類Dev

floatのクラス内静的const初期化は、C ++のintとどのように異なりますか?

分類Dev

2次元配列:ptrをint ptr [4] [4];として宣言したときに、ptrと* ptrが同じであるのはなぜですか。

分類Dev

Task <int>はどのようにしてintになりますか?

分類Dev

Xorはどのintが異なるかをどのように判断しますか?

分類Dev

どの要素(vectorとint)もunique_ptrであるペアのunique_ptrを作成するにはどうすればよいですか?

分類Dev

この宣言は「int(* ptr [3])();」とはどういう意味ですか?

分類Dev

変数を引用符で囲む必要があるかどうかは、データベース内のカテゴリがvarcharまたはintとしてマークされているかどうかによって異なりますか?

分類Dev

nPercentileはGraphiteで何をし、percentileOfSeriesとどのように異なりますか?

分類Dev

sizeof(&a [0])はintの配列 'a'にとって何を意味しますか?

分類Dev

Webログインは実際には何を意味し、どのように実装されますか?

分類Dev

TCHARとは何ですか?WCHARとどのように異なりますか?

分類Dev

DRPMとは何ですか?RPMとどのように異なりますか?

分類Dev

ApacheApexはApacheStormとどのように異なりますか?

分類Dev

SQLAzureはSQLServerとどのように異なりますか?

分類Dev

cdkPortalはngTemplateOutletとどのように異なりますか

分類Dev

`createImageData()`と `new ImageData()`はどのように異なりますか?

分類Dev

TRUEPREDICATEは[NSPredicatepredicateWithValue:YES]とどのように異なりますか?

分類Dev

このコードで*(int *)&data [18]は実際に何をしていますか?

分類Dev

なぜtypedefvoid(* f_ptr)(int); およびtypedefvoid(* f_ptr)(); Cでも同じように動作しますか?

分類Dev

double(またはfloat)をintに変換するとどうなりますか?

分類Dev

PHPのstrpos()関数はどのようにintとbooleanを返しますか?

分類Dev

参照とどのように変数が異なりますか?

分類Dev

実行時のrefとoutはどのように異なりますか?

分類Dev

Logoは実際に動的スコープを使用していますか?これはグローバル変数とどのように異なりますか?

分類Dev

cとc ++のlonglong intの結果は異なりますか?

分類Dev

Promises / A +の実装はどのように異なりますか?

分類Dev

charから文字「0」を引くと、どのようにしてintに変わりますか?

分類Dev

int検証を実装して、入力がintになり、最小値と最大値の間になるようにするにはどうすればよいですか?

Related 関連記事

  1. 1

    int * ptr = 5; int * ptr =変数のアドレスとは異なりますか?

  2. 2

    floatのクラス内静的const初期化は、C ++のintとどのように異なりますか?

  3. 3

    2次元配列:ptrをint ptr [4] [4];として宣言したときに、ptrと* ptrが同じであるのはなぜですか。

  4. 4

    Task <int>はどのようにしてintになりますか?

  5. 5

    Xorはどのintが異なるかをどのように判断しますか?

  6. 6

    どの要素(vectorとint)もunique_ptrであるペアのunique_ptrを作成するにはどうすればよいですか?

  7. 7

    この宣言は「int(* ptr [3])();」とはどういう意味ですか?

  8. 8

    変数を引用符で囲む必要があるかどうかは、データベース内のカテゴリがvarcharまたはintとしてマークされているかどうかによって異なりますか?

  9. 9

    nPercentileはGraphiteで何をし、percentileOfSeriesとどのように異なりますか?

  10. 10

    sizeof(&a [0])はintの配列 'a'にとって何を意味しますか?

  11. 11

    Webログインは実際には何を意味し、どのように実装されますか?

  12. 12

    TCHARとは何ですか?WCHARとどのように異なりますか?

  13. 13

    DRPMとは何ですか?RPMとどのように異なりますか?

  14. 14

    ApacheApexはApacheStormとどのように異なりますか?

  15. 15

    SQLAzureはSQLServerとどのように異なりますか?

  16. 16

    cdkPortalはngTemplateOutletとどのように異なりますか

  17. 17

    `createImageData()`と `new ImageData()`はどのように異なりますか?

  18. 18

    TRUEPREDICATEは[NSPredicatepredicateWithValue:YES]とどのように異なりますか?

  19. 19

    このコードで*(int *)&data [18]は実際に何をしていますか?

  20. 20

    なぜtypedefvoid(* f_ptr)(int); およびtypedefvoid(* f_ptr)(); Cでも同じように動作しますか?

  21. 21

    double(またはfloat)をintに変換するとどうなりますか?

  22. 22

    PHPのstrpos()関数はどのようにintとbooleanを返しますか?

  23. 23

    参照とどのように変数が異なりますか?

  24. 24

    実行時のrefとoutはどのように異なりますか?

  25. 25

    Logoは実際に動的スコープを使用していますか?これはグローバル変数とどのように異なりますか?

  26. 26

    cとc ++のlonglong intの結果は異なりますか?

  27. 27

    Promises / A +の実装はどのように異なりますか?

  28. 28

    charから文字「0」を引くと、どのようにしてintに変わりますか?

  29. 29

    int検証を実装して、入力がintになり、最小値と最大値の間になるようにするにはどうすればよいですか?

ホットタグ

アーカイブ