【发布时间】:2013-11-12 17:14:39
【问题描述】:
好的,首先我将解释我的任务。对于这个任务,我必须使用我没有问题的动态内存分配。我遇到的问题是找出完成任务的正确方法。对于我的作业,我需要创建一个程序,提示用户输入他们有多少学生,然后询问以下信息;学生证、生日和电话号码。我需要使用循环来提示用户输入所有学生信息。我需要创建一个循环来扫描所有学生 ID,并使用他们的生日找到年龄最大的学生(循环必须能够扫描超过 3 个学生)。
这是我的代码,我还没有做太多,因为我不确定从哪里开始。我已经设置了动态内存分配,但我不知道如何处理其余部分。请帮帮我。
谢谢。
#include <stdio.h>
#include <stdlib.h>
int main (void)
{
int * studentData= NULL;
int students;
printf("How many students are you entering records for:\n");
scanf("%d", &students);
studentData=(int*)malloc((sizeof(int)*students));
}
【问题讨论】:
-
你的意思是3个单独的数组,一个用于ID,一个用于DOB,一个用于电话?如果是这样,那么是的,你可以这样做。更好的方法可能是使用结构 (en.wikipedia.org/wiki/Struct_(C_programming_language))。
-
哦,另外,在 C 中,not 强制转换 malloc 的返回值通常是个好主意 - stackoverflow.com/questions/605845/…
标签: c arrays loops dynamic-memory-allocation