当前位置:首页 > 公众号精选 > IOT物联网小镇
[导读]一、前言二、问题描述三、把类型改为void指针类型四、总结一、前言昨天在编译代码的时候,之前一直OK的一个地方,却突然出现了好几个Warning!本着强迫症要消灭一切警告的做法,最终定位到:是结构体内部,指向结构体类型的指针成员变量导致的问题。这个问题,也许永远不会碰到,之所以被...


  • 一、前言

  • 二、问题描述

  • 三、把类型改为 void 指针类型

  • 四、总结


一、前言

昨天在编译代码的时候,之前一直OK的一个地方,却突然出现了好几个 Warning!

本着强迫症要消灭一切警告的做法,最终定位到:是结构体内部, 指向结构体类型的指针成员变量导致的问题

这个问题,也许永远不会碰到,之所以被我赶上了,应该是因为某个时候手贱, 误碰了键盘导致。

下面一一道来。

PS: 我的测试环境是 Ubuntu16.04-64,编译器使用系统自带的 gcc-5.4.0。

二、问题描述

1. 正常的代码

比较简单:结构体 struct _Data2_ 的第 2 个成员变量是一个指针,指向的数据类型是结构体 struct _Data1_

typedef struct _Data1_
{
int a;
}Data1;

typedef struct _Data2_
{
int b;
struct _Data1_ *next;
}Data2;

int main()
{
Data1 d1 = {1};
Data2 d2 = {2,
本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
关闭
关闭