How to pass struct to function by address in C

1 Answer

0 votes
#include <stdio.h>
#include <string.h>

typedef struct user {
    char name[32];
    int age;
} user;
 
void print(user u) {
    printf("%s %d\n", u.name, u.age);
}
 
void set(user *u) {
    u->age = 102;
}
 
int main()
{
    user u = { "Jar Jar Binks", 56 };
     
    print(u);
 
    set(&u); // by address
 
    print(u);
}


 
/*
run:
 
Jar Jar Binks 56
Jar Jar Binks 102
 
*/ 
   
   
   
/*
run:
   
abde
abcef
   
*/

 



answered Jun 13, 2024 by avibootz
edited Dec 5, 2024 by avibootz

Related questions

1 answer 199 views
1 answer 100 views
1 answer 135 views
1 answer 152 views
1 answer 117 views
1 answer 176 views
...