主要从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类地址。1
现在的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”)是当前子网的广播地址。2
私有地址在IP地址3种主要类型里,各保留了3个区域作为私有地址,其地址范围如下:1
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语言地址类型地址类型就是该地址对应的内存单元中的内容的数据类型(指向函数的指针除外)。3
例如: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数组地址)。