一级指针可以改变它所指向的变量的值 二级指针可以改变一级指针的值,即一级指针的指向.
指针常量
int const *p; 表示P是一个指向常量的指针,p所指向的
对象当做常量处理,即使它不是常量.
常量指针
int *const p,表示指针是一个常量,其本身值不可修改,但是指向的
值可以修改
指针常量常量指针
const int *const p 表示指针是一个常量,其本身不可修改
指向的目标的值也不可以修改.
指针必须指向一个确定的存储空间 char double short int void sort(int *a,char *b,short *c,double *d) { for (int i = 0; i < 6; i++) { printf("%p %p %p %p\n", a++, b++, c++, d++); getchar(); } }
int main() { int a[5]; char b[5]; short c[5]; double d[5]; printf("%p %p %p %p\n\n", a, b, c, d); getchar(); sort(a, b, c, d); getchar();
}
如果需要通过终端输入来给p赋值,那么需要提前分配内存 p = (char*)malloc(sizeof(char));