數組指針的用法有哪些?
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影片教學》
以上是數組指針的用法有哪些?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

php數組指標用於操作數組。數組指標是數組內部的組織機制,每個數組都有一個內部的指標指向它「目前的」單元(元素),這個指標最初指向的是當前數組中的第一個單元;透過移動或改變數組指標的位置,可以存取數組中的任意元素。對於陣列指標的控制PHP提供了多個內建函數:current()、pos()、key()、next()、prev()、end()、reset()。

PHP是一種廣泛應用於網頁開發的伺服器端腳本語言,其語法類似C語言,同時也提供了許多方便的函數和函式庫。在PHP中,next()函數是一種用來移動陣列指標到下一個元素的常用函數。一、什麼是陣列指標在PHP中,陣列是一種非常方便的資料結構,可以儲存很多有序的資料。數組中的每一個元素都有一個對應的下標,可以用來存取和修改該元素的值。除了透過下標來存取數組元素外,還

隨著Golang語言的不斷發展,函數的指標數組和陣列指標也成為了Golang程式設計中的重要組成部分。在本篇文章中,我們將會探討Golang函數的指標陣列和陣列指標的應用技巧,並為大家提供一些實用的範例程式碼和相關的解釋。 Golang指標數組的基本概念首先,讓我們先來了解Golang指標數組。指標數組是一種資料類型,它是由多個指向不同變數或物件的指標所組成的陣列

數組指針和指針數組區別有:1、數組指針是一個指針,而存指針數組是一個數組;2、數組指針的聲明方式是int *p = arr;,而指針數組的聲明方式是int *arr[ 5];;3、陣列指標可以用p[i]的形式存取數組中的元素,而指標數組則需要用arr[i]的形式存取數組中的元素。

區別:對指針數組來說,首先它是一個數組,數組的元素都是指針,也就是說該數組存儲的是指針,數組佔多少個字節由數組本身決定;而對數組指針來說,首先它是一個指針,它指向一個數組,也就是說它是指向數組的指針,在32 位元系統下永遠佔4 字節,至於它指向的數組佔多少字節,這個不能夠確定,要看具體情況。

在PHP中,可以使用reset函數將陣列指標移回數組開頭。在使用reset函數之前,需要知道陣列指標的概念。數組指針是一個內部的指針,指向目前操作的數組元素。在PHP中,可以使用foreach迴圈來遍歷數組,也可以使用while迴圈和陣列指標來遍歷數組。不過,在使用while迴圈和陣列指標遍歷陣列時,需要使用reset函數將陣列指標移回陣列開頭。使用reset

指標數組和數組指標是兩種不同類型的概念,在定義和使用上有所區別:1、指標數組是數組,其中的每個元素都是指標類型,而數組指標是指針,它指向一個陣列的首位址;2、指標陣列的宣告方式為“type *array[]”,而陣列指標的宣告方式為“type (*ptr)[size]”。

數組指標和數組引用之間有以下區別:解引用需要:數組指標需要解引用,而數組引用不需要。指標算術:陣列指標支援指標算術,而陣列引用不支援。位址:陣列指標儲存數組首元素位址,而陣列引用不是位址。常數kval:數組指標可以指向constkval,而數組引用不能。數組大小:數組指標不儲存數組大小,而數組引用隱式地包含數組大小。
