实验<5> 问题描述

以下记录了我在学习过程中遇到的部分问题:

1.提领指向不完全类型的指针

struct hostent

{

       char    *h_name;              

       char    **h_aliases;

       int     h_addrtype;

       int     h_length;

       char    **h_addr_list;

       #defineh_addr h_addr_list[0]

};

没有包含头文件,哈哈

    比如这个结构,尽管在头文件中已经包含或定义,但对这个结构体的成员(hptr->h_name)变量进行访问时,编译无法通过,显示编译器错误提示为“提领指向不完全类型的指针”。

对于结构体来说虽然所有的变量默认都是公有的,但是,如果想访问里面的成员变量,必须有包含对其结构的定义,否则出现如上的错误,c编译器将无法识别结构里面的变量,一般想操作结构体里的成员变量,都是通过调用结构体中定义的函数接口,来取得结构体中的值,如果想直接访问,在头文件或源文件中加入结构体的定义就行了

2.警告:赋值 makes pointer from integer without a cast

同样因为没包含头文件。


3.previous implicitdeclaration of 'Base64_Code' was here

    Base64_Code函数未定义,如果要使用 Base64_Code函数,则要先定义。


4.警告:use of cast expressions aslvalues is deprecated

(short)buf[2] =atoi(&data[4]);不赞成把强制类型转换的结果作为左值


5.warning: initializationdiscards qualifiers from pointer target type

initialization取消了指针目标类型的限定。


猜你喜欢

转载自blog.csdn.net/Aaaaqiu_/article/details/80725639