c++深入char*p , char a[], 字符串的复制与倒序排列

 

把arrayB复制到arrayA中,strcpy的原型

有两个版本,一个是操作数组,一个是操作指针

数组版本:

void myStrCpy(char* a, char* b){
    int i = 0;
    while((a[i] = b[i]) != '\0'){      //(a[i] = b[i]) = b[i]
        i++
    }
}

 

指针版本:

void myStrCpy(char* a, char* b){while((*a = *b) != '\0'){
        a++;
        b++;
    }
}

 

 

把arrayB以倒序存在arrayA中,也有两个版本,这个是指针版本

void convert(char* arrayA , char* arrayB){
    int len = 0;
    while(*arrayB != '\0'){
        len++;
        arrayB++;
    }
    //cout<<"len:"<<len<<endl;
    while(len != 0){
        arrayB--;
        *arrayA = *arrayB;
        len--;
        //cout<<*arrayA<<endl;
        arrayA++;
    }
    *arrayA = '\0';
}

 

 

sizeof

    int aInt[] = {1,2,3,4};
    char aChar[] = "abcd";
    cout<<sizeof(aInt)<<endl;   //output:16
    cout<<sizeof(aChar)<<endl;  //output:5

    int* pi;
    char* pc;
    cout<<sizeof(pi)<<endl;     //output:8
    cout<<sizeof(pc)<<endl;     //output:8

 

posted on 2015-04-14 16:50  allen__  阅读(1308)  评论(0)    收藏  举报

导航