在C语言中,结构体可以使用关键字"private"来声明私有成员,这样在结构体之外就不能直接访问和修改这些成员。同时可以使用函数来访问和修改这些私有成员,从而实现数据的封装。以下是一个简单的示例代码:
#include<stdio.h>
struct person {
char name[20];
int age;
private:
char password[20];
};
void set_password(struct person *p, char *password) {
strcpy(p->password, password);
}
int main() {
struct person p;
strcpy(p.name, "Tom");
p.age = 20;
set_password(&p, "123456");
//printf("%s",p.password); //不能直接访问p的password
return 0;
}
在上面的代码中,我们声明了一个结构体person,其中的password成员被声明为私有,不能在结构体之外直接访问。同时,我们定义了一个函数set_password来修改password成员的值。在主函数中,我们使用set_password函数来修改password的值,但不能直接访问password成员。这样就达到了数据封装的效果。