C语言第五次作业

笔记:

 

 

 

 

 

问题:

指针数组和数组指针的区别:

指针数组用于存放字符数据单元的地址。是由指针变量构成的数组。是存储指针的数组

数组指针:是一个指针,指向一个数组,是指向数组的指针

*p[10]与(*p)[10]的区别:

*p[10]:由于[]的优先级比*高,所以p先与[]结合,构成一个数组的定义,数组名为p,其为指针数组。

(*p)[10]:在这里()的优先级比[]高,*和p构成一个指针的定义,指针变量名为p,这里的数组没有名字,是一个匿名指针

数组&a和a的区别:

&a是整个数组的首地址,a是数组首元素的首地址;

 

char *str_cat( char *s, char *t ){
 int i=0;
 int j=0;
 while(s[i]!='\0')//确定字符串s中的字符结束符'\0'的位置{
  i++;
 }
 while(t[j]!='\0')//遍历字符串t {
  s[i+j]=t[j];//将t中的字符逐个放到s中字符后面
  j++;
 }
 s[i+j]='\0';//将'\0'字符补上
 return s;//将 s字符串的首地址返还给主函数
}

 char *str_cat( char *s, char *t ){
 int i;
 int j;
 for(i=0;s[i]!='\0';i++);//找到s字符串中'\0'
 for(j=0;t[j]!='\0';j++)//遍历t指针所指的字符串
  s[i+j]=t[j];//将t中的字符逐个放到s中字符后面
  s[i+j+1]='\0';//将'\0'补全
  return s;//将 s字符串首地址返还给主函数
}

 char *str_cat( char *s, char *t ){
 int i;
 for(i=0;t[i]!='\0';i++){//遍历t字符串
  s[strlen(s)]=t[i];//将t中字符逐个放到s中字符后面
  }
  s[strlen(s)]='\0';//补全'\0'
  return s;//将 s字符串首地址返还给主函数
}

posted @ 2020-04-12 21:13  长歌暖浮生  阅读(163)  评论(0编辑  收藏  举报