配列ポインタの用途は何ですか?
int *a[4]; //指针数组
ポインター配列は、複数のポインターを一度に宣言することと同じです。配列の各要素はポインタです。わかりやすいので、主に配列ポインタを見てみましょう
int (*p)[4]; //数组指针
配列ポインタは、一度に 1 つのポインタを宣言するのと同じです。このポインタが非常に特殊な配列を指しているだけです。
[] は * よりも優先度が高いため、配列ポインターを宣言するときに () を追加する必要があります。
例 1:
#include<stdio.h>#include<stdlib.h>void main() { //数组指针的用法,用处。 int b[16]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}; int (*p)[4]; //该语句是定义一个数组指针,指针步长为4个int即16位。 //int *p2=&b; p=&b; int i=0; while(i<16) { printf("%d\t",(*p)[i]); //printf("%d\t",*p2++); i++; } }
printf("%d\t",(*p)[i]);出力配列 b を走査します;
配列ポインターは次のとおりです。キング オブ ダンス ゾンビと同じで、弟がいます。n は弟の数です。添え字の値を通じて、特定の弟、つまり配列内の番号に直接アクセスできます。
配列ポインタの添字は自動的に増加し (i)、ポインタのポイントは変更されません。
これは整数ポインターを使用して直接実装でき、より便利で簡潔です。上記のコメントセクションを参照してください。
例 2: 例 1 の while() ステートメントを置き換えます。
while(i<4) { printf("%d\t",(*p++)[0]); i++; }
例 2 は 1 5 9 13 を出力します。これは、ポインターが一度に 4 int.16 バイト移動するのと同等です。
配列ポインタがインクリメントされると (*p)、ポインタは移動 sizeof (type) を指します。
実際、上記の文は他の種類のポインタにも当てはまります。
int *p;
など //ポインタは整数ポインタである int を指します。整数ポインタの特徴は何ですか?整数変数を保存できるアドレスです。使用は何ですか?つまり、p は次の int 型の数値を指すことができます。では? 多くの場合、ポインタは配列を指すために使用されます。これらはすべて int 型なので、ステップ サイズが導出されます。整数ポインターのステップ サイズは sizeof(int) で、4 バイトです。
//同様に、float ポインター、char ポインターなどを取得できます。 。 。
同様に配列ポインタも取得できますが、その特徴は何でしょうか?配列の最初のアドレスを保存します。使用? p は次の配列を指すことができます。それで? 2 次元配列を指すために使用します。 2 次元配列の各要素は同じ型 (すべて int 配列) であるため、ステップ サイズを推定できますか? sizeof(int[4])、つまり 16
//率直に言うと、これは配列型
例 3:配列ポインタは 2 次元配列を指します。
#include<stdio.h>#include<stdlib.h>void main() { int a[3][4]={{1,2,3,4},{11,12,13,14},{21,22,23,24}}; int (*p)[4]; //该语句是定义一个数组指针,指针步长为4个int即16位。 p=&a; int i=0; while(i<3) { //printf("%d\t",(*p)[i]); //数组指针,指向的是一个数组整体,相当于指针也带了下标,当执行i++操作时,下标+1,得到该数组的下一个元素, //在该例中,指针没有位移,所以依次输出为1 2 3 printf("%d\t",(*p++)[0]); //整型数组类型的指针,指向的是一个数组整体,当执行*p++操作时,指针位移该数组长度的位数 //在该例中,即指针位移4个int的长度,所以输出是1 11 21 i++; } }
推奨チュートリアル: 「C ビデオ チュートリアル 」
以上が配列ポインタの用途は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP の配列ポインタは配列の操作に使用されます。配列ポインタは、配列の内部構成メカニズムです。各配列には、その「現在の」ユニット (要素) を指す内部ポインタがあります。このポインタは、配列ポインタの位置を移動または変更することによって、最初は現在の配列の最初のユニットを指します。を使用すると、配列内の任意の要素にアクセスできます。 PHP には、配列ポインターを制御するための複数の組み込み関数が用意されています: current()、pos()、key()、next()、prev()、end()、reset()。

PHPはWeb開発で広く使われているサーバーサイドスクリプト言語で、その構文はC言語に似ており、便利な関数やライブラリも数多く提供されています。 PHP では、next() 関数は、配列ポインターを次の要素に移動するためによく使用される関数です。 1. 配列ポインタとは何ですか? PHP では、配列は、多数の順序付けされたデータを格納できる非常に便利なデータ構造です。配列内の各要素には対応する添字があり、要素の値にアクセスして変更するために使用できます。添字を使用して配列要素にアクセスするだけでなく、

Golang 言語の継続的な開発により、関数ポインター配列と配列ポインターも Golang プログラミングの重要な部分になりました。この記事では、Golang 関数におけるポインター配列と配列ポインターの応用スキルについて説明し、いくつかの実用的なサンプル コードと関連する説明を提供します。 Golang ポインタ配列の基本概念 まず、Golang ポインタ配列について理解しましょう。ポインターの配列は、さまざまな変数またはオブジェクトへのポインターの配列であるデータ型です。

配列ポインタとポインタ配列の違いは次のとおりです: 1. 配列ポインタはポインタですが、格納されたポインタ配列は配列です; 2. 配列ポインタは int *p = arr; として宣言されますが、ポインタ配列は int * として宣言されます。 arr[ 5];; 3. 配列ポインターは p[i] の形式で配列内の要素にアクセスできますが、ポインター配列は arr[i] の形式で配列内の要素にアクセスする必要があります。

PHP では、reset 関数を使用して、配列ポインターを配列の先頭に戻すことができます。リセット関数を使用する前に、配列ポインターの概念を理解しておく必要があります。配列ポインタは、現在操作されている配列要素を指す内部ポインタです。 PHP では、foreach ループを使用して配列を走査したり、while ループと配列ポインターを使用して配列を走査したりできます。ただし、while ループと配列ポインタを使用して配列を走査する場合は、reset 関数を使用して配列ポインタを配列の先頭に戻す必要があります。リセットを使用する

違い: ポインタ配列の場合、まず第一に、それは配列であり、配列の要素はすべてポインタです。つまり、配列はポインタを格納します。配列によって占有されるバイト数は、配列自体によって決まります。配列ポインタ、まず これはポインタです、配列を指します、つまり配列へのポインタで、32ビットシステムでは常に4バイトを占めます。を占めていますが、これは特定できず、特定の状況によって異なります。

ポインタ配列と配列ポインタは 2 つの異なるタイプの概念であり、定義と使用法が異なります。 1. ポインタ配列は配列であり、その各要素はポインタ型ですが、配列ポインタはポインタであり、ポインタを指します。配列のアドレス; 2. ポインタ配列の宣言方法は「type *array[]」、配列ポインタの宣言方法は「type (*ptr)[size]」です。

配列ポインタと配列参照には次のような違いがあります。 逆参照が必要: 配列ポインタは逆参照する必要がありますが、配列参照は必要ありません。ポインター演算: 配列ポインターはポインター演算をサポートしますが、配列参照はサポートしません。アドレス: 配列ポインタには配列の最初の要素のアドレスが格納されますが、配列参照はアドレスではありません。定数 kval: 配列ポインターは constkval を指すことができますが、配列参照は指すことができません。配列サイズ: 配列ポインタは配列サイズを格納しませんが、配列参照には暗黙的に配列サイズが含まれます。
