C语言的那些小秘密之指针(三)语言的那些小秘密之指针(三)
为了让一些新的读者朋友了解我的博客内容,我还是像前面说的那样,把第一篇关于指针的摘要搬过来,因为
我写的这几篇都是关于指针的,所以没有必要每篇一个摘要,在此就偷偷懒了,如果读过我前面两篇C指针博客
的朋友可以跳过这篇博客前面的摘要不读,直接进入主题部分。
为了让一些新的读者朋友了解我的博客内容,我还是像前面说的那样,把第一篇关于指针的摘要搬过来,因为我写的这几篇都
是关于指针的,所以没有必要每篇一个摘要,在此就偷偷懒了,如果读过我前面两篇C指针博客的朋友可以跳过这篇博客前面
的摘要不读,直接进入主题部分。
懂得C语言的人都知道,C语言之所以强大,以及其自由性,绝大部分体现在其灵活的指针运用上。因此,说指针是c语言的灵
魂,一点都不为过。所以从我的标题加了个(一)也可以看出指针的重要性,我尽可能的向大家交代清楚我对于指针的理解。所
以在讲解的过程中我尽可能的用代码加文字的描述方式,通过代码的分析来加深我们对于指针的理解,我给出的都是完整的代
码,所以读者可以在看的过程中直接copy下去即可运行,希望下面的讲解能够对你有所帮助。
在C语言中我们可以使用两种方法来访问一个字符串。
1、用字符数组存放一个字符串
char str[ ]="this is str!!!";
在此str是一个数组名,代表字符串数组的首地址。
2、用字符指针指向一个字符串
char *str="this is str,too";
C语言对于字符串常量是按照字符数组的方式来进行处理的,在内存开辟了一个字符数组来存放字符串常量。在此的str被定义
为一个指针变量,指向字符型数组,它只能指向一个字符变量和其他的字符数据。输出都是使用printf("%s",str);,在此过程中
系统会先输出一个str所指向的字符数据,然后使用str加1的方法输出下一个字符,知道遇到' '串结束符为止,在内存中的字符
串的最后都被自动加上一个' '。
字符串的传递可以使用传址的方法,用字符数组的名字或者用指向字符数组的指针变量作为参数。在被调用的函数中可以改变
字符串的内容,主函数可以得到改变了的字符串。
一、用字符数组作为参数
接下来看看一个代码:
#include
void copy_string(char from[],char to[])
{
int i=0;
while(from[i]!=' '){
(to[i]=from[i]);
i++;
}
to[i]=' ';
return ;
}
int main()
{
char str[]="this is a string!";
printf("%s",str);
char dec_str[206];