-1

以下のコードが s で機能しない理由を知っている人はいますcharか? sで動作しますが、構造体の初期化intに使用したい場合charは失敗し、次のような警告が表示されます。

warning: assignment makes integer from pointer without a cast

この警告の意味がわかりません。

#include <stdio.h>
#include <stdlib.h>

struct complex {
int re;
int im;
char name;
};

struct complex initialize (int k, int l, char nazwa)
{
    struct complex x;
    x.re = k;
    x.im = l;
    x.name= nazwa;
    return x;
}


int main ()
{
    struct complex e;
    struct complex f;
    int a;
    int b;
    char o;
    int c;
    int d;
    char p;
    a=5;
    b=6;
    o="t";
    e = initialize (a, b, o);
    c=8;
    d=3;
    p="u";
    f=initialize (c, d, p);
    printf("c1 = (%d,%d)\nc2 = (%d,%d)\n name 1=%s name 2=%s\n", e.re , e.im, f.re, f.im, e.name, f.name);

    return 0;
}
4

1 に答える 1