那些网站需要备案,郑州seo推广优化,投资公司注册条件及经营范围,什么网站可以找人做软件kmalloc(size(结构体)*n)就是申请n个大小为结构体的空间#xff0c;然后返回一个指向这个空间的首地址的指针。这个指针可以看作是一个数组#xff0c;它的每个元素都是结构体#xff0c;所以可以使用索引来访问这个空间的不同部分。例如#xff0c;如果你有一个指针p…kmalloc(size(结构体)*n)就是申请n个大小为结构体的空间然后返回一个指向这个空间的首地址的指针。这个指针可以看作是一个数组它的每个元素都是结构体所以可以使用索引来访问这个空间的不同部分。例如如果你有一个指针p它指向一个由三个struct foo类型的结构体组成的空间那么你可以用p[0]、p[1]和p[2]来访问这三个结构体。你也可以用p、p1和p2来表示这三个结构体的地址。这里有一个简单的例子你可以在你的电脑上运行它看看它的输出。
#include stdio.h
#include stdlib.hstruct foo {int a;char b;
};int main() {struct foo *p (struct foo *)malloc(3 * sizeof(struct foo)); //申请三个struct foo类型的空间if (p NULL) {printf(malloc failed\n);return -1;}p[0].a 10; //给第一个结构体的a赋值为10p[0].b A; //给第一个结构体的b赋值为Ap[1].a 20; //给第二个结构体的a赋值为20p[1].b B; //给第二个结构体的b赋值为Bp[2].a 30; //给第三个结构体的a赋值为30p[2].b C; //给第三个结构体的b赋值为Cfor (int i 0; i 3; i) {printf(p[%d].a %d, p[%d].b %c\n, i, p[i].a, i, p[i].b); //打印每个结构体的a和bprintf(p %d %p\n, i, p i); //打印每个结构体的地址}free(p); //释放空间return 0;
}