结构体:C语言就给了自定义类型的能力,自定义类型中有一种叫“结构体”(把一些单一类型组合在一起)
Void函数和int函数中还需要加入:
Struct stu stu为类型:内存中占领的空间。
Int main ( )
{
Char name[20]
Int age [18] 大括号中的三行为“成员变量”
Char sex [10]
};
注意:int函数中printf为结构体的对象,.表示成员名。
这里是一个正确的自定义函数示例,用于打印 struct stu 类型的结构体信息:
c复制代码
#include <stdio.h> | |
// 定义结构体 | |
struct stu { | |
char name[50]; | |
int age; | |
char sex; | |
long long tele; // 假设电话号码使用long long类型 | |
}; | |
// 自定义打印函数 | |
void printStudent(struct stu* ps) { | |
printf("Name: %s, Age: %d, Sex: %c, Tele: %lld\n", ps->name, ps->age, ps->sex, ps->tele); | |
} | |
int main() { | |
// 创建一个struct stu类型的实例并初始化 | |
struct stu stan = {"Zhangsan", 20, 'n', 15596668862LL}; | |
// 调用自定义的printStudent函数来打印信息 | |
printStudent(&stan); | |
return 0; | |
} |
请注意,在上面的代码中,我使用了 printStudent 而不是 printf 作为函数名,并且这个函数接受一个指向 struct stu 的指针 ps 作为参数。在 main 函数中,我创建了一个 struct stu 类型的实例 stan 并进行了初始化,然后调用了 printStudent 函数并传递了 stan 的地址(使用 &stan)。
如果你看到 void printf(struct stu* ps) 这样的声明,这很可能是一个错误,或者是某个特定上下文中的特殊用法(尽管这是非常不推荐的做法)。在大多数情况下,你应该避免覆盖或重新定义标准库函数。