• 正文
  • 推薦器件
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

關(guān)于指針數(shù)組和數(shù)組指針的理解與測(cè)試

2024/05/20
944
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

先簡(jiǎn)單說一下兩個(gè)的概念,

指針數(shù)組:是一個(gè)數(shù)組,數(shù)組中的每個(gè)元素都是指針,例如 char *p[3];

數(shù)組指針:是一個(gè)指針,指向數(shù)組,例如 int (*q)[3];

測(cè)試代碼:

#include <stdio.h>
int main(){  int i=0;      char a=12,b=34,c=56;??char?*p[3]={&a,&b,&c};?//指針數(shù)組    char y[]={1,2,3,4,5};  char (*q)[5]=&y;       //數(shù)組指針    int z[]={6,7,8,9,10};  int (*r)[5]=&z;        //數(shù)組指針    for(i=0;i<3;i++)    printf("p[%d]=%d, ",i,*p[i]);  printf("p=%p,p+1=%prn",p,p+1);  printf("sizeof(p)=%ldrn",sizeof(p));  printf("rnrn");    for(i=0;i<5;i++)    printf("y[%d]=%d, ",i,*(*q+i));  printf("q=%p,q+1=%prn",q,q+1);  printf("sizeof(q)=%ldrn",sizeof(q));  printf("rnrn");    for(i=0;i<5;i++)    printf("z[%d]=%d, ",i,*(*r+i));  printf("r=%p,r+1=%prn",r,r+1);  printf("sizeof(r)=%ldrn",sizeof(r));  printf("rnrn");    return 0;}

在64位windows下運(yùn)行結(jié)果如下:

p[0]=12, p[1]=34, p[2]=56, p=0x7ffc08409000,p+1=0x7ffc08409008sizeof(p)=24
y[0]=1, y[1]=2, y[2]=3, y[3]=4, y[4]=5, q=0x7ffc08409023,q+1=0x7ffc08409028sizeof(q)=8
z[0]=6, z[1]=7, z[2]=8, z[3]=9, z[4]=10, r=0x7ffc08408fe0,r+1=0x7ffc08408ff4sizeof(r)=8

通過獲取各個(gè)指針的大小可以發(fā)現(xiàn),windows指針大小占用8個(gè)字節(jié),p是指針數(shù)組,且有三個(gè)元素,所以占用大小是3*8=24個(gè)字節(jié);q和r分別是char和int類型的數(shù)組的指針,所以都只占用8個(gè)字節(jié)。

所以,指針數(shù)組是某一類指針的合集,是一個(gè)數(shù)組;

數(shù)組指針僅僅是一個(gè)指針,指向數(shù)組。

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
SIT8103AC-23-18E-33.33333X 1 SiTime Corporation OSC MEMS 33.33333MHZ LVCMOSLVTTL
$1.85 查看
71V416S15PHGI 1 Integrated Device Technology Inc TSOP-44, Tube

ECAD模型

下載ECAD模型
$17.14 查看
CPC1560GS 1 IXYS Integrated Circuits Division Solid State Relay, TRANSISTOR OUTPUT SOLID STATE RELAY, 3750 V ISOLATION-MAX, ROHS COMPLIANT PACKAGE-8
$3.26 查看

相關(guān)推薦

登錄即可解鎖
  • 海量技術(shù)文章
  • 設(shè)計(jì)資源下載
  • 產(chǎn)業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄

公眾號(hào):物聯(lián)網(wǎng)思考;主要記錄、分享、思考開發(fā)中遇到的技術(shù)小細(xì)節(jié),涉及嵌入式單片機(jī)、C語言、傳感器、低功耗物聯(lián)網(wǎng)等。偶爾也可能是程序員健康、職場(chǎng)潛規(guī)則、生活思考、行業(yè)討論。