#include <stdlib.h>
#include <stdio.h>
struct foo{
int id;
char *bar;
char *baz[6];
};
int main(int argc, char **argv){
struct foo f;
f.id=1;
char *qux[6];
f.bar=argv[0];
f.baz=qux; // Marked line
return 1;
}
這只是一些測試代碼,所以忽略qux實際上沒有任何有用的東西。C:不兼容的類型?
我在標記行上發現一個錯誤,incompatible types when assigning to type ‘char *[6]’ from type ‘char **’
但在代碼中將這兩個變量定義爲char *[6]
。任何見解?
' char * baz [6];'聲明一個由6個指針組成的數組。如果你想聲明一個指向數組的指針,寫'char(* baz)[6];' – pmg 2011-03-02 09:09:44