2011-07-15 36 views
0

我想編寫一個訪問函數,返回用戶名和密碼。這是我想出的:C:簡單的指針問題

#include <stdio.h> 

char * 
getMySQLUsername() 
{ 
    return "myUsername"; 
} 

char * 
getMySQLPassword() 
{ 
    return "myPassword"; 
} 

int main() 
{ 
    printf("%s\n", getMySQLPassword()); 
} 

它似乎工作,但是這段代碼是否正確?

+0

可以修復它: ///////////////////////// const static char * result =「myUserName」; 返回結果; ////////////////////// –

+0

@Henry:這會添加一個額外的可變(非常量)變量來實現相同的結果。 –

回答

8

您應該返回const char *,因爲您無法更改文字字符串。您還沒有從main返回任何內容,這僅在C99以及C++中才有效。

+1

我相信這是有效的C99。 – Puppy

+2

對於這種用法,你可能需要'const char * const' –

+0

額外的'const',yi_H有什麼好處? – Sydius