『壹』 IP地址的三種表示方式是什麼
IP地址的三種表示方式是點分十進制、網路位元組序、主機位元組序。
域名如「www..com」並不是IP地址的表示方式,「192.168.0.1」屬於點分十進制。
1、點分十進制
點分十進制(Dotted Decimal Notation)全稱為點分(點式)十進製表示法,是IPv4的IP地址標識方法。IPv4中用四個位元組表示一個IP地址,每個位元組按照十進製表示為0~255。點分十進制就是用4個從0~255的數字,來表示一個IP地址。如192.168.1.1。
2、網路位元組序
在網路傳輸中,TCP/IP協議在保存IP地址這個32位二進制數時,協議規定採用在低位存儲地址中包含數據的高位位元組的存儲順序(大頭),這種順序格式就被稱為網路位元組順序格式。
在實際網路傳輸時,數據按照每32位二進制數為一組進行傳輸,由於存儲順序的影響,實際的位元組傳輸順序是由高位位元組到低位位元組的傳輸順序。
為了使通信的雙方都能夠理解數據分組所攜帶的源地址、目的地址以及分組的長度等二進制信息,無論是主機還是路由器,在發送每一個分組以前,都必須將二進制信息轉換為TCP/IP標準的網路位元組順序格式。網路位元組順序格式的地址不受主機、路由器類型的影響,它的表示是唯一的。
3、主機位元組序
主機位元組序格式顧名思義,其IP地址的格式是和具體主機或者路由器相關的。對於不同的主機,在進行IP地址的存儲時有不同的格式,比如對於 Motorola 68k系列主機,其HBO與NBO是相同的。而對於Intel x86系列,HBO與NBO則正好相反。
(1)地址應該用哪個數據類型表示擴展閱讀:
IPv4地址的擴展:IPv6地址及其表示方式
IPv6是"Internet Protocol Version 6"的縮寫,也被稱作下一代互聯網協議,它是由IETF小組(Internet工程任務組Internet Engineering Task Force)設計的用來替代現行的IPv4(現行的IP)協議的一種新的IP協議。
我們知道,Internet的主機都有一個唯一的IP地址,IP地址用一個32位二進制的數表示一個主機號碼,但32位地址資源有限,已經不能滿足用戶的需求了,因此Internet研究組織發布新的主機標識方法,即IPv6。
在RFC1884中,規定的標准語法建議把IPv6地址的128位(16個位元組)寫成8個16位的無符號整數,每個整數用四個十六進制位表示,這些數之間用冒號(:)分開,例如:3ffe:3201:1401:1280:c8ff:fe4d:db39:1984
『貳』 C語言中變數的地址是什麼類型的
變數的地址,在C語言中,一般寫作指針類型。
不同類型的變數地址,用不同的指針進行保存。
比如,char 類型的地址,使用char*保存,而int型地址,用int *保存。
除此外,部分情況下也會採用整型類型來保存變數地址,具體使用何種整型類型,取決於編譯器:
1 16位編譯器,地址佔16位,2位元組,可以使用short或者int保存。
2 32位編譯器,地址佔32位,4位元組,可以使用int或long保存。
3 64位編譯器,地址佔64位,8位元組,可以使用long保存。
不過不推薦使用整型類型保存地址,會帶來移植上的不通用。