您的位置:首页 > 其它

指针数组的应用

2012-11-28 20:28 225 查看
code:该程序为了获得字符串中的单词,并对该单词进行存储,以形成字符串数组。可以采用指向指针的指针来做。
i=0;
len=0;
cnt=0;
st=0;
//输入字符串,从字符串中提取单词进行存储
char **pp=(char**)malloc(cnt*sizeof(char*));//分配存储字符串数组首地址的空间
pp[1];
char ***sp=&pp;//pp的首地址

char *p;
while(*(src+i)!='\0'){
if(*(src+i)==' ')//当遇到空格的时候进行提取
{

p=(char*)malloc((len+1)*sizeof(char));
strncpy(p,src+st,len);
*(p+len)='\0';
pp[cnt]=p;//通过malloc分配后,p实际上成了指针数组,所以为了获得首地址,直接取数组名

len=-1;
cnt++;
st=i+1;
}
i++;
len++;
if(*(src+i)=='\0')
{
p=(char*)malloc((len)*sizeof(char));
strncpy(p,src+st,len);
*(p+len)='\0';
pp[cnt]=p;
}

}

通过malloc在堆上分配空间之后,获得该空间的地址并存储在指针,实际上此时指针是指针数组,为了获得该指针数组的地址,只需要取数组名即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C