不能将无类型指针参与算术运算,如:
p++;
//错误,进行算法操作的指针必须是确定知道其指向的数据类型大小
将其改成:( (int *)p) ++;则能通过
无类型指针主要作用
对函数返回的限定(malloc函数)
对函数参数的限定 (memcpy函数)
指针的值可以改变,无法通过指针修改指向的内容
关键字const放在指针类型前
例如:
int i, j, *q;
const int * p;
/* 等价于int const *p; */
p = &j;
/* 允许 */
p = &i;
/* 允许 */
i = 10;
/* 允许 */
*p = 5 ;
/* 不允许 */
指针常量又称为常指针
指针的值不能修改,指向的内容可以修改
关键字const放在“*”号和指针名之间
例如:
int var1,var2 ;
int * const p = &var1 ;
*p = 5 ;
/* 允许 */
p = &var2 ;
/* 不允许 */