<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2002-2-1 (1.71)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>C 语言常见问题集</TITLE>
<META NAME="description" CONTENT="C 语言常见问题集">
<META NAME="keywords" CONTENT="ccfaq">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=GBK">
<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="ccfaq.css">
<LINK REL="next" HREF="node1.html">
</HEAD>
<BODY >
<DIV CLASS="navigation"><table width=100%> <COLGROUP><COL width="25%"><COL width="25%"><col width="25%"><col width="25%"></colgroup><tr><td align=left>
<IMG WIDTH="62" HEIGHT="25" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev_g.png"></td><td align=center>
<IMG WIDTH="61" HEIGHT="25" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_g.png"></td><td align=center>
<A NAME="tex2html110"
HREF="node1.html">
<IMG WIDTH="63" HEIGHT="25" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> </td><td align=right>
<A NAME="tex2html112"
HREF="node1.html">
<IMG WIDTH="62" HEIGHT="25" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A></td></tr></table>
</DIV>
<!--End of Navigation Panel-->
<P>
<P>
<H1 ALIGN="CENTER"><BIG CLASS="XHUGE">C 语言常见问题集</BIG></H1>
<DIV CLASS="author_info">
<P ALIGN="CENTER"><STRONG>原著:Steve Summit</STRONG></P>
<P ALIGN="CENTER"><I>翻译:朱群英, 孙 云
</I></P>
<P ALIGN="CENTER"><STRONG>
修订版 0.9.4, 2005年6月23日
<BR>
版权所有 © 2005
</STRONG></P>
</DIV>
<P>
<BR><HR>
<!--Table of Child-Links-->
<A NAME="CHILD_LINKS"></A>
<UL CLASS="ChildLinks">
<LI><A NAME="tex2html114"
HREF="node1.html">目录</A>
<LI><A NAME="tex2html115"
HREF="node2.html"><SPAN CLASS="arabic">1</SPAN>. 前言</A>
<LI><A NAME="tex2html116"
HREF="node3.html"><SPAN CLASS="arabic">2</SPAN>. 声明和初始化</A>
<UL>
<LI><A NAME="tex2html117"
HREF="node4.html"><SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">1</SPAN> 我如何决定使用那种整数类型?</A>
<LI><A NAME="tex2html118"
HREF="node5.html"><SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">2</SPAN> 64 位机上的 64 位类型是什么样的?</A>
<LI><A NAME="tex2html119"
HREF="node6.html"><SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">3</SPAN> 怎样定义和声明全局变量和函数最好?</A>
<LI><A NAME="tex2html120"
HREF="node7.html"><SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">4</SPAN> extern 在函数声明中是什么意思?</A>
<LI><A NAME="tex2html121"
HREF="node8.html"><SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">5</SPAN> 关键字 auto 到底有什么用途?</A>
<LI><A NAME="tex2html122"
HREF="node9.html"><SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">6</SPAN> 我似乎不能成功定义一个链表。我试过
typedef struct {
char *item;
NODEPTR next;
} *NODEPTR; 但是编译器报了错误信息。难道在C语言中一个
结构不能包含指向自己的指针吗?</A>
<LI><A NAME="tex2html123"
HREF="node10.html"><SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">7</SPAN> 怎样建立和理解非常复杂的声明?例如定义一个包含 N 个指向返
回指向字符的指针的函数的指针的数组?</A>
<LI><A NAME="tex2html124"
HREF="node11.html"><SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">8</SPAN> 函数只定义了一次, 调用了一次, 但编译器提示非法重定义了。</A>
<LI><A NAME="tex2html125"
HREF="node12.html"><SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">9</SPAN> main() 的正确定义是什么?
void main() 正确吗?</A>
<LI><A NAME="tex2html126"
HREF="node13.html"><SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">10</SPAN> 对于没有初始化的变量的初始值可以作怎样的假定?
如果一个全局变量初始值为 ``零", 它可否作为空指针或浮点零?</A>
<LI><A NAME="tex2html127"
HREF="node14.html"><SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">11</SPAN> 代码 int f() { char a[] = <TT>"</TT>Hello,
world!<TT>"</TT>;} 不能编译。</A>
<LI><A NAME="tex2html128"
HREF="node15.html"><SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">12</SPAN> 这样的初始化有什么问题?char *p = malloc(10);
编译器提示 ``非法初始式" 云云。</A>
<LI><A NAME="tex2html129"
HREF="node16.html"><SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">13</SPAN> 以下的初始化有什么区别?char a[] = <TT>"</TT>string
literal<TT>"</TT>; char *p = <TT>"</TT>string
literal<TT>"</TT>; 当我向 p[i] 赋值的时候, 我的
程序崩溃了。</A>
<LI><A NAME="tex2html130"
HREF="node17.html"><SPAN CLASS="arabic">2</SPAN>.<SPAN CLASS="arabic">14</SPAN> 我总算弄清除函数指针的声明方法了, 但怎样才能初始化呢?</A>
</UL>
<BR>
<LI><A NAME="tex2html131"
HREF="node18.html"><SPAN CLASS="arabic">3</SPAN>. 结构、联合和枚举</A>
<UL>
<LI><A NAME="tex2html132"
HREF="node19.html"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">1</SPAN> 声明 struct x1 { ...}; 和 typedef struct { ...} x2;
有什么不同?</A>
<LI><A NAME="tex2html133"
HREF="node20.html"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">2</SPAN> 为什么 struct x { ...}; x thestruct; 不对?</A>
<LI><A NAME="tex2html134"
HREF="node21.html"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">3</SPAN> 一个结构可以包含指向自己的指针吗?</A>
<LI><A NAME="tex2html135"
HREF="node22.html"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">4</SPAN> 在 C 语言中实现抽象数据类型什么方法最好?</A>
<LI><A NAME="tex2html136"
HREF="node23.html"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">5</SPAN> 在 C 中是否有模拟继承等面向对象程序设计特性的好方法?</A>
<LI><A NAME="tex2html137"
HREF="node24.html"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">6</SPAN> 我遇到这样声明结构的代码: struct name {
int namelen; char
namestr[1];}; 然后又使用一些内存分配技巧使 namestr
数组用起来好像有多个元素。这样合法和可移植吗?</A>
<LI><A NAME="tex2html138"
HREF="node25.html"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">7</SPAN> 是否有自动比较结构的方法?</A>
<LI><A NAME="tex2html139"
HREF="node26.html"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">8</SPAN> 如何向接受结构参数的函数传入常数值?</A>
<LI><A NAME="tex2html140"
HREF="node27.html"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">9</SPAN> 怎样从/向数据文件读/写结构?</A>
<LI><A NAME="tex2html141"
HREF="node28.html"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">10</SPAN> 我的编译器在结构中留下了空洞, 这导致空间浪费而且无法
与外部数据文件进行 "二进制" 读写。能否关掉填充, 或者控制结构域的
对齐方式?</A>
<LI><A NAME="tex2html142"
HREF="node29.html"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">11</SPAN> 为什么 sizeof 返回的值大于结构的期望值,
是不是尾部有填充?</A>
<LI><A NAME="tex2html143"
HREF="node30.html"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">12</SPAN> 如何确定域在结构中的字节偏移?</A>
<LI><A NAME="tex2html144"
HREF="node31.html"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">13</SPAN> 怎样在运行时用名字访问结构中的域?</A>
<LI><A NAME="tex2html145"
HREF="node32.html"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">14</SPAN> 程序运行正确, 但退出时却 ``core dump''了,怎么回事?</A>
<LI><A NAME="tex2html146"
HREF="node33.html"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">15</SPAN> 可以初始化一个联合吗?</A>
<LI><A NAME="tex2html147"
HREF="node34.html"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">16</SPAN> 枚举和一组预处理的 #define 有什么不同?</A>
<LI><A NAME="tex2html148"
HREF="node35.html"><SPAN CLASS="arabic">3</SPAN>.<SPAN CLASS="arabic">17</SPAN> 有什么容易的显示枚举值符号的方法?</A>
</UL>
<BR>
<LI><A NAME="tex2html149"
HREF="node36.html"><SPAN CLASS="arabic">4</SPAN>. 表达式</A>
<UL>
<LI><A NAME="tex
c语言问题集中文版
5星 · 超过95%的资源 需积分: 9 43 浏览量
2008-04-28
13:54:19
上传
评论
收藏 639KB ZIP 举报
csdas22as
- 粉丝: 0
- 资源: 10
最新资源
- 基于蚁群算法的路径规划问题+数学建模校内赛.pdf
- python《基于char-rnn和tensorflow生成周杰伦歌词》+源代码+设计资料
- 用于数据分析,包括电商的相关分析以及自己的分析,简单的jupyter处理
- 基于matlab实现的理解普通的遗传算法和佳点集遗传算法的基本思想和不同点
- 基于matlab实现的快速排序算法以及冒泡排序算法,可以直接调用.rar
- 基于matlab实现的快速排序的寻找次序统计量的算法,使用了两种不同的分割方式 .rar
- 基于matlab实现的借鉴生物免疫机制,将人工免疫原理应用于物流中心的选址,通过实验分析,表明算法的有效性.rar
- 基于matlab实现的简单实现了极值动力学寻优的特点,有效的解决了关于函数寻优.rar
- 基于matlab实现的合作协同进化算法2维函数优化的matlab源程序.rar
- 基于matlab实现的佳点集算法测试一标准函数,理解普通的遗传算法和佳点集遗传算法的基本思想和不同点.rar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
评论1