主要從IP位址類型和C語言中的地址類型兩方面進行編寫。
IP位址根據網路ID的不同分為5種類型,A類地址、B類地址、C類地址、D類地址和E類地址。
C語言的地址類型就是該地址對應的記憶體單元中的內容的數據類型(指向函式的指針除外)。
IP位址類型
概述
最初設計網際網路時,為了便於定址以及層次化構造網路,每個IP位址包括兩個標識碼(ID),即網路ID和主機ID。同一個物理網路上的所有主機都使用同一個網路ID,網路上的一個主機(包括網路上工作站,伺服器和路由器等)有一個主機ID與其對應。IP位址根據網路ID的不同分為5種類型,A類地址、B類地址、C類地址、D類地址和E類地址。
現在的IP網路使用32位地址,以點分十進制表示,如172.16.0.0。地址格式為:IP位址=網路地址+主機地址 或IP位址=主機地址+子網地址+主機地址。
分類
1.A類IP位址
一個A類IP位址由1位元組的網路地址和3位元組主機地址組成,網路地址的最高位必須是“0”, 地址範圍從1.0.0.0到126.0.0.0。可用的A類網路有126個,每個網路能容納1億多個主機。
2.B類IP位址
一個B類IP位址由2個位元組的網路地址和2個位元組的主機地址組成,網路地址的最高位必須是“10”,地址範圍從128.0.0.0到191.255.255.255。可用的B類網路有16382個,每個網路能容納6萬多個主機 。
3.C類IP位址
一個C類IP位址由3位元組的網路地址和1位元組的主機地址組成,網路地址的最高位必須是“110”。範圍從192.0.0.0到223.255.255.255。C類網路可達209萬餘個,每個網路能容納254個主機。
4.D類地址用於多點廣播(Multicast)
D類IP位址第一個位元組以“lll0”開始,它是一個專門保留的地址。它並不指向特定的網路,目前這一類地址被用在多點廣播(Multicast)中。多點廣播地址用來一次定址一組計算機,它標識共享同一協定的一組計算機。
5.E類IP位址
以“llll0”開始,為將來使用保留。
全零(“0000”)地址對應於當前主機。全“1”的IP位址(“255255255255”)是當前子網的廣播地址。
私有地址
在IP位址3種主要類型里,各保留了3個區域作為私有地址,其地址範圍如下:
A類地址:10.0.0.0~10.255.255.255
B類地址:172.16.0.0~172.31.255.255
C類地址:192.168.0.0~192.168.255.255
A類地址的第一組數字為1~126。注意,數字0和 127不作為A類地址,數字127保留給內部回送函式,而數字0則表示該地址是本地宿主機,不能傳送。
B類地址的第一組數字為128~191。
C類地址的第一組數字為192~223。
1. A類地址
A類地址的表示範圍為:0.0.0.0~126.255.255.255,默認網路掩碼為:255.0.0.0;A類地址分配給規模特別大的網路使用。A類網路用第一組數字表示網路本身的地址,後面三組數字作為連線於網路上的主機的地址。分配給具有大量主機(直接個人用戶)而區域網路個數較少的大型網路。例如IBM公司的網路。
2. B類地址
B類地址的表示範圍為:128.0.0.0~191.255.255.255,默認網路掩碼為:255.255.0.0;B類地址分配給一般的中型網路。B類網路用第一、二組數字表示網路的地址,後面兩組數字代表網路上的主機地址。
3. C類地址
C類地址的表示範圍為:192.0.0.0~223.255.255.255,默認網路掩碼為:255.255.255.0;C類地址分配給小型網路,如一般的區域網路和校園網,它可連線的主機數量是最少的,採用把所屬的用戶分為若干的網段進行管理。C類網路用前三組數字表示網路的地址,最後一組數字作為網路上的主機地址。
C語言地址類型
地址類型就是該地址對應的記憶體單元中的內容的數據類型(指向函式的指針除外)。
例如:char c,*pc;int i,*pi;int (* pa),ar;
這裡,c是char類型的變數,&c是c的地址,執行pc=&c後,指針變數pc指向了變數c,pc和&c的值都是地址,且地址類型是char類型(字元型地址)。字元型地址對應的記憶體單元的大小為1個位元組。
i是int類型的變數,&i是i的地址,執行pi=&i後,指針變數pi指向了變數i,pi和&i的值都是地址,且地址類型是int類型(整型地址)。字元型地址對應的記憶體單元的大小為4個位元組。
pa是指向長度為4的一維int數組的指針,pa的值是這樣的一個地址:它對應的記憶體單元的尺寸是4*4=16個位元組,裡邊存放的是一個長度為4的一維int數組。執行pa=&ar後,pa就指向了數組變數ar,&ar和pa的值都是地址,且地址類型是int地址(長度為4的一維int數組地址)。