3个回答
展开全部
返回的指针是 结构指针。
#include<stdio.h>
#include<stdlib.h>
struct SS { int x,y; float v; }; // 定义结构
int main(){
struct SS *s; // 声明 *s 是结构指针
int i,n=5;
s = (struct SS*) malloc(sizeof(struct SS) * n); // 动态 结构 数组,含 n 个元素
for (i=0;i<n;i++){ // 给 n 个 结构 赋值
s[i].x = i;
s[i].y = i * i;
s[i].v = s[i].x + s[i].y;
}
printf("i=4: x=%d y=%d v=%f\n",s[4].x,s[4].y,s[4].v); // 打印s[4]
return 0;
}
C++ 也可用此法分配单元,也可以用 new 申请单元
#include<stdio.h>
#include<stdlib.h>
struct SS { int x,y; float v; }; // 定义结构
int main(){
struct SS *s; // 声明 *s 是结构指针
int i,n=5;
s = (struct SS*) malloc(sizeof(struct SS) * n); // 动态 结构 数组,含 n 个元素
for (i=0;i<n;i++){ // 给 n 个 结构 赋值
s[i].x = i;
s[i].y = i * i;
s[i].v = s[i].x + s[i].y;
}
printf("i=4: x=%d y=%d v=%f\n",s[4].x,s[4].y,s[4].v); // 打印s[4]
return 0;
}
C++ 也可用此法分配单元,也可以用 new 申请单元
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询