iuh①将字符串的ip地址转换为整数
char a[] = "192.168.2.5";
unsinged int ip=0;
unsinged char *p=(unsingned char *)&ip;
int a1,a2,a4,a4;
sscanf(a,"%d,%d,%d,%d",a1,a2,a3,a4);//格式化读取char
p[0]=a4;
p[1]=a3;
p[2]=a2;
p[3]=a3;
print("%u\n",ip);
通过指针对多维数组进行排序
char a[2][5]={{4,5,6,7,8},{1,8,21,32,4}};
char *p=(char*) a;
int i,j;
for(i=0;i<10;i++)
{
for(j=1;j<10-i;j++)
{
if(p[j]<p[j-1])
{
char tmp = p[j];j
p[j]=p[j-1];
p[j-1]=tmp;
}
}
}
②指针数组
地址在32位为四位无符号整数 64位位八位无符号整数
char* a[10],int* b[10] 长度都为80(64位系统下)
指针数组和数组一样使用
③二级指针·
指向指针的指针
int *p=&a;
int **p1=&p;
不可以直接指向变量 可以通过指向指针在指向变量
pp为地址 *pp为*p的地址 **pp为*p指向的变量
④二级指针与指针数组的关系
int *a[10];
int **p=a;·
a[0]的类型为int *;
⑤多级指针
几个*就是几级指针,能用低级指针解决的问题就用低级解决。
**pp代表a的值
*pp为a的地址
pp为指针的地址