C 언어
포인터 C에서 는 다른 변수의 주소를 저장하는 변수입니다. 포인터는 다른 포인터 함수를 참조하는 데 사용할 수도 있습니다. 포인터는 증가/감소할 수 있습니다. 즉, 다음/이전 메모리 위치를 가리킵니다. 포인터의 목적은 메모리 공간을 절약하고 실행 시간을 단축하는 것입니다.
int 유형의 변수 v를 선언하면 v는 실제로 값을 저장합니다.
v는 이제 0과 같습니다.
그러나 값과 별도로 각 변수에는 주소도 있습니다(또는 간단히 말해서 메모리에 있는 위치). 주소는 변수 이름 앞에 앰퍼샌드(&)를 넣어 검색할 수 있습니다.
변수의 주소를 화면에 출력하면 완전히 난수처럼 보일 것입니다(게다가 실행할 때마다 다를 수 있음).
C 예제에서 포인터를 사용하여 실제로 시도해 보겠습니다.
이 프로그램의 출력은 -480613588입니다.
이제 포인터가 무엇입니까? 값을 저장하는 대신 포인터는 변수의 주소를 저장합니다.
포인터 변수
정수 *y =&v;
VARIABLEPOINTERA 값 named에 저장됨 스토리지/메모리 주소A 변수 가리키는 다른의 저장/메모리 주소 변수변수와 마찬가지로 C 프로그래밍의 포인터는 프로그램에서 사용되기 전에 선언되어야 합니다. 포인터는 C의 명명 규칙을 준수하는 한 원하는 이름을 지정할 수 있습니다. 포인터 선언의 형식은 다음과 같습니다.
data_type * pointer_variable_name;
여기,
이 C 포인터 자습서에서 몇 가지 유효한 포인터 선언을 살펴보겠습니다.
int *ptr_thing; /* pointer to an integer */ int *ptr1,thing;/* ptr1 is a pointer to type integer and thing is an integer variable */ double *ptr2; /* pointer to a double */ float *ptr3; /* pointer to a float */ char *ch1 ; /* pointer to a character */ float *ptr, variable;/*ptr is a pointer to type float and variable is an ordinary float variable */
포인터를 선언한 후에는 변수 주소를 사용하여 표준 변수처럼 초기화합니다. C 프로그래밍의 포인터가 초기화되지 않고 프로그램에서 사용되면 결과를 예측할 수 없고 잠재적으로 재앙을 초래할 수 있습니다.
변수의 주소를 얻으려면 주소가 필요한 변수 이름 앞에 앰퍼샌드(&) 연산자를 사용합니다. 포인터 초기화는 다음 구문으로 수행됩니다.
포인터 구문
pointer = &variable;
포인터 일러스트레이션을 위한 간단한 프로그램은 다음과 같습니다.
#include <stdio.h> int main() { int a=10; //variable declaration int *p; //pointer variable declaration p=&a; //store address of variable a in pointer p printf("Address stored in a variable p is:%x\n",p); //accessing the address printf("Value stored in a variable p is:%d\n",*p); //accessing the value return 0; }
출력:
Address stored in a variable p is:60ff08 Value stored in a variable p is:10연산자 의미 *2가지 용도
다음은 다양한 C의 포인터 유형입니다. :
포인터 선언 중에 null 값을 할당하여 null 포인터를 만들 수 있습니다. 이 방법은 포인터에 할당된 주소가 없을 때 유용합니다. 널 포인터는 항상 값 0을 포함합니다.
다음 프로그램은 널 포인터의 사용을 보여줍니다.
#include <stdio.h> int main() { int *p = NULL; //null pointer printf(“The value inside variable p is:\n%x”,p); return 0; }
출력:
The value inside variable p is: 0
C 프로그래밍에서 void 포인터는 일반 포인터라고도 합니다. 표준 데이터 유형이 없습니다. void 포인터는 void 키워드를 사용하여 생성됩니다. 모든 변수의 주소를 저장하는 데 사용할 수 있습니다.
다음 프로그램은 void 포인터의 사용을 보여줍니다.
#include <stdio.h> int main() { void *p = NULL; //void pointer printf("The size of pointer is:%d\n",sizeof(p)); return 0; }
출력:
The size of pointer is:4
포인터가 초기화되지 않는 경우 포인터를 와일드 포인터라고 합니다. 이러한 유형의 C 포인터는 프로그램에 문제를 일으킬 수 있는 알 수 없는 메모리 위치를 가리킬 수 있고 프로그램 충돌로 이어질 수 있기 때문에 효율적이지 않습니다. 와일드 포인터로 작업할 때는 항상 주의해야 합니다.
다음 프로그램은 와일드 포인터의 사용을 보여줍니다.
#include <stdio.h> int main() { int *p; //wild pointer printf("\n%d",*p); return 0; }
출력:
timeout: the monitored command dumped core sh: line 1: 95298 Segmentation fault timeout 10s main
'c'의 다른 유형의 포인터는 다음과 같습니다.
C에서는 가변 내용에 접근하고 조작하는 두 가지 동등한 방법이 있습니다.
아래 프로그램의 도움으로 이것을 이해합시다
#include <stdio.h> /* Declare and initialize an int variable */ int var = 1; /* Declare a pointer to int */ int *ptr; int main( void ) { /* Initialize ptr to point to var */ ptr = &var; /* Access var directly and indirectly */ printf("\nDirect access, var = %d", var); printf("\nIndirect access, var = %d", *ptr); /* Display the address of var two ways */ printf("\n\nThe address of var = %d", &var); printf("\nThe address of var = %d\n", ptr); /*change the content of var through the pointer*/ *ptr=48; printf("\nIndirect access, var = %d", *ptr); return 0;}
오류 없이 프로그램을 컴파일한 후 결과는 다음과 같습니다.
Direct access, var = 1 Indirect access, var = 1 The address of var = 4202496 The address of var = 4202496 Indirect access, var = 48
포인터 작업은 다음 그림에 요약되어 있습니다.
C 언어
용접이란 무엇입니까? 용접은 열, 압력 또는 둘 모두를 사용하여 두 개 이상의 부품을 함께 융합하여 부품이 냉각될 때 조인트를 형성하는 제조 공정입니다. 용접은 일반적으로 금속 및 열가소성 수지에 사용되지만 목재에도 사용할 수 있습니다. 완성된 용접 이음은 용접이라고 할 수 있습니다. 일부 재료에는 특수 공정과 기술이 필요합니다. 일부는 용접 불가로 간주됩니다. 이 용어는 일반적으로 사전에서 찾을 수 없지만 공학에서 유용하고 설명적입니다. 접합할 부품을 모재라고 합니다. 조인트를 형성하기 위해 추가되는 재료를 필러 또는 소모품
유압 모터는 가압 유체를 사용하여 물체를 회전시키는 엔진 유형입니다. 단일 피스톤, 이중 피스톤, 로터리 피스톤 및 V형의 네 가지 유형이 있습니다. 각각의 장점과 단점이 있으므로 응용 프로그램에 적합한 유형을 아는 것이 중요합니다. 단일 피스톤 유압 모터가 가장 일반적인 유형입니다. 그들은 단일 피스톤을 사용하여 유체를 움직이며 상대적으로 작동하기 쉽습니다. 전력이 낮고 많은 움직임이 필요하지 않은 애플리케이션에 가장 적합합니다. 이중 피스톤 유압 모터는 두 개의 피스톤을 사용하여 더 많은 힘을 생성합니다. 그들은 더 많은 힘