|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
进行字符串的复制,程序1无法运行,改一下第2,3行变为程序2即可运行,不明觉厉。
程序1
#include<stdio.h>
int main()
{
void copy_string(char from[],char to[]);
// char a[]="I am a boy.",b[20]="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[i]!='\0';i++)
to[i]=from[i];
to[i]='\0';
}
程序2:
#include<stdio.h>
int main()
{
void copy_string(char from[],char to[]);
char a[]="I am a boy.",b[20]="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[i]!='\0';i++)
to[i]=from[i];
to[i]='\0';
}
char a[]="I am a boy.",b[20]="I love china."; // 变量
char *p1="I am a boy.",*p2="I love china."; // 常量
我觉得课程中在讲指针的地方说得很清楚了。
指向常量的指针:
-可以修改为指向不同的常量
-可以修改为指向不同的变量
-可以通过解引用来读到指针指向的数据
-不可以通过解引用修改指针指向的数据
|
|