C Structuur en functie
C Structuur en functie
In deze zelfstudie leert u structvariabelen als argumenten door te geven aan een functie. Je leert struct uit een functie terug te geven aan de hand van voorbeelden.
Net als bij variabelen van ingebouwde typen, kunt u ook structuurvariabelen doorgeven aan een functie.
Structs doorgeven aan functies
We raden je aan deze tutorials te leren voordat je leert hoe je structs doorgeeft aan functies.
- C-structuren
- C-functies
- Door gebruiker gedefinieerde functie
Hier leest u hoe u structuren aan een functie kunt doorgeven
#include <stdio.h>
struct student {
char name[50];
int age;
};
// function prototype
void display(struct student s);
int main() {
struct student s1;
printf("Enter name: ");
// read string input from the user until \n is entered
// \n is discarded
scanf("%[^\n]%*c", s1.name);
printf("Enter age: ");
scanf("%d", &s1.age);
display(s1); // passing struct as an argument
return 0;
}
void display(struct student s) {
printf("\nDisplaying information\n");
printf("Name: %s", s.name);
printf("\nAge: %d", s.age);
}
Uitvoer
Enter name: Bond Enter age: 13 Displaying information Name: Bond Age: 13
Hier een structvariabele s1 van het type struct student
is gecreëerd. De variabele wordt doorgegeven aan de display()
functie met behulp van display(s1);
verklaring.
Return struct uit een functie
Hier ziet u hoe u de structuur van een functie kunt retourneren:
#include <stdio.h>
struct student
{
char name[50];
int age;
};
// function prototype
struct student getInformation();
int main()
{
struct student s;
s = getInformation();
printf("\nDisplaying information\n");
printf("Name: %s", s.name);
printf("\nRoll: %d", s.age);
return 0;
}
struct student getInformation()
{
struct student s1;
printf("Enter name: ");
scanf ("%[^\n]%*c", s1.name);
printf("Enter age: ");
scanf("%d", &s1.age);
return s1;
}
Hier, de getInformation()
functie wordt aangeroepen met s = getInformation();
uitspraak. De functie retourneert een structuur van het type struct student
. De geretourneerde structuur wordt weergegeven vanaf de main()
functie.
Merk op dat het retourtype getInformation()
is ook struct student
.
Struct doorgeven via referentie
Je kunt ook structs doorgeven door te verwijzen (op dezelfde manier als variabelen van het ingebouwde type door te verwijzen). We raden je aan om de handleiding met referenties te lezen voordat je verder gaat.
Tijdens pass by reference worden de geheugenadressen van struct-variabelen aan de functie doorgegeven.
#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("For first number,\n");
printf("Enter real part: ");
scanf("%f", &c1.real);
printf("Enter imaginary part: ");
scanf("%f", &c1.imag);
printf("For second number, \n");
printf("Enter real part: ");
scanf("%f", &c2.real);
printf("Enter imaginary part: ");
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;
}
Uitvoer
For first number, Enter real part: 1.1 Enter imaginary part: -2.4 For second number, Enter real part: 3.4 Enter imaginary part: -3.2 result.real = 4.5 result.imag = -5.6
In het bovenstaande programma zijn drie structuurvariabelen c1 , c2 en het adres van resultaat wordt doorgegeven aan de addNumbers()
functie. Hier, resultaat wordt doorgegeven door middel van referentie.
Wanneer het resultaat variabele binnen de addNumbers()
is gewijzigd, het resultaat variabele binnen de main()
functie wordt ook dienovereenkomstig gewijzigd.
C Taal
- C#-structuur
- C++ vriend Functie en vriend Klassen
- C-structuur
- C-structuren en aanwijzers
- C - Programmastructuur
- C - Gegevenstypen
- C - Constanten en Letters
- C - Functies
- C++ overbelasting (operator en functie)
- Elektrische transformatoren:functie, structuur en meer
- 15 verschillende onderdelen van draaibankmachine en hun functie