C 언어
이 자습서에서는 구조체 변수를 함수에 인수로 전달하는 방법을 배웁니다. 예제를 통해 함수에서 구조체를 반환하는 방법을 배우게 됩니다.
내장 유형의 변수와 유사하게 구조 변수를 함수에 전달할 수도 있습니다.
<시간>구조체를 함수에 전달하는 방법을 배우기 전에 이 자습서를 배우는 것이 좋습니다.
함수에 구조를 전달하는 방법은 다음과 같습니다.
#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);
}
출력
Enter name: Bond Enter age: 13 Displaying information Name: Bond Age: 13
여기서 구조체 변수 s1 struct student
유형 생성됩니다. 변수는 display()
로 전달됩니다. display(s1);
를 사용하는 함수 성명서.
함수에서 구조를 반환하는 방법은 다음과 같습니다.
#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;
}
여기에서 getInformation()
함수는 s = getInformation();
을 사용하여 호출됩니다. 성명. 이 함수는 struct student
유형의 구조를 반환합니다. . 반환된 구조는 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("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;
}
출력
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
위 프로그램에서 세 개의 구조 변수 c1 , c2 및 결과의 주소 addNumbers()
로 전달됩니다. 기능. 여기 결과 참조로 전달됩니다.
결과일 때 addNumbers()
내의 변수 변경되면 결과 main()
내의 변수 그에 따라 기능도 변경됩니다.
C 언어
격자 구조는 연결될 때 3차원 모양을 형성하는 반복 패턴입니다. 적층 제조 맥락에서 규정 준수 격자 구조는 디자이너가 3D 프린팅 기술을 활용하여 이전에는 만들 수 없는 모양과 부품을 만들 때 흥미로운 제품 디자인 가능성을 열어줍니다. 엘라스토머로 만들 때 3D 인쇄된 격자 구조는 변형 가능성이 높고 기계적 특성으로 인해 광범위한 응답에 대해 조정될 수 있으며 다양한 산업 분야에서 사용됩니다. 그러나 규정을 준수하는 3D 격자 구조를 설계하려면 올바른 소프트웨어 도구는 말할 것도 없고 제조 전문 지식이 필요합니다. Fast Rad
목표 이 단원을 마치면 다음을 수행할 수 있어야 합니다. 프로그램 목록 지침을 식별합니다. 프로그램 형식 이해 편지 주소 명령 코드 설명 특수 문자 코드 정의를 설명합니다. G &M 코드를 이해합니다. CNC 프로그램은 작성된 순서대로 수행할 명령을 나열합니다. 그들은 책처럼 왼쪽에서 오른쪽으로, 위에서 아래로 읽습니다. CNC 프로그램의 각 문장은 aBlock이라는 별도의 줄에 작성됩니다. 블록은 안전성, 예측 가능성 및 가독성을 높이는 특정 순서로 배열되므로 표준 프로그램 구조를 준수하는 것이 중요합니다. 블록은 다음