2016-09-27 219 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'索引的)。您也可以访问其他元素。

相关问题