把一个字符串赋值给一个数组

我们可以定义一个指针类型的字符串,把它的地址传递给一个指针类型的数组

#include 
int main(void)
{
//这个字符串p本身代表一个地址
        char * p = "hello world!";
//ch本身是一个指针类型的数组,指向ch这一片空间
        char * ch[64];
        ch[0] = p;
        printf("%s\n",ch[0]);
        return 1;
}

输出结果为:hello world!

把一个字符串按照一定的规则拆分后赋值给一个数组

#include
#include
#include
int main(void)
{
        char str[] = "hello world!";
        char * p = " ";
        char *ch[64]={};
        int i=0;
        char * q = strtok(str,p);
        while(q!=NULL){
                ch[i++]=q;
//              printf("%s\n",q);
                q = strtok(NULL,p);
        }
        for(i=0;i<2;i++){
                printf("%s\n",ch[i]);
        }
        return 0;
}


你可能感兴趣的:(C,C字符串,C指针)