首页 > 其他分享 >【C语言】[waring]comparison between pointer and integer报错

【C语言】[waring]comparison between pointer and integer报错

时间:2024-12-24 19:29:48浏览次数:6  
标签:comparison waring int value C语言 报错 NULL ptr 指针

6c51d9b595c449ad9f5b8e0dd0666ca1.png

 

原因:在C语言中,指针和整型是不同的数据类型,它们之间不能直接进行比较。

 

改正:在arr[i]前加&取地址

 

6e0fdab2654d4e1a8b818e8187b30d92.png

 [waring]comparison between pointer and integer

改正方法:1.显式类型转换(不推荐)

int value = 10;

int *ptr = NULL;

if ((int)ptr == value)

{

}

这里if ((int)ptr == value)将ptr转化为整数

2.检查指针是否为NULL:

int value = 10;
int *ptr = NULL;
if (ptr == NULL)

{
}

将ptr与NULL比较。

3.检查指针是否指向特定的地址:

int value = 10;

int *ptr = &value;

if (ptr == (int *)&value)

{

}

比较整数的地址和指针的地址是否一致

 

如果这个文章对你有帮助的话还请点点赞和收藏,如果哪里有错误的话也可以评论一下讨论讨论,比较本人大学牲初学C语言,还请多多宽容!

标签:comparison,waring,int,value,C语言,报错,NULL,ptr,指针
From: https://blog.csdn.net/2401_89694851/article/details/144679442

相关文章