1. 程式人生 > >指針與數組

指針與數組

div \n 元素 for span 得到 stdio.h 如果 引用

首先指針就是地址,數組本身就是地址,所以輸入時可以不需要取地址符‘&‘,但如果引用數組的元素,就必須得加&符。

通過指針引用數組:

用一個指針變量指向一個數組元素

#include<stdio.h>
int main()
{
    int a[5]={2,5,8,3,5};
    int *p;
    p=&a[0];
    printf("%d",*p);
    return 0;
}

運行結果:2

當printf("%d",*p);改為printf("%d",p);時,每次的運行結果為不同的7位數字,表達的是地址。

p=&a[0];等價於p=a;(a為函數名),因為p=a;的作用是把a數組的首元素的地址賦給指針變量p。

同時,int *p;p=&a[0];等價於int *p=a;

數組是不能進行自加自減運算,需要借助指針變量。

若指針變量p指向a的元素a[0]:

1、p++:使得p指向下一個元素a[1],則*p為元素a[1]的值。

2、*p++:等價於*(p++),先得到p所指向的值*p,在進行p++運算。

3、*(++p):先使p自加1,再取*p的值。

4、(*p)++:表示p所指向的元素值自加1。

打印下列圖形:

A

BC

DEF

GHIJ

#include<stdio.h>;

int main()
{
     int i,j,k=0,p=0;
     for(i=0;i<4
;i++) { k++; for(j=0;j<k;j++) { p++; printf("%c",64+p); } printf("\n"); } }

指針與數組