请教,请问在C语言中,怎么样把一个字符数组char a[3]="ab"转换成char *指针指向的字符串?

如题所述

第1个回答  2011-02-24
先定义一个char型的指针变量,然后把"ab"的地址赋值给指针变量追问

能提供简单的代码吗?

第2个回答  2011-02-24
suppose you want to this:
char a [ 3 ] = "ab";
char * p ;
p = (char * ) malloc ( 10); // allocate space for p
memset ( p , 0 , 10); // init buffer with 0
strcpy ( p, "cd"); // copy "cd" into p buffer.

a[0] = *p; // 'a' changed to 'c'
a[1] = *(p+1); // 'b' changed to 'd'本回答被提问者采纳
第3个回答  2011-02-24
char a[3]='ab';
char *b;
b=a;追问

不对呢,char a[3]='ab';本身就不对。就算char[3]="ab";char *b = a;还是满足不了我的需求,我想把数组里的字符变成char*指针类型指向的字符串

追答

那就是变成二维数组么
char *a[3]={0};

追问

没看懂,能详细说明一下么?就比如a数组里有{'a','b','\0'},怎么样把它变成char *p = "ab";
????

追答

真的搞不懂你的问题。。。

相似回答