2011-07-15 18 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++の時点でCでのみ有効です。

+1

私はそれが有効なC99だと思います。 – Puppy

+2

このような使い方には、 'const char * const'がほしいでしょう –

+0

余分な' const'、yi_Hを持つ利点は何ですか? – Sydius