struct
关键字struct 结构体名 {
字段名: 字段类型,
字段名: 字段类型,
...
}
// 定义结构体
struct Student {
name: String,
age: u8,
}
// 定义结构体的方法
impl Student {
fn new(name: String, age: u8) -> Self {
Self {
name,
age,
}
}
}
let student = Student::new("张三".to_string(), 18);
// 访问结构体的字段
println!("姓名: {}", student.name);
println!("年龄: {}", student.age);
// 定义结构体的方法
impl Student {
fn get_name(&self) -> &str {
&self.name
}
}
// 调用结构体的方法
let name = student.get_name();
println!("姓名: {}", name);
// 定义结构体的方法
impl Student {
fn get_age(&self) -> u8 {
self.age
}
}
// 调用结构体的方法
let age = student.get_age();
println!("年龄: {}", age);
// 定义结构体
struct Student {
name: String,
age: u8,
}
let student = Student {
name: "张三".to_string(),
age: 18,
};
// 访问结构体的字段
println!("姓名: {}", student.name);
println!("年龄: {}", student.age);
#include <stdio.h>
#include <string.h>
struct Student {
int age;
string name;
};
// 定义结构体的方法
void Student_get_name(struct Student *self) {
printf("姓名: %s", self->name);
}
int main() {
struct Student student;
student.age = 18;
strcpy(student.name, "张三");
Student_get_name(&student);
return 0;
}