指针类型赋值错误

 我来答
大野瘦子
高粉答主

2023-06-30 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:1227
采纳率:100%
帮助的人:34.4万
展开全部

指针类型的赋值。

不同的编译器,对于不同类型间的指针变量进行赋值的编译检查是不一样的,有的报警告,有的报错误。

例如:

int main()

{

char a[3][6]={"hello", "world"};

char *p;

p=a;

printf("%c\n", *p ); //输出h

return 0;

}

在devC++工具下编译通过,报警告: [Warning] assignment from incompatible pointer type 

在VC6工具下,编译出错报错误:error C2440: '=' : cannot convert from 'char [3][6]' to 'char *'   Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast 

扩展资料:

warning: initialization from incompatible pointer type 分析

在字符驱动中,这行代码报了警告信息:

warning: initialization from incompatible pointer type

static ssize_t s3c2440_key_read(struct file *filp, char __user *buf, ssize_t count, loff_t *ppos);

经分析是因为函数声明与函数的原型不符,将其中的:

ssize_t count

改成:

size_t count

就可以了。

同样static void s3c2440_key_release(struct inode *inode, struct file *filp);

将其中的:

void

改成:

int

就可以了。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式