搜索
首页 电脑/网络 程序设计 C/C++

如何用字符数组跟字符指针实现函数strcat(s,

如何用字符数组跟字符指针实现函数strcat(s,t),返回字符串的首地址我刚学的c语言,对于指针跟数组都不是很熟悉 —— 希望高手指点!~

全部回答

2011-06-13

0 0

    #include using namespace std; char* solve(char *s, char *t) { char* c = (char*)malloc(sizeof(s)+sizeof(t)+1); int i=0,j=0; for (i=0; s[i]!='\0'; i++) c[i] = s[i]; for (j=0; t[j]!='\0'; i++,j++) c[i] = t[j]; c[i] = '\0'; return c; } int main() { char s[] = "123"; char t[] = "45678"; char* x = solve(s,t); cout<<x<<endl; return 0; }。
    。

2011-06-25

210 0

    指针和数组是完全不一样的两个东西。数组是给一个连续空间取了一个名字而已,它在进行值传递的时候传的是首元素地址,所以很多人把它和指针混起来;指针则表示其指向了某个特定类型的空间。
   例子1。 int a[2];printf("%d\t%d",sizeof(a)/sizeof(int),sizeof(a+1)/sizeof(int)); 第一个sizeof(a)计算出了数组a的空间长度为2;第二个sizeof(a+1)则是计算数组a的首地址+1所在元素空间的长度为1。
     例子2。 用指针开辟二维数组需要: int **a; a=new int *[2]; //a指向指针数组 a[0]=new int [2];a[1]=new int[2];//为他们开辟空间 易错的地方: void f(int **t); 然后其他函数中 { int a[2][2]; f(a); }//错在a是数组,t是指向指针的指针,根本不是一个东西。
    相信你懂得。

2011-06-18

208 0

     字符数组和字符指针是有区别的,例如 char *str1, str2[10]; printf("sizeof str1:%d, sizeof str2 %d\n", sizeof(str1), sizeof(str2)); 打印的结果是 sizeof str1:4, sizeof str2:10 str1 = str2;这个赋值语句是没有问题的,因为str1是变量 而str2 = str1;就会有问题,因为字符数组的数组名是一个常量(地址常量),不能赋值 至于实现strcat,下面给你一个经典的实现方法 char *strcat(char *dest, const char *src) { if (dest == NULL || src == NULL) return NULL; //这里出错不处理了 char *ptr = dest + strlen(dest); while (*ptr++ = *src++) ; //空语句 return dest; }。
    。

2011-06-13

176 0

在本质上讲,字符数组跟字符指针都是指针,可以统一处理

类似问题换一批

热点推荐

热度TOP

相关推荐
加载中...

热点搜索 换一换

电脑/网络
C/C++
硬件
电脑装机
程序设计
互联网
操作系统/系统故障
笔记本电脑
反病毒
百度
软件
程序设计
C/C++
VB
数据库
汇编语言
JAVA相关
VC++
C#/.NET
其他编程语言
C/C++
C/C++
举报
举报原因(必选):
取消确定举报