指针可以指向基本类型,也可以指向复合类型,因此一个指针变量存放的可以是另一个指针变量的地址,则称这个指针变量为指向指针的指针变量。由于指针变量直接指向变量,所以称为“单级间址”。而如果通过指向指针的指针变量来访问变量则构成“二级间址”。

aaarticlea/png;base64,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" alt="" />

int i;
int *pi = &i;
int **ppi = π

这样定义之后,表达式*ppi取pi的值,表达式**ppi取i的值。

使用指向指针的指针。

int main(void){
char *strs[]={"Hello World!","itcast","CPrograme","Linux","Computer desighn"};
char **p;
int i;
for(i=0;i<5;i++){
p=strs+i;
printf("%s\n",*p);
}
}

strs是一个指针数组,它的每一个元素是一个指针型数据,其值为地址。strs是一个数组,它的每一个元素都有相应的地址。数组名name代表该指针数组的首地址。strs +1是strs [i]的地址。strs +1就是指向指针型数据的指针(地址)。还可以设置一个指针变量p,使它指向指针数组元素。P就是指向指针型数据的指针变量。

之所以定义二级指针**P,不是为了使用**P表示指向的值,而是为了使用*P来存储存储值的那个单元的地址。

Void get_memory(char **p_str, int num)
{
*p_str = (char *)malloc(num);
}
void Test(void)
{
char *str = NULL;
get_memory (&str, 100);
strcpy(str, "hello world!");
printf(str);
free(str);
}

一开始传参数时,存储str的单元地址赋值给P,这样P中单元存储的就是STR的地址,从而,*P 表示的就是STR的值。

我们也可以定义指向“指向指针的指针”的指针,但是很少用到:

int ***p;

数组中的每个元素可以是基本类型,也可以复合类型,因此也可以是指针类型。例如定义一个数组a由10个元素组成,每个元素都是int *指针:

int *a[10];这称为指针数组。int *a[10];和int **pa;之间的关系类似于inta[10];和int *pa;之间的关系:a是由一种元素组成的数组,pa则是指向这种元素的指针。所以,如果pa指向a的首元素:

int *a[10];
int **pa = &a[0];

则pa[0]和a[0]取的是同一个元素,唯一比原来复杂的地方在于这个元素是一个int *指针,而不是基本类型。

一个指针数组的元素指向数据的简单例子。

int main(void)
{
static int a[5]={1,3,5,7,9};
int *num[5]={&a[0],&a[1],&a[2],&a[3],&a[4]};
int **p,i;
p=num;
for(i=0;i<5;i++)
{
printf("%d\t",**p);
p++;
}
}

说明:指针数组的元素只能存放地址。

我们知道main函数的标准原型应该是int main(int argc, char *argv[]);。argc是命令行参数的个数。而argv是一个指向指针的指针,为什么不是指针数组呢?因为前面讲过,函数原型中的[]表示指针而不表示数组,等价于char **argv。那为什么要写成char *argv[]而不写成char **argv呢?这样写给读代码的人提供了有用信息,argv不是指向单个指针,而是指向一个指针数组的首元素。数组中每个元素都是char *指针,指向一个命令行参数字符串。

打印命令行参数:

#include <stdio.h>
#include <stdlib.h>
#include <string.h> int main(int argc, char *argv[])
{
inti;
for(i= 0; i < argc; i++)
printf("argv[%d]=%s\n",i, argv[i]);
return0;
}

使用gcc编译并执行:

aaarticlea/png;base64,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" alt="" />

注意程序名也算一个命令行参数,所以执行./a.outa b c这个命令时,argc是4,argv如下图所示:

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAP4AAAB5CAYAAAAZI5wxAAAd7ElEQVR4Ae2ddegsVRvHzzVe5drttevagYUiioWo2IqKHf+I9Yfd2CiCgYqBhYHdhWBcG7vz2mKDonLt2Hc+R7/js+c3szmzO7P3HJg9/Tzf5znPc2J2dnZcIwluxMMff/zhpp9++jFS/v33326aaaYZUz7IAmFYaqml3AcffDBI1qXzWm655dxbb71VOp9+GeAC48aN82T+/PNPN9100/VLsvL9x/3222+N//3vf07CY4h//fWXB46zkK9zwLF//fVXN+OMM3q5GGA5u5yuCvKBK5yDNSZVwNcLhiyZeqFTdh/0zIVdJP7gZphhBm/3ReDXmIqWjcuWC/pMZNNOO62f2MBCGv8el2RGfsVHUASucpBB2MnIpquMPW+VlExVxh5iq4OthJh7yY9bfPHFGx999FEvfWvTZ9lll3Vvv/22Y8vPrK5JIM9ghyFYHZ2knZ7qIBM2AE5W+vHjx7tRPHKF4zRx4kQ3LnGEhrb2YYNRyWcZYNVWU2FkA0a6TiEPs2Sqkyx1xNytfln4psMBtNuXwVE2KlsenedDGSmvgvOHGKwTCXO3Azvo9hanHEe2NGgsvfJjHGzQuITltk0naXRjbU30BqUn+MELZ5dMYEpvX9qBAqgcphPh6tBGihZWKUH5YcXWacDA1pObrQphvcqrEmMn4ZGJRaMud8bRr2zf2rzSivvVt46Xivul12l/i9+m2VMmso/2/T05vd3FSGYNeqeKLKudMFr6VZmcLKYw3UqPWTKF/auSl20Ic9G6f/TRR90GG2xQCXGZADK/xGYwEbzbwMxPUKz+Mg7RRMlZQf24CacQtg3z0IS+MCumXPxEy+ZtH7UtI4Y3vBRC/CpXbOttP9UXHcPP6qUb+uDDUbjqGD7++OMUdrgS29UxbZSTkC1RbcfMpj/77LOc3q5J//IBNd5mm22aaFKeNV6Wl/oSW3uy5ZmObxu0SwsEgNnewchu86iXYUiZmlUtbdrRDzr2YRv6WPDhAMnwiGmrmLT4iY/FldVWfYqMwwEJ8Ut/wijM9Avbqk2RcR4P4Q7xWd7oOiuob1bdoMtaYbnyyivdyiuv7J566qm+YFkbh1DI8+qrr3a777675yF9KqbQpsO+Z511lrdpTQj4gmyEvmqfNxa0yQp9O75A4FSvvvqq+/TTT91XX33leX3xxReOLc4vv/zi3nnnHTd58mRfTp/33nvPvfvuu+7LL790zIbffvute+6557zz87QX5QQEyjNO1fuGHXxY5aBAm++ge09N4CE+n3zyif9K0RKS/lSmtsTWIFRfdIzhgMFOrvBgbLbeemuv+2233da9/vrrnvXvv//uYwxROzMekKK/jFAxDZFhmBcYwGzxSa/gf/PNN926667rttxyS/f555/T3Ae1Ub5VbO3Tjjd90AX2Db1vvvnGvfDCC+6ll17yOn/xxRc9WXwH/+BrdWsP8g/6woOvHB977DHvX7QnyF58pouPvh1fBnPFFVd4Z11kkUXcpZde6iEssMAC7oknnnDHHHOM++mnn9yZZ57pV/S77rrLff/9927BBRd0zGhMCAzCTTfd5BWFYjTDQQjlyZjgs/7667v11lvP3XjjjanxaaCIuWSUVhcqs4pU+7Ji6Qccl112mZtjjjncEUcc4ZgECPC1QXIjrzUC26bINIYDTwzLYsXp77nnHs+K8dp+++29TrnxiB4xVu3MeCqS/jJC4SZPepgXGMCchY/v7aX/++67zy255JJeXmy1myDbDPtQjnPvvffeXgeM+cUXX+wnggsuuMBPNKpfeOGF3WKLLeZtAzo4+TLLLOPYlaA/cPJE4Xnnnecnq4UWWsjttddeqV+EvLPyIc4k3xwSJny331zYIqe2yZmpkSiwse+++zaef/553+O0005r3H333T6dGIyPTzjhBB/D55BDDvFpPhJj8+lrrrmmQR1BtElDOxGo6brllluoahnoEwZLN6wrOi9eJ554YhP2XXfdtfHwww97dlkYE4csGsoYelbPSifG2IQz1Pmo5pPJwcs9//zzN5555pkxuuql4Pzzz/fd0C16PfnkkxvJqu/9gzzpH3/8sZEsfo1kom2svfbaqe0z/ski0eQDhx12WArDptPCIGFtSOObTIaNvlf8hJifka699lr35JNPuk033dQtscQSiW38ExKjdxMmTPAZnbG32247d8opp7jrrrvObbXVVr4OOptssol75JFH3GyzzZbOZFo9aHTJJZf4tvZjxx139CsNM3veRfuwTitAWF5GXrySQbfQ3fXXX+823nhjx49ZFFh9CcRgKTvAgxVcqwr8kqc5M9l+/fXXflzAlthX2wsinbQbVpuTTjqpSU7Z5wMPPODW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" alt="" />

由于argv[4]是NULL,我们也可以这样循环遍历argv:

for(i=0; argv[i] != NULL; i++)

NULL标识着argv的结尾,这个循环碰到NULL就结束,因而不会访问越界,这种用法很形象地称为Sentinel,NULL就像一个哨兵守卫着数组的边界。

我们再创建一个软连接并再次运行,观察结果。

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAcYAAACcCAYAAADlAAsMAAAgAElEQVR4Ae19vZbjOJYmlFtvslIaefoFJnTWb0XUOZvWuGWl1G1MRfRMhzNVZpaVs5NSrZEdKmfKnXVyDEntT0fMC/RJQ9Q8Sqf2XoAAL0CAoihRvx/zRIokLu7PBxCX+CFu5/e///3606dPCgcQAAJAAAgAASCg1CuAAASuBYGbcaay8c21mAs7gQAQaIjA2TrG4Xyt1mv7N1fDhgAg23UgMM7W6vm+q7r3z6beZOPrMBxWAgEgsDUCccd4M1bZCTcc7BSfehPV6XT0X3/SU08xfU/cjq1LCxkaIcBO8W7Wd/WlM1o04oNMQAAIXAcCccd40rYP1dvBSk2+e3Bavjx8UIvua/QaHSI4KRAYqtdqonoPL8Wt6a3q9Ir6UyTgDAgAASBQmmMcqjkPTz7fq273XgxV0r1Uj8wNZ/KwZqa8KZzhPOdBQ53cexO0c2/sM5er0wUPmcdmGL5Vg9VM2XaOewPr9ZMaeKV5BnZ4+m64kDhojOZqTr1mC4nN7Q8vMy6RIWZXJnl+cW3LmOfiimHqnC7UQQjfl1xrh/51eon64BFscbHPlyanVwI/m07Pi6mbVA6Mlb1P5Segq2XEcP5VlwfPj4Zlw/c6kgvJ+Zo/Z/MhpYhrLl8aZBH3Ys8ljcJIflTuy69cl8QfGaD5SLrhrJA7Ih58bfNZuTn9zXjpaHWb0afn9auxcU55/XTCi/ndfPT1mI/KOkh9cA4EdkGAV6VSfv/vZrymoVT/XkhDrSFV6jU9lwUd56O79NwU99RwzZQeraaL5Q3usUyWI3Xh6/lQ89cq6HOWMV9T8yPk0vkp2xHqmrw2+HmYasN9nKnBdLi48jQAlXEhWTkLv1yGQ0Ebx9SIKXDev9yct1MwUidyrFgXfeT1wdkdYul4cVW68etISFvzumAp9LP45c+BlWX0zOunzhipqxvkkrOgZ5IMpmeBnJKzYUxei+WQM3P3GAdypjk4rF/HpFn9NC2VryYR6aT38itd93P6gKfFdzijjIEeMs1IFnyEXLbjq8yrZbKqhr6wY7iefSWcOr4uH8lecvgle618/Pr1AHg0xKOpYxzTQ+o5RfsQlZxRpGEn2lh+3WZIJ6jpfAegHWXJGcYb8TqOMaaHrkwt21E0rHn7JX+8hp5tS2BtMdcvH4nGlgV5/ExFMe2zecFIPTzs9GzjnsZk/3JT+sj7Uv/UuaS357WdqcM2/mBJmZa3+w3qDtM6HDkt9hK3QR47lLgzYgfHDsTXUztGKvfC0fjp1G3UjpGdjNObn7flsnCkKZ3IhqV0boKOnebX+chz3gX/uLPj59Q6ZKnvzcflejnuF7xuPq6XS34x8HUu+Ic24hrYNKsDDecYad6mm6kvYtqGCsAcL19UVhq6WqjPU0uQ/p3ejmiu8L4YaqJhoPtspG6jeadquRqot96QbJp3POV4dkxvzcIhu4DI+/UMnqrbUabun8VQFg1rUUNbmHTzRvVoMPlJDnfZ8ycaZO69KWjF2WJDofDcbXb/o5u7Hf54r7IPYm6uJblCxeSpxi/Hic9H6kkP9+lFWR5+PouHnsF90nv0h/19slpXm/CrxWQLotXs340L8vLwc9BVb/6OXEpwLD7/oluF4La4pOfyF/aLVcdQka/zh1JpqqVXkeXPXK9ibLm+rJaqpBW3GRF+L3/4F5V9/4N6lw/uDn+4V6t/+QPxjjGPMMAtINAQgYaOkR/Gnnoj2mYnP6/8UV/miFInU/V+slKDR7OUfvzYU5P3aU4P39Giiid+aHmOcaAepbNIifDun4YdnkqxC14skq/ANb8jcljPxQuEblgWauTRCMfbeKHJVH1e5LjSXNMjrQT2fE5rcmMgVN9zLxqhrTy3F86Pky13qRe7ajFHTe2+/k1EPr/crdSX/2rDWbBTfFKd371Sr2Td6k+ijiyinH8rf2m2js4l6hcsdyVOpuo/Fr9Vjx9pHpXK7I+9n9XdL3GfKzLhFAjsjEDaMXq9vnwxi1g18PCBejG/GgcmtRj/GvQqZGKNc7PClHqNc+4tfnCLbFzWvy7VavDW9GJeHlRPPLDeykOb4VTtsPpt+NWLLQTuhpwduszIvUoV/WRF5w8dg8y64Xz6fqIU9RrnYW9R52tPbrFYZR+Lb4KFZM93ata/VelXrg2gHCt58KS+Ul2QfcOb8R9V7+f3amPHr7HO3KuUzoic5V+qe4xpUVP1089d9acZuUZhxPjfvqfnOJ5r+tNEranXOKP6h95iHCPcbQGB6BwjPQd6UYWY93JzJOYZ4dfTEg2Te3R6IsYysfNkPGdWHB59ztvItvTlMWLNVsxFavrIPFpMx7S8Qic+8+hasoP12/QXloPV0tPPw81S5L8CJ5blmSJJAzqpl8mTmEsknlEdA35by3UZ0vVA6ljnnFnGcKuT19I4tSR2fG7t9QiM7u4W11E9x6gzxOfoE3VCL76hRTaOl5VPcsnJuHpULLqxBPmvpCMmdmkOKZ7PKZo5R5sr47k91mU4E7QmdT42i+xo8totjtELcmxm+Svl5rbpeUhBkxE/PY9Oi360zAADQz9f04iIs9OWB36LsgcWe8Qi5RiPCXKVo7N6uUUU+gFLN9qW/hi/dew4hl7XKpOdyq6O8VjYWccYcxzH0ml/cnlRDjnohGPcn5w9NpyB84aOl4XtN1SgJ3YMFY2aqEm/eqCLF1GIZSAnZgOrU8+OE1T8YlXiecjqWnWxpp+2YcP/rQb/PVPfvtB6gdPWFNpdCwKn0mMsDRFRT9D7du9M3tAuxQ6q/xi2OhEMSsOjlZ9hnEG56c8zxFgqDaRimPQMyu1EnodDtE0ddowIO3Utr0GwEwgAASAABDYhkF6Vuikn0oEAEAACQAAIXCACcIwXWKgwCQgAASAABJojAMfYHDvkBAJAAAgAgQtEAI7xAgsVJgEBIAAEgEBzBOAYm2OHnGeGAH1X6u8xe2b6X5q6FBmEyoMCSF+aYbDn7BE4W8dIn0WIjY0jcQfPvmhgwD4RoA0h1PN9V3Vpj1n6UKC8f2ptYTJ2aLCZe20eIAQCQOCUEYg7Rtqwl+Ixnqze7BR1FIV8n9T+pBfdJ5S23zppO04W4AtTjJ3i3Yx6JnZf3dFiBwtpf1hX77wNa3fgeZ1ZH16/Ur0HelG5TvNh9QkjEHeMJ6ww7yjzdrBSk++KfW/MxuOvXXikk1Yfyh0YAYo+oSgKy4OIkcbRSsIoHAfWCuKAABA4XQQCx5gPE1G8tS7FRdRDTjauX6wHyT0ym65/g0gIHPJH36ehzoDWDxghh6cED5nHZhi+VYPVzEXd4N6ACTslQT4DO6S6m84lDjmec+o1W0hsdn94mXGJDDG7Msnzi2vaSFSz4rk4WfZaTqiDEL4vudYO/ev0EvXBI9jiwouwskW+pqRO9031vqmADfmorCissSjDOUWr4fLeYjZvOFO00bgecjbPGJ1TmXfINn2f0pif48gyw7iN85EXRcNozaGsvjrdonOMLFvzmqtRn9oYwXc+EjI3wGCTaRNyrTPL6o+XTn+u41q+M4JyONlkH8sS1+tsokcdChqj31LYo/NIfjcfCZfCXv1caVwkEcl9Z22ukJsbRAGcc3y4jDPaPnOk5rmM+eiVsdHD7BWF7Qr0IB04lBiOBALRLeE4AoCNFpDaBohaQ7Mzv9jKKI8cQM+P2E7MRtMQURI0nbhmGbF7fJ/lSF34Oo+koVXQ5ywjspH4KduRwrV03+DnYaoN97fMi25YbgBaUyxnUR7mPGfhl+FwKGjjmFIj6W3Vt3+5ua5OwaCeCFtYF33k9YGqeMlOfc/x2u8m4mx7elPymvU+pXPj+ySXPBc5rQILsp+jaXj36vCn54ecHdloIm3QYhnmYiJq6KgbRXSNGPY6KkYkuoal5Y3RlzaKR0kf3lic5YnNxW8+kj7iupQnUf5ER85kvcyowmh9Cmw+kk3aPhGhhPUrIoBk64nd3Dx4Pqx+Lr2mfu8o8vPXbEJRUQo9LCY6TVdqIffdu/U7oiU3pu34Km3QMg1OTg+Ny7v17G+z9eiVH7Hk4/Jva3KeXkQWKxu/ov40dYxjqmQUF7h4+HRh0HXJGUUadqKN5dftl3SCms5viLWjLDnDeCNe1qWsb0wPXUFatkO01fox8P7zGnq2LYG1xVwl7Od0FuTxMxho+ZH78uEoNfxRTCIvJDvKlTqkzqX+qfNY3trO1GFbrjOWbwkfL0/9em/5Vf2W9kuVFYbKkRtNk5/ksvO4KTe6VfyjaewYhWNjZ2GdJD9by6/VjlHTLP2wWFJOHcdIPTBhm1p/XC4bReFgx+g5FIHXLGKHdozzUYUDMY67kX7szDQu5TLSjlHLLadRt5JeFgzmRXlTuSccsn4Z4BcP6/Qr5MpywblaB0OpBEmtg6OGZ+qLmLZx2fIo3dRLEQcFO60R1mBK0XYXNITrRulo2OY+G/lR4x1XDtY7UG99QS613snx7HAR5+2CEPl7K8HiYMAUFPpZDo0FqyF1BPSBevKGz3L6p4FSvTdROBYbCoXnbjMKUmwhHobBiluSG1U2uKnxy3Hi85F60sNzelGWh5+fkaOy8CKcSe9R0Ytdy0e9el9HiektDYfJOiLPyV72iuag+vK7TH3/7A/fUc+2GPa0pHv95SFSv46uaUomFYC4nug/63ajsK1erhTVavb/KCnkxu1IV72huhAOLP6Zn4+Q3GNeR7933tAxvc+o9bMJsO6xEhdabkwwP2+rpaK40X4qt7n+Hc3t5Q/0/P7DP6sh1xW68+6H71X2f/4xzK1p8Z+PQEPHyJWppyuTz46u8sKTTXuJJnljqt5PVmrwaOa6xo89NXmf5vTwHS2qeOKH8UkN6N/j1i3dadiRhMMm8GIR2RB2RuSwnosXCP1gLBRFKAjo8uvGC02m6vMix5XmkB57E/8lpTW51vD6v+5FI7SV5/vC+XGy5S71Yldf5OlSUn3h+aOizlB9+f5ZzbaZY9zKOnaKT6rzu1e+3P6E1iBsxahV4u7r30T488vxSr/k719VdoqEy+//h3r1SpQHz5uSg9z6yDsd7yij58T1C6p3J2f9i/r859+qf/pX8vr9j/T8/l/17ZTby60lX12GtGP0Fizki1lcV06phw/Ui/m1/EnH+Nd7lX0oVoxui6hZYUq9xjn3Fj+4RTaOz1+XajV4a3oxL+bNyzYA3spDm+FU7bD6bfil4Tq96MEnY4cu73CvUkU/WdH5Q8cgs244n76fKEW9xnnYW9T52pNLQ8C6B0iTQrv37MKFZM93ata/vcjYjDQ8aRbJeOXK9aXt1pB6x9SVKaSQs/zL9zv2GD0jdr8Y/El9nfkLgm4+/lH1fv6JemGF5rsLkhxMr7JgT87yL9yTjjkymS92/ov6adJVf5rRGI7I//HfaLEksYtx/OWnn5X6/gc1++FBrdBbjIEavxedY6T6zfMn8ogtMghpmN6j05M/loudJzNzL+7u+IZrpPdn+Fp6P41pNVsxF6npE/NloY6efrnckOZQdoR2x65jupX0q7CDCsTD1isSWwiGoUcndTF5EnOJJDuq465ynaLpeiB1rHPOLGPlXyevpXFqSezsua2DHpHVf3O9tzJ2+eV5u9jBdlPDmSzjkky9uMZyIhtoAYqb5+Q5TT3HyOkmjVZq6gU+Ngf/zse0iE/fKOItFotaJGV+buf0mBevJ9GH4d+heXSz2CW/K+fOathl59tGtDLJsWZWeg61mM9L6icXywT6mUUvgX6TfG7vnbTF6D6fTNaZNtDgwuVSLLoxNO5/KTe3M6TNiJ+eV7aLhAI83s3+RjaTrGAhTqnMg3xXnZ5yjMcERTe0tpFJFJbvt9ON9qnbcUz9rk32PhzjtWF2KfZax0gdrfovB4m25/Qw4UU5zRYlnZ4tp1E+3xAwJ3YMFY3a0bc56blFVpgXUTQfsD2EyfXsOIQmkGEQ4HnI6loFpIDAGSLwjr/tnqtvX4wnP0MLTk/lU+kxeqNP+TiC9+3emby9XYodVFMv8M0aNl1juZaGR+2Q7bnWcfftoh1wLYZkr7F827C5w47x06dPxBsHEAACQAAIAAEgkF6VCmyAABAAAkAACFwhAnCMV1joMBkIAAEgAATSCMAxprFBChAAAkAACFwhAnCMV1joMBkIAAEgAATSCMAxprFByoUhQN/HUpgh2h7raAfvILWHnXyOpj8EA4HrQOBsHSN9FpFvGca/kbiD11F+sLImArQhhHq+76ou7TFLi9zL+6fW5LML2c34UQ0WkW0Od2GKvAYBHW8wEl+xCT5B7MJs0pc7sDXgGG4kTnEceS/bBpyQ5TAIxB0jbbJM8RgPo0EDKewUdRQFrlz015/0ovuEUtibk7ajgenI0gABdop3M27c8o2cR4sGXHbNkm/4ULEp/q4SrjK/DST8/K2a/7yHcmWnSHuZrnjjb11fRmr5D/+pKG5kM+eoAxBPvY3E++Ou+vS3mYt6cZXldupGRz/wp30QNwYqPtrHsbznpN1/0n6wzfci28KdtB1Wd/zSM9LiZgJUN4J9W9uVF7elzjaHx9DromTSHqY68PEO275Ft45rIY5h07iSF1VerT738eewNn6+Y/Q3Orb7KujfWOPCjscn8oMXu21gyGkFtP6uNlKucHoyj907lXkKXYo9U6VjlPw8Bb28DiQpxxjbvh3bVIqSfvQaoOMP+4Xv4HYmS0xyWkGky0BcW1zDTcE1XaiDLQ+yQ7IwopvJdeXB2Dimoj5sg5mj5boQ0cel+xh6OuyNhnUo22FN5A2+Q8xLm34Tsd38ej6kTa/FtdkI22BmaMjeoLx0HmkPpZe2G+fNwUOnIjYHZx4dce3k5nx5A3Oro9lcnOzOdwPngL5+Ok2AcBBi1qPIxDfLOki9q8734Bij5c82x7Cp0qUijZ1vPGjyIeoiZETLOCwv3zHmoPFDJZxPlJF+qoOHPX8Y405P0Go6cc1Kxe7xfZYjdeHrvFHWKujzRON3ynaEBZG8ZtvYZFGhteH+vWiPxAC0piA1pR5ZzoI4i3IYDgVtHFN+EZG67F9urqtTUOgX2OFeivL6EK2nnMfx4qpUjuaSzBfIa0oXxSjnzWlZRqDKOk5pbFvJOdJ9F+FCl1seFSIsN+1oGLc8nZ6DpaRP2KV5kx4l58hyKQqxOYgvRXHQWAi52unJvCzT6mHptVyOQkGOu5PzyHUZE7F2vAndamG/ZwdmZMb1raWPtEVu4xaJmLE1P8kb56X2bWc8mzrGMT3MtMCvrFDJGUUadirIWH7dfkUaCNkQ60au5Azjjbh2tgG/ELCYHpqmZTtEW503OOLHa+jZtgTW7oFI2M/pLMjjZ8pMy4/cl/joRls6kigmid7YDnKlDqlzqX/qPJa3tjN12Ebq+FZp1eWnnWa0jlI+7UB8+dp5UbmlQ0hxPi7y0PFQ9AXrKFP6szOTzk3QacfIcsMepaZJOA/m91U40pwfO1E95Gn5M90y7pBjZZi8t2/HmDsz3bO1uu7hV4eNgnMs+449YJusG9vybuYYKxpiipvmD12F1+ZBjzskphU9kljjKu5xI2ecZlzGZseYyKdBDNPC6x3t2KagdMsvHCedej0falgIivQRaXgNjH6jW65Uvs2lPK3J3aRXOd1BFLG1bFf8xSxGt+u9qt4i8y69fIh6MV6WnRk7xtDp+TpSmUUcapkX00WqTIVjTPbo2LFF87HDLDtGpWMrFr1GdrpJ3gIP385yHdAxIZPOO0JfxVs7RaN7+iVkS55CHjtHbXP0RaM5340YCR1Am8Y5viqVEKs+OCJ4T72JfRJ280b1VsuG4X2m6v1kpQaPZkXs+LGnJhWr+B6+m6jeE3+u8aQG9O9x62/UTsOOaqwpdXpbrKjMV8pl9NkBvRSY4+WLytTCLAHX6fnqS3veaxqga6o+L3JcaYXvY2+ibmXcptbkbkSkRMAhpfSq09DW4bz8aQbZctfN1BcK09PuUW8lavf1byJqDNXr7kp9+S9+sd73Qd9Tfn1S6nev/HrVn1A9anBwPfifr9W78AMEbgui7KbqPxa/VY8fbxTNMao/9n5Wd7/QcxylPcJNXun6l2/V4n+9Vn94bk+vbrQBPYK9EFlGINljpL5bMTfFPQc65NAbv6JH3s6LXpz1xn6vgzTQXeh4j5HTjKy5WV2iaW0e/at7KVI3KyfyW6I9ITtqvrmlehwlnBPlkRqqK/X+UvrkGMYW++jyaEsu89XHpmHkSLlLWxyfnN0+eDJ/xzetX6rsZH3WNKyTfLaIP99PzTHu3mOk56DUq+R7pEe052fmGKt6dXqOMeit8bwhMSzmJGW5cC+TdDD1ihbhyLSm53sYStULY0gv+s6waHt2WJUaGzaVMvZid1O8kK8o4xCLqGMkIvfA8kNLhzd0lzMJaUp0rvHQKfmcZO6c+BYdab7pBkezFU5Z6xE0LLbxCXVMyzP62P89upbssDpW/Yb6R/WrKA9u6CR/zxTLjH8DunKe9MtIVMeA39ZyXYZ0PZA61jlnll65hg/DNtcb9eN6vll3xo51cuxsmRB+cj6vWHRjCfJfSUdMitFRls2Ne+7wHPmNcUIerUmcj+2QvD/MGUg0l1JujlsY9zAjfhoDb/FN8SJj6AMntE0ZMK0e8oxqSLj2PQzr1JGP5MwLDAXfHeYEjSMUvAgVdrxwikVdqFM2B6VJOcaDKhE8DLqhTTg6qxf3mIoj3Whb+mP81rHjGHpdq0x2PntzjEGdDTGtW/bWMYb5L+M6Ncd4wg3ihnK9jHIB/hvL8fQcY7037Y2GHb2CX4odeIjarGsX7Rh5aDPSs2wTT/DG87qXOnAqjrE0lETdQe8zjaM7unoV7lLs2EvlOpMyO5atpbqyYZTkWHrWlqvnDYtxHHqC/bk61AdvWqM2rsDt4Lh12DF++vSJyggHEAACQAAIAAEg0PBzDQAHBIAAEAACQOAyEYBjvMxyhVVAAAgAASDQEAE4xobAIRsQAAJAAAhcJgJwjJdZrrAKCAABIAAEGiIAx9gQuHay0VZd60xtvbNdO8qAKxAAAkDgKhE4a8dI34DRPqm8Vyr9uY1D/XL0aDKzB6tPoWiv8YIPfQAeJh/s+mb8qAaLD+qh9T08D2YSBAEBIAAEzg6Bs3aMjPZq0jcbIXu7W5tyYIf3fDdzGyX3Z3dRB/ry0NM0fdrA/HhHvQ2nj6cfJAMBIAAErgOBs3eM6WIiR8NOUURbYAc46T2e5FAleovpkkQKEAACQOCQCJQdI4WBoW1IiyHK1DAlh/PJ6fQoprimDSk9G+RQJe1WSY6J59KMDM7rp69NOKVQj8RQqSdIXnDIm+yLvKPPv2RdFY3yU6IUN6RtITbCDpFjy9N4b5F2RtEY8/BuiFFpyFfomCwPRzNXwwDfErxBenK42vHMy01cn0Q92LIkQA4EgAAQUHW2hNNbV9GehwRX6a/Y1kpEEhgOXcgqatD9yA06jBE1s6XIA7y3aHkzcM5OjXZJLuvCvJObQrNiEZ3N7Zvt+UVsj+HR5J7GKLEdmLYxCzAkXQysZTs2lYcN6+Xhr8tElF/CVs07ginbvElum/WgCebIE3+mgAtwQR2gOlDHMVJ3ZZ1VNYiJRt00wmVnp/mVHGPE0VXI5cK7DMdYvdl4yaE4pxV/kdAOKlke/NBzvvLLRjo+pmgoKsqjWm5c133VAzzIooxc/cA91AvUgaZ1oDyUqophTj18xkOFz/eqSxJSx+KzDOsuqHg4c7VUpVQd+V3Q5acvDx9Udv8jaWCO4Y/3KvvQMPr8X5cqtZQm2zZ0uxwe3PNQap25xdXs38tgEarLVU/FgoAny8NxWahUkTmSS6kHhUE4AwJAAAjUQiBwjOwUn5QaddxKzg5FS+30J0knUymFHWD3tXN0jpYdpruQJ1P1eTFQj/zJBM1xPfYmKrLYVGZInydkv+mt1PKv6WzRlOmtjwdjEvw10zM+txjq0I1Oig7V626mtvXxIe/49QXVg7iBuAsEgAAQSCIQOEamC3sT1Ehu6DEmuVOv5v2kp56ClR3jX9M90On7iVLUa5zv0lvUChnZ2slaBannd58d6DtB18tMf7Bfp7eoVR88lT4z4by9yftyb9zauvPvpdSDnYEAAyAABK4NgdIcY7GKglfI6GM+pjlGc+YW1UTIDHFkLjKkzYgf7fCypo5hdBGMoY/MTQbzJ5VzjDktL1IpjmqedfhR/YjqXLrvjE7ZWT23aPlZnRw7a0yAcyk9RucRWb3MnGNBni/o8WhN6qnWA4sVfmvWzbp1GHT1nnXgdHk4lRzjQQq5nlPY1NBZp7GJrm76vvlVyWVZtNx2Y4U6pE5V+raTtp960I5ucDLAFXXgWutAZCiVoGj7GL5Vg9VsL1ufde+fK7eEq2MKOR/N4/m+aolRHU71afRuO80mJusLOXXKPdaDUzcV+gEBIHBGCBykx6i/k7ODdfxbPaRJ8G3sSV0DTWk0s0YP86RxQT1AvcazjTpwBnWgw47x06dPZ+TKoSoQAAJAAAgAgfYQOM5Qanv2gDMQAAJAAAgAgZ0QgGPcCT5kBgJAAAgAgUtDAI7x0koU9gABIAAEgMBOCMAx7gQfMgMBIAAEgMClIQDHeGklCnuAABAAAkBgJwTO2jHa7w/p+4/SlmkOlTyuYCl+oSPw40FW0Yksm09ryN3MBBRAAAgAASBwaATO2jEyWKtJ32zoHX4sb/cqfb5Ts8miElf9sT1tCt6fpOJxVGb3E7eQ62fEFRAAAkAACJwCAmfvGJMguogYPfXwJUm1/4Rjyd2/JeAIBIAAELhKBMqOMR8C1MOTNvZgEB1DI2V7RkSjk8X1Oht7YHpDnmuONlHEfOS8fnrOL9QjpoMnpcULaZvFJPg9pnotWg7WQAAIAIHrQ6DOlnB6a7IgmgMhpbc2KrYts9Ea6P5w6KJwkNNbk6MstkFy24IJes2LN5QubxVn9tqObxHHvGlOsOCd2u16xBQAAA7JSURBVGqIlayxnVptfik54f2aci2W+I2XM3ABLqgDqAOHrAPlHiNJDw+OkVg5+7YY0TwfDVm+5Dmn0zxOIAfizdSo91CwfHlQvWjg40j8ROo13qkdghUXUnEGBIAAEAACQKAWAhHHWAxzuuHUDYGKF5+ncWE3b1RvtSwH0335orJIjpeHDyqjIMU0uqqP4c7BiiNCmtzCUGoT1JAHCAABIHCWCASOkZ3ik1KjjlnpSSs1O/wX7eHVsJcdYPe1c3QuBztMdyFPpurzYqAeKYIxTTyqx96J9BbdgpoAF4sP/YaLYqVVOAcCQAAIAIHzQSBwjKz4QvkdQHKWG3qMaXPN8OhTsDJl/Ou9SkU+5GFbRb3G+an0FtPGIQUIAAEgAAQuEYHS4ptiNQ2NpJpjPh6vaQkNHcXimAiZIZYLbfLFKCFtRvzmxJE6htGFM4a+kEW4R+kqF8u4RT5GLfl/asFOJb+EDiXdGsgt8agrC3TRegE8488LcAEuqAM160DJMR6kseUVqGnHWLfw9uLIhL375lfXDtDVrKyirIAZMEMdQB1oqw5EhlJJVNvH8K0arGbFKtYd5HXvnxX1BtNbwtXgTQ5R83i+Tw3w1mACEiAABIAAELgMBA7SYywNL24eJiV0MUwGDFAHUAdQB1AHDl4HvjmIe+dvFzviW8aDCIUQIAAEgAAQAALbI3CcodTt9UQOIAAEgAAQAAIHQQCO8SAwQwgQAAJAAAicCwJwjOdSUtATCAABIAAEDoIAHONBYIYQIAAEgAAQOBcE4BjPpaSgJxAAAkAACBwEgbN2jPb7w+R3jEFMR9rxJgqq5JOiiWZM3awpN5Ud94EAEAACQOB4CJy1Y2TYVpO+2eg83MWbnRPt8Zq5DdFHFLnjWcUc38tDT/PoTyqDa9UrpS3k1mMIKiAABIAAEDgkAmfvGFNg3fz9nVLkNAt/OVW3FCVE3f19Kste7h9L7l6UBxMgAASAABBQZccYDAMmhylFjEIdPENcr7OxB60cqlyvMzW+KWI+cl4/fa00v1CPIEKHJyBywb3AnoucnBP85rXqZl8i1BtuSdt4+7nIn1Vvr3I3qIVkIAAEgAAQaAGBOlvC6WgXkagZpM66iJwhNgUfDtfk7/Q2PuT0yBeOiy193PZwgl7T8sbi5a3iODs5nSK/2B6JeaciZbBu/l+cv6TZjl/IP3W9Wa7UAecpHHEfdQN1AHXgMHWg3GMk5MODYyRWzr4tRjRH1ys2BZ9O1VQzGaof7zM16ont4Hh7uGjgYxO7UQcptgpQr/FO7SFYse59cgDm21wvK6Dl32PJbdkssAcCQAAIXDICEcdYDHO6IcMNgYoXfmTjAq+bN6q3Wpad0csXlRVU7uzl4QMtkPlRUW9TH8N9BCtm5/R8p2b9jphvdCLrnWwxlOoY7kOuY4YTIAAEgAAQOBQCgWNkp8g9q45Z6dnJf6M9vBoqsgPsvnaOzuVgh+ku5MlUfV4MlO41kmN57O3YW2SHpp2i6M1KcXXPp7c+HhYX8Vss8iGm+5JbVz/QAQEgAASAwN4QCBwj810ovwNIznJDjzGtjRkefbIrU3LC8a/3KhX5kIdtFfUa5zv2FvWCHu3jhVPkXlywMCite7OUY8ltpi1yAQEgAASAQAmB0uKbYjUNjaSaYz4er2kNDB3F4pgImSGWC23yBTAhbUb85sSRvrcPFsiYa0NfyCKlo3RVi2V40U70iOhn+VfxszSbfpvI3cQT6fHyBy7ABXUAdaCVOlByjAkntF/hvFIz7RjrytqHI5Oy9s1P8sY5HmDUAdQB1IHzqAORoVQquraP4Vs1WM2KVaw7yOvSbjbUM1T8TUfTgxyi5vF8nxrgbcoZ+YAAEAACQODsEDhIj9F9u2gHNzcPkxKQ0eFT3AcuqAOoA6gDqANt1oFviHn7B3+72BHfMrYvERKAABAAAkAACDRC4DhDqY1URSYgAASAABAAAu0jAMfYPsaQAASAABAAAmeEABzjGRUWVAUCQAAIAIH2EYBjbB9jSAACQAAIAIEzQgCO8YwKC6oCASAABIBA+wictWO03x+mv2MMN0Sfl/dtJYwlHwpjtQfU68ndgyCwAAJAAAgAgT0jcNaOkbFYTfpmg29vF29K0BEx/A3R+5OeelqXnSMHF+7QhuD9SWVwrXrQbyG3HkNQAQEgAASAwCEROHvHmAQrj4gh/SU7wMmqp97so1OYEnwsuSl9cB8IAAEgAAS2QqDsGDkCBW+xJv9i263pnpGh08nieh1EsJBDlet1psY3xVAj5/XT10rzC/WI6bCVqUbOvWqwFZ20TeIizqvUY/sayd3SPpADASAABIDAHhCosyWcjnaRiEpRRM4Qm4IPh2vyd3pLN3IK5AvHxfZubns4Qa9peWPx8lZxnJ2cTpFfbBXHvGlOMJpG0Jj7Th65eqmHTRe/tfgJeicjdm8LuZV8Yrxxr7rMgQ/wQR1AHdilDtRxjNSlW1McwyjQ2jHOh9E0muiLOjvNLxJdo+SYKuSyMynRbwCiysE34VfXoW2SW5cP6OIvSMAFuKAOoA7ssw6Uh1Jp3eZcDBHqIdUNgYoXfmRj0i8/bt6o3mqppvba/r58UZk9F78vDx9URkGKbZyM4Y7BigVrfTq97ahRdm+GasPEqusdh1Iby63SCWlAAAgAASDQCgKBY2Sn6K/k5NWanf5ENVqvyQ6w+9o5OmcBO0x3IU+m6vNioB75kwmaY3zsTZRcPCMpdznvbbv6Jl9Qo7FgPCJ/dfTcWu4uRiIvEAACQAAINEIgcIzMY6H8DiA5yw09xrTkqXrPn0gEK1PGv96rVOTD6fuJUtRrnO/YW6ThSxVbBPQ0WKgPDy9plXdMOZbcHdVGdiAABIAAELAIlOYY9YQYDaCKYz6mOUZ9XSyOiZCZHJG5yJA2I37zyBwj6aTnKg19IcveD383zTFyun9U89zEL5Sfut5WbooP7mPeBHUAdQB14Ah1oOQYNyxg2U8h8aKccFXq9sbvy5FZm/bNz/LF7/ZlC8yAGeoA6sCx6kBkKJVUafsYvlWDVYPvCSN6de+fzTeXwXBthDR5ixyi5vF8nxrgTWZFAhAAAkAACFwaAgfpMcpv+oIhWcIz8akH7gMb1AHUAdQB1IHD14FvCPT2j5cH1es8tC8HEoAAEAACQAAI7IjAcYZSd1Qa2YEAEAACQAAItIXAYXqMbWkPvkDgkAjwoH+do1OHCDRAAAicKgLoMZ5qyUAvIAAEgAAQOAoCcIxHgR1CgQAQAAJA4FQRgGM81ZKBXntHgD/LoWgse+cLhkAACFwWAmfrGGl3HBEzcl7ej/WyygnW7IgAbYKk+DtV991rEDN0R/bIDgSAwAUhEHeMHCT4hBsOdopPtMG43cy7z/uxxvQ9cTsuqB6dtCnsFO9mfVdfOqPFSesL5YAAEDguAnHHeFydNkgfqreDlZp8V3wXyeGqFrEoHhs4IfkaEBiq12qienLjeI6W0ivqzzWgABuBABCoj0DgGPNYjBxNo3svhirLkSq0CO6RebEbM+VN4bg4hjTUGdD6O7jJGJCCh8xjMwTbyXFvYE2hsgaezWdgh6fvhguJg8Z7rubUa7aQ2Nz+8DLjEhlidmWS5xfXNhqJ3SKPNinSdUDLCXUQwvcl19qhf51eoj54BFtc4KVpC7BACgSAgIpuCcdbuEWiZBBcxfZt1Bquw43A863fqM0s6BRvGM6H2DRc04lr5hu7x/dZjtSFr+dDzV+roM9ZRiRyxinbIbGsPDf4eZhqwxmGAmfeAN3i4srJALSmwM+iPMx5zsIvl+FQ0MYxNWIKfvuXm/N2Cgb1RNjCuugjrw/ObkGj7zleXJVuSlgk84V86D2h1r8wH66bYw7sgN0x6kBTxzjOEg1WyRlFGnYyNJZft1/SCWo63wFoR1lyhvFGXDvbgF/YCMb00DQt2yHa6rx1Fz9eQ8+2JbB2FSZhP6ezII+fcTxafuS+xIednudIophEXkh2lCt1SJ1L/VPnsby1nanD1uCledVzi2jIYtjhHurFOdWBZo6xoiHWPUTZWMZp4w6JaYUjjDXq4l7Re4nL2OwYE/l0AYZp4bVpMBvbsU0l0S2/cJx0WnJYfrJ/FXk5MDCKRj+qj29zKQ87Sl+Sf9VY7ia9yukOoojMuIPc9LJRlkF36v2LYhnhBzo4C9SBk6wDwRwjNSG1jqlarnrqTeyTsJs3qrdaqmktPiHRVL2frNTgcawTxo89NXmf5vTwHS2qeKK2Ss8xDtSjN8EZ8o5dn4YdMc28e7xYpNMRfyOVUbgtN8338kVlaqFGHo2gb7zQZKo+L3JcaY7xkVYC38riaE2uZ32ti+ltbm9oK89VhiuWyZa7bqa+vNRiDSIgAASuDYFkj9Gbs+OeAx1y6I1f0SNv50Uvzr4h+70Owle/IcR7WpxmZM1pdYknz75Z6V6K7JFaOZHfEu0J2WHt2fAbncOjPCWcE+Wh80fKqdT7S+mRY2iKI4JxW3KZrz4a9OykLY5Pzm4XnvX6iyf5BmyfO/xG6rCsLzhH/eU6EHWMlKAbVNGWeEN3eeUJaZjco/MaJdvA5c4p5+3Re3wtfbkia7aisU85D24EQh3T8oSxB7KjTiMV6m+1rGtH+PLiFYllxr8Cz1Avkyf9MhLVMeC3tVyXIV0PQj03XTPLGG6b8rl0OEY0mnkb5eoEri+zTqQc4zELvsrRWb3cIgrduKcbbUt/jN86dhxDr2uVCcdYfsm81roAu1EXKuvA6TlG7lHur5dQaXyrb3uXYgceIFeH0GO8zN5Bq+0Anh/3/JwRzg0X35Cpez7obV5/TG4W0nTV/XP5A/Y9i2yF3aXY0Qo4YAoEgAAQOAMETiZQMa8qlAsezwC7qIqXYkfUONwEAkAACFwBAifjGK8Aa5h47gh0zt0A6A8EgEAdBE5mKLWOsqABAkAACAABINA2AnCMbSMM/kAACAABIHBWCMAxnlVxQVkgAASAABBoGwE4xrYRBn8gAASAABA4KwTgGM+quKAsEAACQAAItI0AHGPbCIM/EAACQAAInBUC/x+TRDJ+VVvkNwAAAABJRU5ErkJggg==" alt="" />

在这个例子中我们还看到,如果给程序建立符号链接,然后通过符号链接运行这个程序,就可以得到不同的argv[0]。通常,程序会根据不同的命令行参数做不同的事情,例如ls -l和ls -R打印不同的文件列表,而有些程序会根据不同的argv[0]做不同的事情,例如专门针对嵌入式系统的开源项目Busybox,将各种Linux命令裁剪后集于一身,编译成一个可执行文件busybox,安装时将busybox程序拷到嵌入式系统的/bin目录下,同时在/bin、/sbin、/usr/bin、/usr/sbin等目录下创建很多指向/bin/busybox的符号链接,命名为cp、ls、mv、ifconfig等等,不管执行哪个命令其实最终都是在执行/bin/busybox,它会根据argv[0]来区分不同的命令。

C语言的本质(13)——指向指针的指针的更多相关文章

  1. C语言基础语法之指向函数的指针

    指针是C语言的精髓,对于初学者来讲,指针是C语言语法学习中比较难的知识点,而这里面指向函数的指针更是不太容易理解. 下面给大家讲下怎样学习理解C语言中指向函数的指针及编程方法和使用例子. 注意:这是一 ...

  2. 【C语言】14-返回指针的函数与指向函数的指针

    前言 前面我们花了接近3个章节学习指针,应该都感受到指针的强大了吧.指针可以根据地址直接操作内存中的数据,使用得当的话,不仅能使代码量变少,还能优化内存管理.提升程序性能.关于指针的内容还非常多,比如 ...

  3. 【C语言】-返回指针的函数与指向函数的指针

    本文目录 前言 一.返回指针的函数 二.指向函数的指针 说明:这个C语言专题,是学习iOS开发的前奏.也为了让有面向对象语言开发经验的程序员,能够快速上手C语言.如果你还没有编程经验,或者对C语言.i ...

  4. C语言——指向函数的指针

    转载自:http://www.cnblogs.com/liangyan19910818/archive/2011/08/19/2145270.html C语言——指向函数的指针 函数类型 (* 函数指 ...

  5. C语言中 指向函数的指针 简介

    引子:在学习CPrimerPlus的第十四章的14.13节中,遇到了如下三行文字,是有关指向函数的指针的,把我搞晕了. char * fump(); //返回指向char的指针的函数 char (* ...

  6. C语言的本质(12)——指针与函数

    往往,我们一提到指针函数和函数指针的时候,就有很多人弄不懂.下面详细为大家介绍C语言中指针函数和函数指针. 1.指针函数 当一个函数声明其返回值为一个指针时,实际上就是返回一个地址给调用函数,以用于需 ...

  7. C语言的本质(11)——指针与数组

    1.指针数组和数组指针的内存布局 初学者总是分不出指针数组与数组指针的区别.其实很好理解:指针数组:首先它是一个数组,数组的元素都是指针,数组占多少个字节由数组本身决定.它是"储存指针的数组 ...

  8. C语言的本质(10)——指针本质

    指针,大概是C语言中最难理解的概念之一了.指针这个东西是C语言中的一个基本概念,C99中对于指针的定义是: 1. 指针的类型是derived from其它类型,也就是说指针的类型是由它指向的类型决定的 ...

  9. C语言二级指针(指向指针的指针)

    转载:http://c.biancheng.net/cpp/html/85.html 指针可以指向一份普通类型的数据,例如 int.double.char 等,也可以指向一份指针类型的数据,例如 in ...

随机推荐

  1. ownCloud Virtual Machines(bitnami.com)

    ownCloud Virtual Machines(bitnami.com)https://bitnami.com/stack/owncloud/virtual-machine

  2. Qt学习(四)—实例涂鸦画板mspaint

    一.Qt图形绘制 自己在Qt开源社区在自学yafeilinux前辈的<Qt快速入门系列教程>中的图形篇,结合所学的知识,可以做一个涂鸦板实例 二.实现涂鸦板 1.新建工程mspaint, ...

  3. Android高德地图开发具体解释

    这段时间开发的时候用到了高德地图,对高德地图开发有心得体会,如今分享给大家.对我开发过百度地图的我来说,整体来说高德地图Demo,没有百度解说的具体 个人更偏向于使用百度地图,可是没办发,项目须要使用 ...

  4. Eclipse上GIT插件EGIT使用手册ᄃ

    Eclipse上GIT插件EGIT使用手册 一_安装EGIT插件 http://download.eclipse.org/egit/updates/ 或者使用Eclipse Marketplace,搜 ...

  5. PhpEclipse插件

    PHP开发工具 PHPEclipse PHPEclipse 是一个相当强大的一个Eclipse下开发PHP的插件,包括的功能有:PHP语法分析,调试,代码格式化,大纲视图,代码模板定制等. 安装地址: ...

  6. LeeCode-Spiral Matrix II

    Given an integer n, generate a square matrix filled with elements from 1 to n2 in spiral order. For ...

  7. OpenStack Keystone v3 API新特性

    原连接 http://blog.chinaunix.net/uid-21335514-id-3497996.html keystone的v3 API与v2.0相比有很大的不同,从API的请求格式到re ...

  8. poj1080--Human Gene Functions(dp:LCS变形)

    Human Gene Functions Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 17206   Accepted:  ...

  9. linux内核中驱动开发常见的相似多态

    #include<stdio.h> #include<stdlib.h> struct test { char name[20]; void (*func)(char *); ...

  10. First Bad Version

    You are a product manager and currently leading a team to develop a new product. Unfortunately, the ...