c语言中如何用一个整型指针记下字符位置?

如题所述

定义一个字符指针,将字符数组的首地址赋给它,使它指向字符数组,然后用个计算变量,循环遍历字符数组,找到相应元素,就将该元素的赋值给字符指针的相应元素~~~
char str[20],*s=str;
int i=0,j=0,n;
while(str[i]!='\0')
{
if(str[i]=='你要查找的字符')
{
s[j++]=i;
}
i++;
}
n=j;
for(j=0;j<n;j++)
printf("position:%d",s[j]);
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-05-04
个人理解:
int *p;
int q;
比如说整型指针,p存的内容应该是地址,如p=&q;现在p指针就指向q存的地址了。那*p就相当于q。如*p=2;就等同于给q赋值为2.
也就是说,*后的部分应该赋一个地址,如(*p中的p存的是地址;再比如**p中的*p应该存地址),而整体就指的是该地址中存的内容
另外,站长团上有产品团购,便宜有保证
第2个回答  2011-04-29
整型数据和字符串之间可以互换的,可以直接把字符数据的地址赋值给一个整型指针追问

谢谢!如果要定义一个指针来记录某个字符在字符串中出现的所有位置,数组指针的长度未知怎么办呢?

追答

字符串中系统会自动在字符串末尾加上‘\0’,虽然你不知道数组指针长度,但是你可以通过指针一个一个的读取,这样你就知道了它的有效长度,用指针增一就可以了!!不知道这样是否解决了你的问题

本回答被网友采纳
相似回答