【发布时间】:2015-04-17 15:13:31
【问题描述】:
我正在尝试在 Matlab 中声明一个结构:
book = struct('name', '', 'author','', 'price,'', 'date_of_pub','')
num_books = input('enter number of books')
然后声明一个数组 (list_of_books),其中包含有关若干 (num_books) 书籍的这些信息。
在 C 语言中,我会做这样的事情(示例代码,不详述)
typedef struct {
char name[20];
char author[20];
float price;
date date_of_pub; //'date' being another predefined struct containing dd, mm, yy
}book;
int main()
{
int num_books = 0;
printf("enter number of desired books\n");
scanf("%d", &num_books);
book *list_of_books = malloc(num_books * sizeof(book));
for(i = 0; i < num_books; ++i){
printf("enter name of book #%d:\n",i+1);
scanf("%s", list_of_books[i].name);
//same for the other info
}
/* 另一个循环打印书籍信息,这可能是一个单独的函数等 */
我知道http://www.mathworks.com/help/matlab/structures.html,但我正在寻找具有类似实现的 Matlab 代码示例以供学习。或者,如果您有任何其他我可以查看的资源以及代码示例,我们将不胜感激。谢谢。
【问题讨论】:
-
而且数组的所有字段也应该有空值?
-
不一定,但我想实现一个“for循环”遍历数组,让用户填写结构的每个字段。
-
哦。那我把你的问题弄错了