2016-09-27 92 views
-3
#include <stdio.h> 
void main() 
{ 
int a[] = {10,20,30,40,50,60,70,80,90,100}; 
int k,m,i,*ptr; 
k=m=0; 
ptr=a; 
for(i=0; i<10; i+=2) 
{ 
    k+=ptr[i]; 
    m+=ptr[i+1]; 
} 
printf("***** result ***** \n\n"); 
printf("(10+30+50+70+90)=%d\n",k); //250 
printf("(20+40+60+80+100)=%d\n",m); //300 
} 

爲什麼我使用* ptr作爲'指針'?我的意思是它不能使用'ptr'來運行?'C'爲什麼我將變量聲明爲'指針'?

變量'* ptr'如何加載數組'a []'。

+4

你應該先學習指針才能看這個代碼。 – LPs

回答

0

這裏指針ptr指向數組的第一個元素。如果您將其聲明爲常規變量,則只能爲其分配一個值。但是現在,您可以通過增加或減少指針的值來指定數組元素的地址,即通過它訪問所有其他元素,如果它被聲明爲變量,則無法執行該指針的值。

指針ptr指向數組的第一個元素。所以如果你寫ptr [1],它指向數組的第二個元素(因爲數組是'0'索引的)。您也可以訪問其他元素。

相關問題