早上好,我目前正在为 Pebble Smartwatch 开发一个应用程序,它使用标准 C,这是我刚开始使用的一种语言。
我有一个函数可以将 Money Transaction 添加到数组中。我已经像这样定义了事务:
struct Transaction {
char * title;
char * amount;
char * date;
char * text;
} txnsArray[20];
每当我收到一笔交易时,它就会使用这个函数添加到 txnsArray 中:
void addTransaction(DictionaryIterator * txnIter){
Tuple *txnTitle_Tuple = dict_find(txnIter, TRANSACTION_TITLE);
Tuple *txnAmount_Tuple = dict_find(txnIter, TRANSACTION_AMOUNT);
Tuple *txnText_Tuple = dict_find(txnIter, TRANSACTION_TEXT);
txnsArray[transOverview.txnCounter].title = txnTitle_Tuple->value->cstring;
txnsArray[transOverview.txnCounter].amount = txnAmount_Tuple ->value->cstring;
txnsArray[transOverview.txnCounter].text = txnText_Tuple->value->cstring;
transOverview.txnCounter++;
}
现在,当我检查这个数组时,它确实添加了应有的条目,但是我添加的最后一个事务适用于所有条目。
假设我首先添加一笔金额为 2.5 欧元的交易,然后再添加一笔金额为 4.0 欧元的交易,那么两个条目将有 4.0 欧元。
我究竟做错了什么?非常感谢您的帮助。:)