<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>https://jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>https://jackxiang.com/post//</link>
<title><![CDATA[[原创]C 指针的指针回顾。]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[WEB2.0]]></category>
<pubDate>Mon, 10 Aug 2009 11:47:21 +0000</pubDate> 
<guid>https://jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	针的指针老是给人讲懂了又忘记，忘记了又讲懂了，但是就像是一个橡皮擦一样一直没有真懂，于是还得复习一下。<br/>1.记住两点：<br/>（1）什么样的类型决定去指向什么样的内容，*一般表示取这个变量指向（可能是指针或者首地址）的内容，如：整形的指针指向整形的内容<br/>（2）任何变量都有地址，变量名指向它的内容（指针的内容是地址或者非指针类型内容可能是char int等），取地址一般得加&，可以通过%p打印出来，而指针特殊在他本身内容是地址，为此，打印%p的时候呢，如没有加&是打印的指针的内容（存的地址），而按照区地址一般加&的原则来打印指针的时候呢,打印的是指针的地址而不是其内容地址。<br/>实践：<br/><br/><br/>point.c<br/>#include <stdio.h><br/>int main()<br/>&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int a=8;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int *p;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int *p2;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf("%p&#92;n",&a);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p=&a;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf("%p&#92;n",p);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf("%p&#92;n",*p);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p2 = p;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf("%p&#92;n",p2);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf("%p&#92;n",p2);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf("p=%p&#92;n",&p);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf("p2=%p&#92;n",&p2);<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf("%d&#92;n",*p2);<br/>&#125;<br/>问：如果想打印p指针本身的地址，如何弄？<br/>答：printf("%p",&p);<br/>问：p2=p是如何赋值的？<br/>答：p的指针内容（里面存的是个地址）赋给p2。<br/>问：p,p2存储的内容（地址）相同,它们两个的地址相同？<br/>答：不同，可以通过打印他们的地址:printf("%p",&p); printf("%p",&p2); 来对比一下。<br/><br/>[root@vm0000055 ~]# ./a.out <br/>a=8<br/>a=0xbf8df31c<br/>p=0xbf8df31c<br/>p2=0xbf8df318<br/>*p2=0xbf8df31c<br/>**p2=8<br/><br/><br/>#include <stdio.h><br/>int main()<br/>&#123;<br/>int a=8;<br/>int *p;<br/>int **p2;<br/>p=&a;<br/>p2 = &p;<br/>printf("a=%d&#92;n",a);<br/>printf("&a=%p&#92;n",&a);<br/>printf("p=%p&#92;n",p);<br/><br/>printf("p2=%p&#92;n",p2);<br/>printf("&p2=%p&#92;n",&p2);<br/>printf("*p2=%p&#92;n",*p2);<br/>printf("**p2=%d&#92;n",**p2);<br/>&#125;<br/><br/>[root@vm0000055 ~]# ./a.out <br/>a=8<br/>a=0xbfb3cd7c<br/>p=0xbfb3cd7c<br/>p2=0xbfb3cd78<br/>*p2=0xbfb3cd7c<br/>**p2=8<br/><br/>问：上面程序p2，*p2，**p2有什么区别？<br/>答：printf("p2=%p&#92;n",p2);打印的是p2指针的内容（它的内容是一个整形的指针变量），也就是p的地址&p（也就是指针p的地址，当然这个地址里面存着p的内容）<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf("*p2=%p&#92;n",*p2);，而*p2也就是p的内容（a的地址），前面说过*就是取内容。<br/>&nbsp;&nbsp;&nbsp;&nbsp; printf("**p2=%d&#92;n",**p2);在前面再加一个*，也就是取到了a的地址后，在取到这个地址指向的内容，及时相当于printf("%d",a);<br/>如还不熟悉参考：<br/>yahoo一题目：把一个字符串倒序:<br/>http://blog.5ifd.com/post/1883/<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 最后呢，版权所有，向东，呵呵！<br/><br/><br/><br/><br/>
]]>
</description>
</item><item>
<link>https://jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] [原创]C 指针的指针回顾。]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>https://jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>