C语言内存管理
程序员文章站
2022-06-04 11:06:20
...
下面是学习内存管理时写的代码。巩固了结构体的知识。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct{
char name[18];
char phone[12];
char sex[10];
float salary;
unsigned char age;
unsigned int id;
} Employee;
#define EMPLOYEE_NUMBERS 3
void showEmployee(Employee *e){
printf("**********************\n");
printf("id:%d\n", e->id);
printf("name:%s\n", e->name);
printf("age:%d\n", e->age);
printf("salary:***\n");
printf("phone:***\n");
printf("salary:***\n");
printf("sex:***\n");
printf("**********************\n");
}
int main()
{
printf("Employee size = %lu\n", sizeof(Employee));
Employee *employees = malloc(EMPLOYEE_NUMBERS * sizeof(Employee));
for (int i=0; i<EMPLOYEE_NUMBERS; i++) {
employees[i].salary = i*10 + 8000;
strcpy(employees[i].name, "employee");
strcpy(employees[i].phone, "12345678909");
strcpy(employees[i].sex, "man");
employees[i].age = 28 + i % 5;
employees[i].id = 20180000 +i;
}
for (int i=0; i<EMPLOYEE_NUMBERS; i++) {
showEmployee(employees + i);
}
free(employees);
return 0;
}