- ポインタを使用して構造体のメンバーに直接データを代入する方法:
#include <stdio.h>
typedef struct {
int id;
char name[20];
float salary;
} Employee;
int main() {
Employee emp;
Employee *ptr = &emp;
ptr->id = 1;
strcpy(ptr->name, "John");
ptr->salary = 5000.0;
printf("Employee ID: %d\n", emp.id);
printf("Employee Name: %s\n", emp.name);
printf("Employee Salary: %.2f\n", emp.salary);
return 0;
}
- ポインタを使用して構造体のメンバーにデータを割り当てる関数を作成する方法:
#include <stdio.h>
typedef struct {
int id;
char name[20];
float salary;
} Employee;
void assignData(Employee *emp, int id, const char *name, float salary) {
emp->id = id;
strcpy(emp->name, name);
emp->salary = salary;
}
int main() {
Employee emp;
Employee *ptr = &emp;
assignData(ptr, 1, "John", 5000.0);
printf("Employee ID: %d\n", emp.id);
printf("Employee Name: %s\n", emp.name);
printf("Employee Salary: %.2f\n", emp.salary);
return 0;
}
- ポインタを使用して構造体のメモリを動的に割り当て、データを代入する方法:
#include <stdio.h>
#include <stdlib.h>
typedef struct {
int id;
char name[20];
float salary;
} Employee;
int main() {
Employee *emp = (Employee *)malloc(sizeof(Employee));
emp->id = 1;
strcpy(emp->name, "John");
emp->salary = 5000.0;
printf("Employee ID: %d\n", emp->id);
printf("Employee Name: %s\n", emp->name);
printf("Employee Salary: %.2f\n", emp->salary);
free(emp);
return 0;
}
これらの方法を使用すると、ポインタを介して構造体型にデータを割り当てることができます。適切な方法は、使用する環境や要件によって異なる場合があります。