ぜひこの番組をご覧ください
#include<stdio.h>
#include<string.h>
typedef struct hs_ims_msrp_authority
{
int host_type;
char buf[50];
int port;
}hs_i;
int main()
{
char dom[50];
int i = 10, j = 20;
strcpy(dom, "ine");
fun((hs_i){i, dom, j}); // doesnt work
fun((hs_i){i, "dom", j}); // this works
}
int fun(hs_i c)
{
printf("%d %s %d\n", c.host_type, c.buf, c.port);
}
main の fun 関数の呼び出し中。文字列リテラル ("dom") が渡されたときに関数呼び出しが機能するのに、配列変数 (dom) が渡されたときに機能しないのはなぜですか?
変数を機能させるには、特定の方法で型キャストする必要がありますか? または他の方法はありますか?