?? [藍森林-自由軟件] - 請教各位一個復雜的結構體指針問題.htm
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0053)http://www.lslnet.com/linux/dosc1/47/linux-323738.htm -->
<HTML><HEAD><TITLE>[藍森林-自由軟件] - 請教各位一個復雜的結構體指針問題.</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content=" 請教各位一個復雜的結構體指針問題." name=keywords>
<META content="www.lslnet.com/linux/: 請教各位一個復雜的結構體指針問題." name=description>
<SCRIPT language=Javascript><!--
function shutwin() {window.close(); return;}
//--></SCRIPT>
<STYLE type=text/css>.small {
FONT-SIZE: 9pt; LINE-HEIGHT: 1.2; FONT-FAMILY: 宋體,Arial
}
.mid {
FONT-SIZE: 14px; LINE-HEIGHT: 1.2; FONT-FAMILY: 宋體,Arial
}
.topbar {
FONT-SIZE: 9pt; COLOR: #00537b; LINE-HEIGHT: 1.2; FONT-FAMILY: 宋體,Arial; TEXT-DECORATION: none
}
</STYLE>
<META content="MSHTML 6.00.2800.1106" name=GENERATOR></HEAD>
<BODY text=#000000 vLink=#000000 aLink=#a65300 link=#003399 bgColor=#ffffff
topMargin=8><BASEFONT face=宋體,Arial,Helvetica>
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD rowSpan=3><A href="http://www.lslnet.com/" target=_top><IMG height=50
alt=藍森林首頁 src="[藍森林-自由軟件] - 請教各位一個復雜的結構體指針問題.files/page_logo.gif"
width=138 border=0></A></TD>
<TD vAlign=bottom align=right height=27><FONT color=#0a5a88 size=2><SPAN
class=small>| <A href="http://www.lslnet.com/linux" target=_top><FONT
color=#74c3f2>返回主頁</FONT></A> | <A
href="http://www.lslnet.com/map.htm"><FONT color=#74c3f2>本站地圖</FONT></A> |
<A href="http://www.lslnet.com/search.htm"><FONT
color=#74c3f2>站內搜索</FONT></A> | <A
href="mailto:webmaster@lslnet.com"><FONT color=#74c3f2>聯系信箱</FONT></A> |
</SPAN></FONT></TD></TR>
<TR>
<TD><IMG height=12 src="[藍森林-自由軟件] - 請教各位一個復雜的結構體指針問題.files/page_word.gif"
width=122 vspace=3></TD></TR>
<TR>
<TD width="100%" bgColor=#74c3f2><IMG height=2
src="[藍森林-自由軟件] - 請教各位一個復雜的結構體指針問題.files/page_line.gif" width=480></TD></TR>
<TR>
<TD colSpan=2><IMG height=6
src="[藍森林-自由軟件] - 請教各位一個復雜的結構體指針問題.files/spacer.gif"></TD></TR>
<TR>
<TD bgColor=#1eb6ff colSpan=2>
<SCRIPT language=JavaScript1.1
src="[藍森林-自由軟件] - 請教各位一個復雜的結構體指針問題.files/menubar.js"></SCRIPT>
</TD></TR>
<TR>
<TD bgColor=#76a6bc colSpan=2>
<TABLE cellSpacing=1 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD bgColor=#bfebff height=18><FONT color=#00537b size=2><SPAN
class=small> <B>您目前的位置:</B><A class=topbar
href="http://www.lslnet.com/">首頁</A> > <A class=topbar
href="http://www.lslnet.com/linux">自由軟件</A> > <A class=topbar
href="http://www.lslnet.com/linux/linuxtech.htm">技術交流</A> > 應用編程
</SPAN></FONT></TD></TR>
<TR>
<TD align=middle bgColor=#ddf4ff>
<TABLE cellSpacing=0 cellPadding=0 width="86%" border=0>
<TBODY>
<TR>
<TD>
<P align=left><BR>
<DIV align=right><FONT face=verdana,arial size=2>藍森林
http://www.lslnet.com 2006年6月6日 10:18</FONT></DIV><BR>
<P>
<SCRIPT language=JavaScript1.1
src="[藍森林-自由軟件] - 請教各位一個復雜的結構體指針問題.files/linux.htm"></SCRIPT>
<P>
<TABLE class=tableborder cellSpacing=0 cellPadding=8
width="100%" align=center border=0>
<TBODY>
<TR>
<TD bgColor=#def7ff><BR>
<TABLE class=tableborder cellSpacing=1 cellPadding=4
width="95%" align=center><!--
<tr><td bgcolor="#f0f3fa" class="bold"><a href="archiver/">www.lslnet.com/linux/</a> <b>»</b> <a href="dosc/linux-23.html">C/C++</a> <b>»</b> 請教各位一個復雜的結構體指針問題.</td></tr></table>
<table cellspacing="0" cellpadding="0" width="95%" align="center"><tr><td align="center"><br><b>頁: </b><b>[1]</b> <a href=archiver/?tid-601616-page-2.html>2</a> <br><br></td></tr></table>-->
<TBODY></TBODY></TABLE>
<TABLE class=tableborder cellSpacing=1 cellPadding=4
width="95%" align=center><!--
<tr><td bgcolor="#f0f3fa"><table cellspacing="0" cellpadding="0" width="100%"><td class="bold">spalash</td><td align="right">2005-8-29 06:59</td></tr></table></td></tr>-->
<TBODY>
<TR>
<TD bgColor=#def7ff><IMG height=18
src="[藍森林-自由軟件] - 請教各位一個復雜的結構體指針問題.files/icon_new.gif"
width=29
border=0><B>請教各位一個復雜的結構體指針問題.</B><BR><BR>typedef
structr unit<BR>{<BR> int
len;<BR> char
bb[100];<BR><BR>}unit1<BR><BR>void
main()<BR>{<BR>unit1 *mem1;<BR>unit1 *mem2;
<BR>char *k=(char
*)malloc(120);<BR>mem1->;len=104;<BR>mem1->;bb=k;<BR><BR>mem2->;len=16;<BR>mem2->;bb=k+104;<BR>}<BR><BR>請問這樣有問題,記得以前在結構體實現變長緩沖區,都是用<BR>char
bb[1],<BR>現在對于mem2,mem2指向一片地址,請問mem2里具體成員的<BR>地址分配?象bb[100],本來想讓bb指向16個字節的緩沖區.<BR>而定義的是100,會有什么莫名的問題嗎?<BR><BR><BR><BR>}</TD></TR></TBODY></TABLE><BR>
<TABLE class=tableborder cellSpacing=1 cellPadding=4
width="95%" align=center><!--
<tr><td bgcolor="#f0f3fa"><table cellspacing="0" cellpadding="0" width="100%"><td class="bold">FH</td><td align="right">2005-8-29 07:05</td></tr></table></td></tr>-->
<TBODY>
<TR>
<TD bgColor=#def7ff><IMG height=18
src="[藍森林-自由軟件] - 請教各位一個復雜的結構體指針問題.files/icon_new.gif"
width=29
border=0><B>請教各位一個復雜的結構體指針問題.</B><BR><BR>mem1,mem2都沒賦值!</TD></TR></TBODY></TABLE><BR>
<TABLE class=tableborder cellSpacing=1 cellPadding=4
width="95%" align=center><!--
<tr><td bgcolor="#f0f3fa"><table cellspacing="0" cellpadding="0" width="100%"><td class="bold">spalash</td><td align="right">2005-8-29 07:10</td></tr></table></td></tr>-->
<TBODY>
<TR>
<TD bgColor=#def7ff><IMG height=18
src="[藍森林-自由軟件] - 請教各位一個復雜的結構體指針問題.files/icon_new.gif"
width=29
border=0><B>請教各位一個復雜的結構體指針問題.</B><BR><BR>sorry,寫錯了,應該是如下所示<BR><BR>typedef
structr unit <BR>{ <BR> int len;
<BR> char bb[100]; <BR><BR>}unit1
<BR><BR>void main() <BR>{ <BR>unit1 *mem1;
<BR>unit1 *mem2; <BR>char
*k=(char *)malloc(120); <BR>mem1=(unit1 *)k;
<BR>k+=k+104; <BR><BR>mem2=(unit1 *)k ; <BR><BR>}
<BR><BR><BR>請問這樣有問題,記得以前在結構體實現變長緩沖區,都是用 <BR>char
bb[1], <BR>現在對于mem2,mem2指向一片地址,請問mem2里具體成員的
<BR>地址分配?象bb[100],本來想讓bb指向16個字節的緩沖區.
<BR>而定義的是100,會有什么莫名的問題嗎?</TD></TR></TBODY></TABLE><BR>
<TABLE class=tableborder cellSpacing=1 cellPadding=4
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -