字符型指针变量做实参
进行字符串的复制,程序1无法运行,改一下第2,3行变为程序2即可运行,不明觉厉。程序1
#include<stdio.h>
int main()
{
void copy_string(char from[],char to[]);
// char a[]="I am a boy.",b="I love china.";
char *p1="I am a boy.",*p2="I love china.";
printf("The array a:%s\n",p1);
printf("The array b:%s\n",p2);
copy_string(p1,p2);
printf("After the copy\n");
printf("The array a:%s\n",p1);
printf("The array b:%s\n",p2);
return 0;
}
void copy_string(char from[],char to[])
{
int i=0;
for(;from!='\0';i++)
to=from;
to='\0';
}
程序2:
#include<stdio.h>
int main()
{
void copy_string(char from[],char to[]);
char a[]="I am a boy.",b="I love china.";
char *p1=a,*p2=b;
printf("The array a:%s\n",p1);
printf("The array b:%s\n",p2);
copy_string(p1,p2);
printf("After the copy\n");
printf("The array a:%s\n",p1);
printf("The array b:%s\n",p2);
return 0;
}
void copy_string(char from[],char to[])
{
int i=0;
for(;from!='\0';i++)
to=from;
to='\0';
}
char a[]="I am a boy.",b="I love china.";// 变量
char *p1="I am a boy.",*p2="I love china.";// 常量
我觉得课程中在讲指针的地方说得很清楚了。
指向常量的指针:
-可以修改为指向不同的常量
-可以修改为指向不同的变量
-可以通过解引用来读到指针指向的数据
-不可以通过解引用修改指针指向的数据
页:
[1]