程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C語言使用指針訪問數組

C語言使用指針訪問數組

編輯:關於C語言

如果pa指向數組中的某個元素,那麼pa+1將指向下一個元素,pa+i指向下i個元素。所以,若果pa指向a[0],那麼*pa其實就是a[0],*(pa+1)就是a[1],*(pa+i)就是a[i]。根據這個思路,我們可以使用指針來訪問數組。

#include <stdio.h>
int main(int argc, char *argv[])
{
	int score[10]={76,85,90,67,59,79,82,95,91,65};
	int wait, length, i;
	length = sizeof(score) / sizeof(score[0]);
	for(i = 0; i < length; i++)
	{
		printf("%d \n", *(score + i));
	}
	scanf("%d", &wait);
}

程序輸出:

76
85
90
67
59
79
82
95
91
65

數組下標與指針關系很密切。執行語句 pa = &a[0] 後,pa 和 a 就具有相同的值了,並且 *pa=a[0]。實際上C語言在計算數組下標時也是使用指針來完成的。下標與指針其實是等價的。

當把一個數組名傳遞給一個函數的時候,實際上傳遞的是該數組的第一個元素的地址。所以,數組名參數必須是一個指針。

計算字符串長度的程序可以寫成以下:

int strlen(char *s)
{
	int n;
    
    for(n = 0; *s != '\0'; s++)
    	n++;
    return n;
}

s 是指針,也就是一個變量,對它進行自增是合法的。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved