playerPtr->playerPosition=[1][2];
会给你错误(语法错误)
你是不是在指定数组索引哪些数据将被存储,也不能以这种方式在C
中存储数据。
正确的方法是:
playerPtr->playerPosition[0][0] = 1;
playerPtr->playerPosition[0][1] = 2;
.
.
.
playerPtr->playerPosition[9][0] = 19;
playerPtr->playerPosition[9][1] = 20;
,如果你宣布你的阵列这样有效期:
int playerPosition[10][2];
,这将允许你存储十个坐标。
2Dimentional阵列如阵列[1] [10]是一样的阵列[10](供使用,我不能确定的内存分配,二维数组,可能需要更多的内存)
我想你可以使用不同但更容易处理此问题:
typedef struct position{
int x, y;
float refpos; //position from some reference point (like healing circle)
}position;
typedef struct player{
char name[20];
int health, attack, defense; //can be float too
position coord[20];
}player;
player player1, *playerPtr;
playerPtr = &player1;
playerPtr->position[0].x = 3;
playerPtr->position[0].y = 4;
playerPtr->position[0].refpos = 5; //Pythagorean triplet wrt origin (0,0)
Prost!
'struct player playerOne;结构播放器* playerPtr =&playerOne;'''playerPtr-> playerPosition [1 -1] [2 -1] = intValue;' – BLUEPIXY
你究竟期待这个'playerPtr-> playerPosition = [1] [2];'去做? – alk
关于:'struct * player playerPtr;'应该是:'struct player * playerPtr;' – user3629249