blob: 989c3524a85440a2b5795930bdeb8637b0cba960 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
/* Passing structs by value */
#include <stdio.h>
struct S { int x; double d; char c; };
struct S f(struct S s, int scale)
{
struct S r;
r.x = s.x + scale;
r.d = s.d * scale;
r.c = 'f';
return r;
}
int main()
{
struct S a = { 123, 2.718, 'a' };
struct S b = f(a, 2);
printf("a = { %d, %f, '%c' }\n", a.x, a.d, a.c);
printf("b = { %d, %f, '%c' }\n", b.x, b.d, b.c);
return 0;
}
|