1. 程式人生 > >C++中讓函式返回字串

C++中讓函式返回字串

轉:http://379910987.blog.163.com/blog/static/3352379720111026101835400/

char* Alphabet(int n)
{
    char* pStr=new char[n+1];//last one for '\0'
    pStr[n]='\0';
    int i;
    for(i=0;i<n;i++)
    pStr[i]=i+97;
    return pStr;
}

注意最後一句,返回的確實是指向字串的指標。

好了,現在函式有了,該如何呼叫?使用過程中又有那些注意事項呢?

int main()
{
    char* str=Alphabet(14
);
    cout<<str<<endl;
    delete[] str;
    cin.ignore();
    return 0;
}

 呼叫和普通的函式沒有太大區別,只需要意識到返回型別為char*——指標型別即可,但是使用完之後,一定要注意使用該delete[],看起來似乎在main函式中沒有使用new,應該不用delete[],但是實際上,這個delete[] 是針對的Alphabet中的new進行的操作,如果忘記了,呵呵,又是C程式設計師的噩夢——記憶體洩漏