#include
#include
int main(int argc, char *argv)
{
char a[6] = {17,22,35,211,107,5};
char b[7] = {0};
int i = 0;
char *p = b;
//我理解的你的意思是想把p当字符串吗?
//a少了一个\0结尾,加上就能当字符串用了
for (i = 0; i < 6; i++)
{
b[i] = a[i];
}
b[6] = '\0';
printf("b:[%s]\n", b);//把b也就是a当字符串打印
printf("p:[%s]\n", p);//把p当字符串打印
printf("p:[%c]\n", *p);//打印字符串的第一个字符也就是a[0]
printf("p:[%d]\n", *p);//打印字符串的第一个字符以十进制输出也就是a[0]即17
return 0;
}
说实话没有太明白你想达到的效果,你先看看这种行不行吧。
不知道你在说啥。。。
你的意思是要用char* b来代替 char a[6]是吧?
动态指针要在使用之前先手动申请内存,例如:
char* b = new char[6];
b[0] = a[0];
b[1] = a[1];
.......
然后用法就和a一样了
没听懂你的问题。。。。。char*是一个指向字符的指针,你可以定义一个指针 char * p,然后让p指向数组的首地址,即p = a