之前一直搞混,在循环内使用指针赋值,觉得直接*(p++)就ok,一直报错,不得解。后来百度了一下,发现大有玄机。
(1)*p++,先自加 ,再指针运算。
int data[2]={5,10};
int *p = data;
*p++ = 10;
(2)(*p)+1 = 6;
下面俩循环又完了,搞不清楚:
example 1、赋值
for(;?
{
// Read the next value
cout << "Enter a value or 0 to end: ";
cin >> inputValue;
if(inputValue == 0.0)
break;
(values+index) = inputValue; // 那为啥这个不能用values++??????
index++
}
example2、累加
double average(double *array,int count)
{
double sum(0.0);
for(int i=0;i<count;i++)
sum += *array++;
return sum/count;
}