0
点赞
收藏
分享

微信扫一扫

政安晨:【深度学习处理实践】(九)—— Transformer架构

Gaaidou 03-17 08:30 阅读 5

C 结构体和函数
与内置类型的变量类似,您也可以将结构变量传递给函数。
将结构传递给函数
这是将结构传递给函数的方法

#include <stdio.h>
struct student {
char name[50];
int age;
};
//函数原型
void display(struct student s);
int main() {
struct student s1;
printf(“输入姓名: “);
//读取用户输入的字符串,直到输入\ n
// \ n被丢弃
scanf(”%[^\n]%*c”, s1.name);
printf(“输入年龄: “);
scanf(”%d”, &s1.age);
display(s1); //将struct作为参数传递
return 0;
}
void display(struct student s) {
printf(“\n显示信息\n”);
printf(“姓名: %s”, s.name);
printf(“\n年龄: %d”, s.age);
}
输出结果
输入姓名: Bond
输入年龄: 13
显示信息
姓名: Bond
年龄: 13
在这里,创建了struct student类型的struct变量s1。 使用display(s1)将变量传递给display()函数声明。
从函数返回结构
这是从函数返回结构的方法:

#include <stdio.h>
struct student
{
char name[50];
int age;
};
//函数原型
struct student getInformation();
int main()
{
struct student s;
s = getInformation();
printf(“\n显示信息\n”);
printf(“Name: %s”, s.name);
printf(“\nRoll: %d”, s.age);
return 0;
}
struct student getInformation()
{
struct student s1;
printf(“输入姓名: “);
scanf (”%[^\n]%*c”, s1.name);

printf(“输入年龄: “);
scanf(”%d”, &s1.age);

return s1;
}
在这里,使用s = getInformation()来调用getInformation()函数声明。 该函数返回struct学生类型的结构。 在main()函数中显示返回的结构。
注意,getInformation()的返回类型也是struct student。

#include <stdio.h>
typedef struct Complex
{
float real;
float imag;
} complex;
void addNumbers(complex c1, complex c2, complex *result);
int main()
{
complex c1, c2, result;
printf(“输入第一个数:\n”);
printf(“输入实部: “);
scanf(”%f”, &c1.real);
printf(“输入虚部: “);
scanf(”%f”, &c1.imag);

printf("输入第二个数: \n");
printf("输入实部: ");
scanf("%f", &c2.real);
printf("输入虚部: ");
scanf("%f", &c2.imag);

addNumbers(c1, c2, &result);
printf("\nresult.real = %.1f\n", result.real);
printf("result.imag = %.1f", result.imag);

return 0;

}
void addNumbers(complex c1, complex c2, complex *result)
{
result->real = c1.real + c2.real;
result->imag = c1.imag + c2.imag;
}
输出结果

输入第一个数:
输入实部: 5.8
输入虚部: -3.4
输入第二个数:
输入实部: 9.9
输入虚部: -4.5

result.real = 15.7
result.imag = -7.9
在上面的程序中,三个结构变量c1,c2和结果的地址传递给addNumbers()函数。 在这里,结果通过引用传递。
当addNumbers()内部的结果变量被更改时,main()函数内部的结果变量也被相应地更改。

举报

相关推荐

PyTorch深度学习实践(九)

0 条评论