首頁 後端開發 C#.Net教程 數組指針的用法有哪些?

數組指針的用法有哪些?

Jun 11, 2020 pm 04:20 PM
數組指針

數組指針的用法有哪些?

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中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

熱門話題

Java教學
1664
14
CakePHP 教程
1423
52
Laravel 教程
1321
25
PHP教程
1269
29
C# 教程
1249
24
php數組指標什麼用 php數組指標什麼用 Dec 28, 2022 pm 07:23 PM

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

如何使用PHP中的next函數移動數組指標到下一個元素 如何使用PHP中的next函數移動數組指標到下一個元素 Jun 26, 2023 pm 03:55 PM

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

Golang函數的指標陣列、陣列指標的應用技巧 Golang函數的指標陣列、陣列指標的應用技巧 May 16, 2023 pm 04:00 PM

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

數組指標和指標數組有什麼區別 數組指標和指標數組有什麼區別 Sep 22, 2023 am 09:51 AM

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

指標數組和數組指標的區別是什麼 指標數組和數組指標的區別是什麼 Jan 06, 2023 pm 04:50 PM

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

PHP中如何使用reset函數將數組指標移回數組開頭 PHP中如何使用reset函數將數組指標移回數組開頭 Jun 26, 2023 pm 12:45 PM

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

指標數組和數組指標的區別是什麼 指標數組和數組指標的區別是什麼 Sep 04, 2023 pm 03:45 PM

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

數組指標和數組引用有什麼區別? 數組指標和數組引用有什麼區別? Jun 04, 2024 am 10:01 AM

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

See all articles