MIPS 结构节点
在 C 中声明以下链表节点:
struct node {
double val;
struct node *next;
}
假设一个问题所需的链接节点不超过 20 个。为链表保留20个节点空间的MIPS语句是什么?
The following linked list node is declared in C:
struct node {
double val;
struct node *next;
}
Suppose that no more than 20 link nodes are needed for a problem. What are MIPS statements to reserve 20-node space for the linked list?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以在 C 中执行此操作并检查 C 编译器生成的结果程序集。无论如何...
双精度浮点 -> 64位
指针-> 32 位
总结构大小 -> 96 位 + 32 位对齐双精度数 -> 128 位
20 个结构 + 1 个头列表指针(假设它是一个简单列表,只有一个指向起始元素的指针)-> 20 x 128 + 32 = 2592 位
You can do so in C and check the resulting assembly generated by the C compiler. Anyway...
Double-precision floating point -> 64 bits
Pointer -> 32 bits
Total struct size -> 96 bits + 32 bits to align doubles -> 128 bits
20 structs + 1 head list pointer (assuming it's a simple list with only one pointer to the starting element) -> 20 x 128 + 32 = 2592 bits