#include
#include
struct STU{
int *score;
};
int main(){
struct STU *stu;
stu->score=(int *)malloc(10*sizeof(int));
for(int i=0;i<3;i++){
scanf("%d",stu->score+i);
}
for(int i=0;i<3;i++){
printf("%d",*(stu->score));
(stu->score)++;
}
return 0;
}
//用->如何进行输入,输出;
//输入1 2 3,输出1 2 3
//我知道++会使结构体报废,因为这里我只用到一次这个结构体
#include<stdio.h>
#include<stdlib.h>
struct STU{
int *score;
};
int main(){
struct STU stu;
stu.score=(int *)malloc(10*sizeof(int));
for(int i=0;i<3;i++){
scanf("%d",stu.score+i);
}
for(int i=0;i<3;i++){
printf("%d ",stu.score[i]);
}
return 0;
}
STU *stu = new STU;
结构体指针要new之后才能用,或者让它指向已经存在的一个对象,总而言之要指向一块已经分配的空间
这样改,不要移动结构体里面那个指针的指向就行。
#include <stdio.h>
#include <stdlib.h>
struct STU
{
int *score;
};
int main()
{
struct STU *stu;
stu->score = (int *)malloc(10 * sizeof(int));
for (int i = 0; i < 3; i++)
{
scanf("%d", stu->score + i);
}
for (int i = 0; i < 3; i++)
{
printf("%d ", *(stu->score + i));
//(stu->score)++;
}
return 0;
}