数组指针的用法有哪些?
int *a[4]; //指针数组
指针数组就相当于一次声明了多个指针。数组的每一个元素都是一个指针。很好理解,下面主要看数组指针
int (*p)[4]; //数组指针
数组指针就相当于一次声明了一个指针。只不过这个指针指向很特别,是一个数组。
[]优先级大于*,故数组指针声明时要加()。
例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(类型)。
其实上句在其他类型指针也适用。
如int *p;
//指针指向了int,就是整型指针,整型指针有啥特点?就是能保存整形变量的地址。有啥用途?就是p++的时候能指向下一个int型数。所以了?经常用指针指向一个数组。因为他们都是int型的,所以推导出步长了?整型指针的步长为sizeof(int),即4字节
//同理可以得出什么float型指针,char型指针什么的。。。
同理就得出了数组指针,特点?保存数组首地址。用途?p++的时候能指向下一个数组。所以了?要用它来指向一个二维数组。因为二维数组里的每一个元素都是相同类型的(都是一个int型数组),所以推导出步长了?sizeof(int[4]),即16
//说白了就一指针,指向了数组类型
例3:数组指针指向二维数组。
#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视频教程》
Atas ialah kandungan terperinci 数组指针的用法有哪些?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Penunjuk tatasusunan PHP digunakan untuk mengendalikan tatasusunan. Penunjuk tatasusunan ialah mekanisme organisasi dalaman tatasusunan Setiap tatasusunan mempunyai penunjuk dalaman yang menunjuk ke unit "semasa" (elemen) ini pada mulanya menunjuk ke unit pertama dalam tatasusunan semasa , anda boleh mengakses mana-mana elemen dalam tatasusunan. PHP menyediakan berbilang fungsi terbina dalam untuk mengawal penunjuk tatasusunan: semasa(), pos(), kunci(), seterusnya(), sebelum(), akhir(), set semula().

PHP ialah bahasa skrip sebelah pelayan yang digunakan secara meluas dalam pembangunan web Sintaksnya serupa dengan bahasa C, dan ia juga menyediakan banyak fungsi dan perpustakaan yang mudah. Dalam PHP, fungsi next() ialah fungsi yang biasa digunakan untuk mengalihkan penunjuk tatasusunan ke elemen seterusnya. 1. Apakah penunjuk tatasusunan? Dalam PHP, tatasusunan ialah struktur data yang sangat mudah yang boleh menyimpan banyak data tersusun. Setiap elemen dalam tatasusunan mempunyai subskrip yang sepadan, yang boleh digunakan untuk mengakses dan mengubah suai nilai elemen. Selain mengakses elemen tatasusunan melalui subskrip,

Dengan pembangunan berterusan bahasa Golang, tatasusunan penuding fungsi dan penuding tatasusunan juga telah menjadi bahagian penting dalam pengaturcaraan Golang. Dalam artikel ini, kami akan membincangkan kemahiran aplikasi tatasusunan penuding dan penuding tatasusunan dalam fungsi Golang dan memberi anda beberapa kod contoh praktikal dan penjelasan berkaitan. Konsep asas tatasusunan penunjuk Golang Mula-mula, mari kita fahami tatasusunan penunjuk Golang dahulu. Tatasusunan penunjuk ialah jenis data yang merupakan tatasusunan penunjuk kepada pembolehubah atau objek yang berbeza.

Perbezaan antara penuding tatasusunan dan tatasusunan penuding ialah: 1. Penuding tatasusunan ialah penuding, manakala tatasusunan penuding yang disimpan ialah tatasusunan 2. Penuding tatasusunan diisytiharkan int *p = arr;, manakala tatasusunan penuding diisytiharkan int *; arr[ 5];; 3. Penunjuk tatasusunan boleh mengakses elemen dalam tatasusunan dalam bentuk p[i], manakala tatasusunan penuding perlu mengakses elemen dalam tatasusunan dalam bentuk arr[i].

Perbezaan: Untuk tatasusunan penunjuk, pertama sekali, ia adalah tatasusunan, dan unsur tatasusunan adalah semua penunjuk, yang bermaksud bahawa tatasusunan menyimpan penunjuk Bilangan bait yang diduduki oleh tatasusunan ditentukan oleh tatasusunan itu sendiri penunjuk tatasusunan, pertama Ia adalah penunjuk, ia menunjukkan kepada tatasusunan, iaitu, ia adalah penunjuk kepada tatasusunan, yang sentiasa menduduki 4 bait dalam sistem 32-bit Bagi berapa bait tatasusunan yang ditunjukkannya menduduki, ini tidak dapat ditentukan, dan ia bergantung pada situasi tertentu.

Dalam PHP, anda boleh menggunakan fungsi set semula untuk mengalihkan penunjuk tatasusunan kembali ke permulaan tatasusunan. Sebelum menggunakan fungsi set semula, anda perlu mengetahui konsep penunjuk tatasusunan. Penunjuk tatasusunan ialah penuding dalaman yang menunjuk kepada elemen tatasusunan yang sedang dikendalikan. Dalam PHP, anda boleh menggunakan gelung foreach untuk melintasi tatasusunan, atau anda boleh menggunakan gelung sementara dan penuding tatasusunan untuk melintasi tatasusunan. Walau bagaimanapun, apabila menggunakan gelung sementara dan penuding tatasusunan untuk melintasi tatasusunan, anda perlu menggunakan fungsi penetapan semula untuk mengalihkan penuding tatasusunan kembali ke permulaan tatasusunan. Gunakan tetapan semula

Tatasusunan penuding dan penuding tatasusunan ialah dua jenis konsep yang berbeza, yang berbeza dari segi definisi dan penggunaan: 1. Tatasusunan penunjuk ialah tatasusunan, setiap elemen daripadanya ialah jenis penunjuk, manakala penuding tatasusunan ialah penunjuk, yang menunjuk kepada Yang pertama alamat tatasusunan; 2. Kaedah pengisytiharan tatasusunan penunjuk ialah "jenis *tatasusunan[]", dan kaedah pengisytiharan penuding tatasusunan ialah "jenis (*ptr)[saiz]".

Terdapat perbezaan berikut antara penuding tatasusunan dan rujukan tatasusunan: Penyahrujukan diperlukan: Penunjuk tatasusunan perlu dinyahrujuk manakala rujukan tatasusunan tidak. Aritmetik penunjuk: Penunjuk tatasusunan menyokong aritmetik penuding, manakala rujukan tatasusunan tidak. Alamat: Penunjuk tatasusunan menyimpan alamat elemen pertama tatasusunan, tetapi rujukan tatasusunan bukan alamat. Kval malar: Penunjuk tatasusunan boleh menunjuk ke constkval, tetapi rujukan tatasusunan tidak boleh. Saiz tatasusunan: Penunjuk tatasusunan tidak menyimpan saiz tatasusunan, manakala rujukan tatasusunan secara tersirat mengandungi saiz tatasusunan.
