typedef struct学习笔记 - z2care的专栏 - csdnblog.htm

来自「最全的介绍C语言结构体的使用方法和使用技巧!」· HTM 代码 · 共 525 行 · 第 1/2 页

HTM
525
字号
</SCRIPT>

<SCRIPT src="typedef struct学习笔记 - z2care的专栏 - CSDNBlog.files/show_ads.js" 
type=text/javascript></SCRIPT>
<BR></DIV><SPAN id=RecentVisitors>
<H3 class=listtitle>最近访客</H3>
<TABLE border=0>
  <TBODY>
  <TR>
    <TD align=middle><IMG 
      onmouseover="try{BlogShowme(event, 'lwei_cxdn2007')}catch(ex){}" 
      style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" 
      alt="lwei_cxdn2007 的头像" src=""><BR><A title="访问时间: 8/2/2007 10:36:46 PM" 
      href="http://blog.csdn.net/lwei_cxdn2007/">lwei_cxdn2007</A></TD></TR></TBODY></TABLE></SPAN>
<H3 class=listtitle>文章</H3>
<UL class=list>
  <LI class=listitem><A 
  href="http://blog.csdn.net/z2care/category/298862.aspx">C++系列</A><A 
  href="http://blog.csdn.net/z2care/category/298862.aspx/rss">(RSS)</A>
  <LI class=listitem><A 
  href="http://blog.csdn.net/z2care/category/300254.aspx">DIY系列</A><A 
  href="http://blog.csdn.net/z2care/category/300254.aspx/rss">(RSS)</A>
  <LI class=listitem><A 
  href="http://blog.csdn.net/z2care/category/298861.aspx">JAVA系列</A><A 
  href="http://blog.csdn.net/z2care/category/298861.aspx/rss">(RSS)</A>
  <LI class=listitem><A 
  href="http://blog.csdn.net/z2care/category/322860.aspx">my_daily</A><A 
  href="http://blog.csdn.net/z2care/category/322860.aspx/rss">(RSS)</A>
  <LI class=listitem><A 
  href="http://blog.csdn.net/z2care/category/296578.aspx">SEO课程学习笔记系列</A><A 
  href="http://blog.csdn.net/z2care/category/296578.aspx/rss">(RSS)</A>
  <LI class=listitem><A 
  href="http://blog.csdn.net/z2care/category/296745.aspx">开源项目最新动态:国外部分(个人翻译a/day)</A><A 
  href="http://blog.csdn.net/z2care/category/296745.aspx/rss">(RSS)</A>
  <LI class=listitem><A 
  href="http://blog.csdn.net/z2care/category/298857.aspx">数据结构系列</A><A 
  href="http://blog.csdn.net/z2care/category/298857.aspx/rss">(RSS)</A>
  <LI class=listitem><A 
  href="http://blog.csdn.net/z2care/category/298856.aspx">数据库系列</A><A 
  href="http://blog.csdn.net/z2care/category/298856.aspx/rss">(RSS)</A>
  <LI class=listitem><A 
  href="http://blog.csdn.net/z2care/category/298860.aspx">组成汇编系列</A><A 
  href="http://blog.csdn.net/z2care/category/298860.aspx/rss">(RSS)</A></LI></UL>
<H3 class=listtitle>收藏</H3>
<UL class=list></UL>
<H3 class=listtitle>相册</H3><!--category title-->
<UL class=list>
  <LI class=listitem><A 
  href="http://blog.csdn.net/z2care/Gallery/292051.aspx">我爱家乡的雪</A>
  <LI class=listitem><A 
  href="http://blog.csdn.net/z2care/Gallery/291468.aspx">祖国多娇</A></LI></UL>
<H3 class=listtitle>存档</H3>
<UL class=list>
  <LI><A 
href="http://blog.csdn.net/z2care/archive/2007/05.aspx">2007年05月(16)</A>
  <LI><A 
  href="http://blog.csdn.net/z2care/archive/2007/04.aspx">2007年04月(45)</A></LI></UL></DIV></DIV>
<DIV id=centercontent><!--done-->
<DIV class=Tag>
<SCRIPT language=javascript 
src="typedef struct学习笔记 - z2care的专栏 - CSDNBlog.files/urltag.aspx"></SCRIPT>

<DIV style="CLEAR: both"></DIV></DIV><SPAN class=PreAndNext 
id=viewpost.ascx_PreviousAndNextEntriesUp>
<DIV align=center><A 
href="http://blog.csdn.net/z2care/archive/2007/04/21/1573781.aspx">上一篇:&nbsp;C++资源之不完全导引 
完整版(学c++的不可不看)之一</A>&nbsp;|&nbsp;<A 
href="http://blog.csdn.net/z2care/archive/2007/04/19/1570798.aspx">下一篇:&nbsp;最好的linux下运行windows工具</A></DIV></SPAN><BR>
<SCRIPT>function StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'));keyit.focus();}</SCRIPT>

<DIV class=post>
<DIV class=postTitle><A 
href="http://blog.csdn.net/z2care/archive/2007/04/21/1573760.aspx"><IMG 
height=13 src="typedef struct学习笔记 - z2care的专栏 - CSDNBlog.files/authorship.gif" 
width=15 border=0>&nbsp;typedef struct学习笔记</A> </DIV>
<DIV class=postText>
<P>这学期刚开的数据结构课程是c语言版的,而我们只学了c++,有些函数还是不会用,于是找了本c语言教材,半天搞定了结构的使用,总结一下学习的成果。<BR>首先我们来解决第一个问题:<BR>先看这个程序段<BR>&nbsp;typedef 
struct time{<BR>&nbsp;int hour;<BR>&nbsp;int min;<BR>&nbsp;int 
sec;<BR>&nbsp;struct time *next;<BR>} TIME;<BR>要想理解其中的typedef、struct、time、struct 
time *next、TIME的作用,我们还必须先知道struct的用法。</P>
<P>定义struct结构体:<BR>struct 
结构体名{<BR>&nbsp;包含的成员;<BR>&nbsp;...<BR>&nbsp;...&nbsp;<BR>} 
变量名;<BR>//这里的结构体名如果后面不用的话,可以省略。<BR>//如果暂时不急定义变量来使用的话,那么这里的变量名也可以省略。<BR>//其他的一个都不能少。<BR>※注意:结构体定义是不可以递归的<BR>例如:<BR>struct 
time{<BR>&nbsp;int hour;<BR>&nbsp;int min;<BR>&nbsp;int sec;<BR>&nbsp;struct 
time next;<BR>};//非法的定义,编译报错。<BR>但是我们可以这么解决:<BR>struct time{<BR>&nbsp;int 
hour,min,sec;<BR>&nbsp;struct time 
*next;<BR>};//合法的<BR>定义结构体变量可以在刚才的结构体定义的后面定义,但是它毕竟是有局限的。<BR>一般是用:<BR>struct 结构体名 
变量名(指针名,数组名...);<BR>例如:struct time 
bjtm;//bjtm代表北京时间<BR>指针也可以定义为结构的类型,说白了就是指向这种结构的指针,所以有:<BR>struct time 
*tm;<BR>那么我们怎么使用这个指针呢?<BR>先赋值:tm=&amp;bjtm;<BR>至此,tm可以使用这个bjtm了,并且可以修改它了。<BR>注意在调用成员的时候格式为两种:<BR>1:tm-&gt;min;//最常用的<BR>2:(*tm).min;//很少用了,不过也可以用</P>
<P>好了,我们知道了typedef的一些基本知识,相信大家已经能看懂一部分上面的程序了,但是那个typedef还有些糊涂哈。</P>
<P>曾经呢,有一个漂亮的struct 变量名;摆在我面前,我非常珍惜,但是直到有一天我遇到了typedef struct 结构名{...} 
新结构名;时,我发现这个世界一切都变了。</P>
<P>typedef <BR>类型定义<BR>typedef 原类型名 
新类型名;<BR>功能:将原类型名表示的数据类型用新类型名代表<BR>例如:<BR>typedef int counter;<BR>在int 
a;<BR>counter a;二者定义的效果一样等效;<BR>例如:<BR>typedef char stringb[12];<BR>当string 
text;时表明text为含12个字符的数组<BR>再例如:<BR>typedef char *stringptr;<BR>当stringptr 
buffer;时表明buffer为字符指针</P>
<P>typedef真的很好用,<BR>呵呵,到了这里我们就可以解释文首的那段程序了</P>
<P>那个TIME并不是我们的结构变量名,相反,他是我们的新结构名,但是仅再前面带有typedef的时候才是。</P>
<P>好了,我所了解的就是这样,如果有这方面问题的可以联系我.&nbsp;</P><BR><BR>
<P id=TBPingURL>Trackback: 
http://tb.blog.csdn.net/TrackBack.aspx?PostId=1573760</P><BR></DIV>
<DIV class=postFoot>
<SCRIPT src=""></SCRIPT>
[<A title=功能强大的网络收藏夹,一秒钟操作就可以轻松实现保存带来的价值、分享带来的快乐 
href="javascript:d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(saveit=window.open('http://wz.csdn.net/storeit.aspx?t='+escape(d.title)+'&amp;u='+escape(d.location.href)+'&amp;c='+escape(t),'keyit','scrollbars=no,width=590,height=300,left=75,top=20,status=no,resizable=yes'));saveit.focus();">收藏到我的网摘</A>]&nbsp;&nbsp; 
z2care发表于 2007年04月21日 15:32:00 </DIV></DIV><LINK 
href="http://blog.csdn.net/z2care/Services/Pingback.aspx" rel=pingback><!--<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"xmlns:dc="http://purl.org/dc/elements/1.1/"xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"><rdf:Descriptionrdf:about="http://blog.csdn.net/z2care/archive/2007/04/21/1573760.aspx"dc:identifier="http://blog.csdn.net/z2care/archive/2007/04/21/1573760.aspx"dc:title="typedef struct学习笔记"trackback:ping="http://tb.blog.csdn.net/TrackBack.aspx?PostId=1573760" /></rdf:RDF>-->
<SCRIPT>function hide(){showComment();}</SCRIPT>
<BR>
<DIV class=post>
<DIV class=postTitle>相关文章:</DIV>
<UL class=postText>
  <LI><A href="http://blog.csdn.net/jacky_20001/archive/2006/04/11/658523.aspx" 
  target=_blank>战30天C++入门极限-C/C++中的结构体(1) </A>2006-04-11 <A 
  href="http://blog.csdn.net/jacky_20001/" target=_blank>jacky_20001</A>
  <LI><A href="http://blog.csdn.net/starpacific/archive/2004/11/17/184170.aspx" 
  target=_blank>STRUCT</A> 2004-11-17 <A 
  href="http://blog.csdn.net/starpacific/" target=_blank>starpacific</A>
  <LI><A href="http://blog.csdn.net/CanvasHat/archive/2004/12/09/209928.aspx" 
  target=_blank>水滴石穿C语言之typedef的问题</A> 2004-12-09 <A 
  href="http://blog.csdn.net/CanvasHat/" target=_blank>CanvasHat</A>
  <LI><A href="http://blog.csdn.net/yahle/archive/2004/06/27/27646.aspx" 
  target=_blank>在delphi里利用指针构造链表</A> 2004-06-27 <A 
  href="http://blog.csdn.net/yahle/" target=_blank>yahle</A>
  <LI><A href="http://blog.csdn.net/Gpa/archive/2002/08/16/15060.aspx" 
  target=_blank>程序员考试补课笔记-第十一天</A> 2002-08-16 <A 
  href="http://blog.csdn.net/Gpa/" target=_blank>Gpa</A>
  <DIV align=right><A 
  href="http://blog.csdn.net/z2care/relatedarticles/1573760.aspx" 
  target=_blank>更多内容...</A></DIV></LI></UL></DIV><BR><BR>
<DIV class=post id=csdn_zhaig_ad_yahoo></DIV>
<SCRIPT type=text/javascript>document.write("<img src=http://counter.csdn.net/pv.aspx?id=24 border=0 width=0 height=0>");</SCRIPT>
<SPAN class=PreAndNext id=viewpost.ascx_PreviousAndNextEntriesDown>
<DIV align=center><A 
href="http://blog.csdn.net/z2care/archive/2007/04/21/1573781.aspx">上一篇:&nbsp;C++资源之不完全导引 
完整版(学c++的不可不看)之一</A>&nbsp;|&nbsp;<A 
href="http://blog.csdn.net/z2care/archive/2007/04/19/1570798.aspx">下一篇:&nbsp;最好的linux下运行windows工具</A></DIV></SPAN>
<DIV id=comments><SPAN id=Anthem_Comments.ascx_ltlComments__><SPAN 
id=Comments.ascx_ltlComments><BR>
<DIV id=comments>
<H3></H3>
<DIV class=post>
<DIV class=postTitle><A title="permalink: 回复:typedef struct学习笔记" 
href="http://blog.csdn.net/z2care/archive/2007/04/21/1573760.aspx#556441">#</A>&nbsp;<A 
name=556441>&nbsp;</A><IMG class=UserStatus id=imgCommentsIsOnline_放下_556441 
alt="" 
src="typedef struct学习笔记 - z2care的专栏 - CSDNBlog.files/blank.gif">&nbsp;放下&nbsp;发表于2007-04-25 
16:04:09&nbsp;&nbsp;IP: 222.209.48.*</DIV>
<DIV class=postText>
<TABLE style="TABLE-LAYOUT: fixed">
  <TBODY>
  <TR>
    <TD style="WORD-WRAP: break-word">不錯</TD></TR></TBODY></TABLE></DIV></DIV><BR>
<DIV class=post>
<DIV class=postTitle><A title="permalink: 回复:typedef struct学习笔记" 
href="http://blog.csdn.net/z2care/archive/2007/04/21/1573760.aspx#556478">#</A>&nbsp;<A 
name=556478>&nbsp;</A><IMG class=UserStatus id=imgCommentsIsOnline_z2care_556478 
alt="" 
src="typedef struct学习笔记 - z2care的专栏 - CSDNBlog.files/blank.gif">&nbsp;z2care&nbsp;发表于2007-04-25 
17:44:01&nbsp;&nbsp;IP: 123.4.72.*</DIV>
<DIV class=postText>
<TABLE style="TABLE-LAYOUT: fixed">
  <TBODY>
  <TR>
    <TD style="WORD-WRAP: break-word">谢谢鼓励 
互助学习嘛</TD></TR></TBODY></TABLE></DIV></DIV><BR></DIV></SPAN></SPAN></DIV>
<SCRIPT language=javascript>
ad_width=468;
ad_height=60;
adcss=2;
unionuser=19;
ad_type='j';
count=5; 
</SCRIPT>

<SCRIPT language=javascript 
src="typedef struct学习笔记 - z2care的专栏 - CSDNBlog.files/showads.js" 
type=text/javascript></SCRIPT>

<SCRIPT language=javascript 
src="typedef struct学习笔记 - z2care的专栏 - CSDNBlog.files/showgm.js" 
type=text/javascript></SCRIPT>
<!--done-->
<DIV class=comments>添加新评论 <BR>
<DIV id=Anthem_PostComment.ascx_CommentUpdatePanel__>
<DIV id=PostComment.ascx_CommentUpdatePanel>
<TABLE class=commentsTable id=CommentForm cellSpacing=2 cellPadding=0 
  border=0><TBODY>
  <TR>
    <TD width=75>大名</TD>
    <TD><INPUT id=PostComment.ascx_tbName style="WIDTH: 322px" disabled 
      maxLength=32 size=40 value=lwei_cxdn2007 name=PostComment.ascx:tbName></TD>
    <TD><SPAN id=PostComment.ascx_RequiredFieldValidator2 
      style="VISIBILITY: hidden; COLOR: red" initialvalue="" 
      evaluationfunction="RequiredFieldValidatorEvaluateIsValid" 
      errormessage="Please enter your name" 
      controltovalidate="PostComment.ascx_tbName">Please enter your 
    name</SPAN></TD></TR>
  <TR>
    <TD>网址</TD>
    <TD><INPUT id=PostComment.ascx_tbUrl style="WIDTH: 322px" maxLength=256 
      size=40 name=PostComment.ascx:tbUrl></TD>
    <TD></TD></TR>
  <TR>
    <TD colSpan=3><BR>评论&nbsp; <SPAN 
      id=PostComment.ascx_RequiredFieldValidator3 
      style="VISIBILITY: hidden; COLOR: red" initialvalue="" 
      evaluationfunction="RequiredFieldValidatorEvaluateIsValid" 
      errormessage="Please enter a comment" 
      controltovalidate="PostComment.ascx_tbComment">Please enter a 
      comment</SPAN><BR><TEXTAREA id=PostComment.ascx_tbComment style="WIDTH: 400px" name=PostComment.ascx:tbComment rows=6 cols=50></TEXTAREA> 
    </TD></TR>
  <TR>
    <TD colSpan=3><SPAN id=Anthem_PostComment.ascx_btnSubmit__><INPUT language=javascript class=Button id=PostComment.ascx_btnSubmit onclick="javascript:Anthem_FireCallBackEvent(this,event,'PostComment.ascx:btnSubmit','',true,'','','正在处理...',false,null,null,null,true,true);return false;WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&quot;PostComment.ascx:btnSubmit&quot;, &quot;&quot;, true, &quot;&quot;, &quot;&quot;, false, false))" type=submit value=提交 name=PostComment.ascx:btnSubmit></SPAN></TD></TR>
  <TR>
    <TD colSpan=3><SPAN id=PostComment.ascx_Message 
    style="COLOR: red"></SPAN></TD></TR></TBODY></TABLE></DIV></DIV></DIV></DIV><!--done-->
<DIV class=footer>Copyright ©2007 z2care 模板提供:<A class=footerlink 
href="http://blog.hjenglish.com/">沪江博客</A><BR></DIV>
<SCRIPT 
src="typedef struct学习笔记 - z2care的专栏 - CSDNBlog.files/counter.js"></SCRIPT>

<SCRIPT type=text/javascript>
<!--
var Page_Validators =  new Array(document.getElementById("PostComment.ascx_RequiredFieldValidator2"), document.getElementById("PostComment.ascx_RequiredFieldValidator3"));
// -->
</SCRIPT>
<INPUT id=__EVENTVALIDATION type=hidden 
value=/wEWMQL+raDpAgKz3MGoCgLOscX7CwL29ZjrCgL29ayAAgL29fBoAvb1hIwIAtne9pQFAtnemsgMAtneru0HAtnesoIPAtnexqcGAtne6twJAtne/nEC2d6ClQgC2d7W/Q4C2d76kgYC7LS21QwC7LTaigQC7LTurw8C7LTyxAYC7LSG+AkC7LSqnQEC7LS+sggC7LTC1wMC7LSWvgYC7LS60wkC152U+goC1524nwIC153MtAUC153Q6QwC153kjgQC152Iog8C152cxwYC152g/AkC1530xAwC152Y+AcClP6ZjwIClP6tpAUClP6x2QwClP7F/gcClP7pkw8ClP79yAYClP6B7AkClP6VgQECqrTotAMCwLLi2wwCouvO2AkChuiukQhvd4U24CbNsExMqP5JIHfVKus+Eg== 
name=__EVENTVALIDATION>
<SCRIPT type=text/javascript>
<!--
var Page_ValidationActive = false;
if (typeof(ValidatorOnLoad) == "function") {
    ValidatorOnLoad();
}

function ValidatorOnSubmit() {
    if (Page_ValidationActive) {
        return ValidatorCommonOnSubmit();
    }
    else {
        return true;
    }
}
// -->
</SCRIPT>
 </FORM>
<SCRIPT language=javascript type=text/javascript>
	<!--
	    try
        {
	        hide();
        }
        catch(e){}
	//-->
    </SCRIPT>
</BODY></HTML>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?