我搜索了很多主题。 但它们都没有真正符合我想要的答案。
我想动态分配一个struct类型的数组。
但是,我失败并得到了错误 “错误3错误C2109:下标在编译期间需要数组或指针类型” 。
这是我的代码:
#include <stdio.h>
#include <stdlib.h>
typedef struct Term{
int row;
int column;
int value;
};
int main(void){
int size;
printf("Enter how many non-zero value you want to transpose:");
scanf_s("%d",&size);
struct Term *termA = (struct Term *)malloc((sizeof(struct Term))*(size+1));
termA[0].value = size;
}
在获得一些帮助后,提供了正确的代码,如下所示:
#include <stdio.h>
#include <stdlib.h>
typedef struct Term{
int row;
int column;
int value;
};
int main(void){
int size;
struct Term *termA;
printf("Enter how many non-zero value you want to transpose:");
scanf_s("%d",&size);
termA = (struct Term *)malloc((sizeof(struct Term))*(size+1));
termA[0].value = size;
}