[求助]函数中的指针还数组的关系
下面的小程序的意思是向一个字符串(this is a test)的后面添加空格符,直到指定的长度(40个)。
我有个问题:
为什么在函数pad()中可以用指针代替主程序中的str字符串?
具体程序如下:
#include<stdio.h>
#include<string.h>
main()
{
char str[80];
strcpy(str,"this is a test");
pad(str,40);
printf("%s",str);
getch();
return 0;
}
pad(char *s,int length)
{
int l;
l=strlen(s);
while(l<length){
s[l]=' ';
l++;
}
s[l]='\0';
printf("%s\n",s);
}
请大侠们指点一二
我好象大概想明白了,我认为:
是把主程序中的str字符串的首地址给了*s指针,或者说,s=&str,不知道这样理解对不对?
可是为什么不直接用一个字符串呢来接收主程序中的str?
[此贴子已经被作者于2006-9-22 15:55:50编辑过]