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");
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值