const int *p 与int const *p等价
int *const p
const int x const int *y=&x
int *const p
const int x const int *y=&x
2016-02-25
const在*外,p可以改指向的变量,但已指向的变量值无法通过p来改变。
在*内,可以通过p改变指向变量的值,但无法改指向的变量。
在*内,可以通过p改变指向变量的值,但无法改指向的变量。
2016-02-22
int getMax(int * arr, int count)
{
int maxNum = *arr;
for(int i = 1; i < count; i++) {
if(* ++arr > maxNum) {
maxNum = *arr;
}
}
return maxNum;
}
int main(void) {
int numArr[8] = {3, 8, 6, 5, 0, 1, 2, 4};
cout << getMax(2, 6) << endl;
cout << getMax(numArr, 8) << endl;
return 0;
}
{
int maxNum = *arr;
for(int i = 1; i < count; i++) {
if(* ++arr > maxNum) {
maxNum = *arr;
}
}
return maxNum;
}
int main(void) {
int numArr[8] = {3, 8, 6, 5, 0, 1, 2, 4};
cout << getMax(2, 6) << endl;
cout << getMax(numArr, 8) << endl;
return 0;
}
已采纳回答 / Acusp
两种形式都是可以的,只不过 NULL == p 的这种形式跟推荐使用原因是我们很容易把 == 符号写成 = 号,如果使用推荐的方式写 NULL = p 这样编译器就会报错,你就知道自己犯错了;而如果写成 p = NULL 编译器是不会提示的,即使错了可能都不容易发现,因为此时是赋值语句,条件一直为真
2016-02-10