C语言错误 指针的类型错误
//指针的类型错误 #include<stdio.h> #include<stdlib.h> #include<string.h> //用const来限制形参的指向不可以修改,优化代码的安全性 int Getnum(int ** const pin/*in*/){ return 1; } //指针的类型 //指针都是有自己的类型的 例如 int *,int ** //指针的类型本质上是对指针所指向的内存空间一种描述 //一级指针,二级指针只是对指针本身的一种描述 //请不要混淆指针类型与多级指针 void main(){ int buf[10] = { 0 }; Getnum(&buf); // warning C4047: “函数”:“int **const ”与“int (*)[10]”的间接级别不同 //分析 buf的类型是int *;一般认为对一级指针取地址是二级指针,这种想法不完全正确 //数组就是个特殊存在,这里 &buf 的;类型定义是 int (*P)[10],类型是P; //注意:int (*)[10]是定义数组变量的,不是数组类型 //所以这种写法是错误的 system("pause"); }