C 언어
C에서는 포인터 다른 변수의 메모리 주소를 저장하는 변수이고 const 키워드 일단 초기화되면 값을 변경할 수 없는 변수나 포인터를 정의하는 데 사용됩니다. 포인터를 결합하면 const 사용 키워드를 사용하면 두 가지를 제어할 수 있습니다 -
이번 장에서는 상수 포인터의 세 가지 주요 변형을 살펴보겠습니다.
상수 포인터 포인터 자체가 일정하다는 것을 의미합니다. 메모리 위치를 가리키도록 초기화되면 다른 위치를 가리킬 수 없지만 해당 위치에 저장된 값은 계속 변경될 수 있습니다.
다음은 상수 포인터의 구문입니다. -
data_type *const pointer_name = &variable;
이 구문에서 data_type 포인터가 가리키는 데이터 유형입니다. *const 포인터 자체를 상수로 만듭니다. pointer_name 포인터의 이름이고 &변수입니다. 변수의 메모리 주소를 할당합니다.
이 예에서는 상수 포인터 ptr을 선언합니다. 변수 x의 주소로 초기화합니다. . 그런 다음 x 값을 변경합니다. ptr 사용 그 값을 인쇄합니다.
#include <stdio.h>
int main() {
int x = 10;
int y = 20;
int *const ptr = &x; // constant pointer to int
printf("Value of x: %d\n", *ptr);
*ptr = 15; // can change the value at address
printf("Modified value of x: %d\n", *ptr);
// ptr = &y; // changing pointer address is not allowed
return 0;
}
아래는 출력입니다. 포인터가 x에 고정되어 있음을 보여주는 위 프로그램의 , 그러나 x 값 업데이트될 수 있습니다.
Value of x: 10 Modified value of x: 15
다음은 상수 포인터 ptr를 선언하는 예입니다. 변수 x의 주소로 초기화합니다. . 그런 다음 변수 y의 주소를 가리키도록 시도합니다. . 이렇게 하면 오류 가 발생합니다. 상수 포인터는 일단 초기화되면 다른 메모리 위치를 가리킬 수 없기 때문입니다.
#include <stdio.h>
int main() {
int x = 10;
int y = 20;
int *const ptr = &x; // constant pointer to int
printf("Value of x: %d\n", *ptr);
// Attempting to change the pointer to point to y
ptr = &y; // cannot change the address of a constant pointer
return 0;
}
아래 오류를 볼 수 있습니다. , 이는 상수 포인터의 주소를 변경할 수 없음을 나타냅니다.
error: assignment of read-only variable 'ptr'
상수에 대한 포인터 포인터가 가리키는 값은 변경할 수 없지만 포인터 자체는 다른 메모리 주소(또는 변수)를 가리킬 수 있음을 의미합니다.
다음은 상수에 대한 포인터 구문입니다. -
const data_type *pointer_name = &variable; data_type const *pointer = &variable;
이 구문에서 const data_type 또는 data_type const 포인터가 상수 값 pointer_name을 가리킨다는 의미입니다. 포인터의 이름이고 &변수입니다. 변수의 주소를 할당합니다.
이 예에서는 포인터 ptr를 선언합니다. 상수 값을 가리키고 변수 a의 주소를 할당합니다. . 그런 다음 포인터가 변수 b의 다른 주소를 가리키도록 만듭니다. 그 값을 인쇄합니다.
#include <stdio.h>
int main() {
int a = 5;
int b = 30;
const int *ptr = &a; // pointer to constant int
printf("Value of a: %d\n", *ptr);
// *ptr = 10; //we cannot modify value through pointer
ptr = &b; // canging pointer address
printf("Now pointing to b: %d\n", *ptr);
return 0;
}
다음은 출력입니다. 위 프로그램의 다른 변수를 가리키는 동일한 포인터를 보여줍니다.
Value of a: 5 Now pointing to b: 30
다음은 상수 ptr에 대한 포인터를 선언하는 예입니다. 변수a의 주소로 초기화합니다. . 그런 다음 a의 값을 변경하려고 합니다. 포인터를 통해. 이렇게 하면 오류 가 발생합니다. 상수에 대한 포인터는 자신이 가리키는 값을 수정할 수 없기 때문입니다.
#include <stdio.h>
int main() {
int a = 5;
const int *ptr = &a; // pointer to constant int
printf("Value of a: %d\n", *ptr);
// we cnnot modify value through pointer to constant
*ptr = 10;
return 0;
}
아래에서 출력을 볼 수 있습니다. , 오류가 표시됨 이는 상수에 대한 포인터를 통해 값을 수정할 수 없음을 나타냅니다.
error: assignment of read-only location '*ptr'
상수에 대한 상수 포인터 메모리 주소를 변경할 수 없는 포인터이며 해당 메모리 주소에 저장된 값도 변경할 수 없습니다. 두 작업 모두 제한되어 있으므로 값만 읽을 수 있고 다른 것은 읽을 수 없습니다.
다음은 상수에 대한 상수 포인터의 구문입니다. -
const data_type *const pointer_name = &variable;
이 구문에서 −
이 예에서는 상수 ptr에 대한 상수 포인터를 선언합니다. 변수 a의 메모리 주소를 할당합니다. . 그런 다음 a 값을 인쇄합니다. 포인터를 사용합니다.
#include <stdio.h>
int main() {
int a = 10;
const int *const ptr = &a; // constant pointer to constant
printf("Value of a: %d\n", *ptr);
// *ptr = 15; // we cannot modify value
// ptr = &b; // we annot change pointer location
return 0;
}
다음은 출력입니다. 위 프로그램 중 -
Value of a: 10
이 예에서는 상수ptr에 대한 상수 포인터를 선언합니다. 변수 a로 초기화합니다. . 그런 다음 포인터를 통해 값을 수정하고 포인터가 다른 변수를 가리키도록 시도합니다. 두 작업 모두 허용되지 않으며 컴파일러 오류가 발생합니다. .
#include <stdio.h>
int main() {
int a = 10;
int b = 20;
const int *const ptr = &a; // constant pointer to constant
printf("Value of a: %d\n", *ptr);
// *ptr = 15; // we cnnot modify value
// ptr = &b; // we cannot change pointer address
return 0;
}
아래에서 출력을 볼 수 있습니다. 오류 표시 -
Value of a: 10
다음 표는 차이점을 보여줍니다. 상수 포인터, 상수에 대한 포인터, 상수에 대한 상수 포인터.
int *const p = &x;상수에 대한 포인터다른 주소를 가리킬 수 있지만 지정된 위치의 값을 수정할 수 없는 포인터입니다.예아니요
const int *p = &x;상수에 대한 상수 포인터주소가 고정되어 있고 해당 주소의 값을 수정할 수 없는 포인터입니다.NoNo
const int *const p = &x;
이 장에서는 상수 포인터와 C의 상수에 대한 포인터를 다루었습니다. 상수 포인터 주소를 수정하지만 값 변경을 허용합니다. 상수에 대한 포인터 주소 변경은 허용하지만 값은 변경할 수 없으며 상수에 대한 상수 포인터 둘 다 제한하세요.
C 언어
상업용 하드웨어 디자인과 취미 전자 제품의 차이는 지난 몇 년 동안 흐려졌습니다. 오픈 소스 하드웨어, 매우 저렴하고 유능한 CAD 도구의 최신 슬레이트, 온라인에서 사용할 수 있는 방대한 지식 기반 덕분에 대기업 연구실에서 할 수 있는 대부분을 집에 있는 여유 공간에서도 할 수 있습니다. 이것은 하드웨어 스타트업의 재출현을 촉진했습니다. 또한 아직 해결해야 할 몇 가지 문제가 있음을 알려줍니다. 낮에는 제조 회사에서 일합니다. 주말에는 작은 전자 기기를 디자인하고 제작합니다. 내 디자인 프로젝트는 일반적으로 마이크로컨트롤러 기반
Heidenhain 프로그래밍 스테이션 소프트웨어라고 하는 Heidenhain 프로그래밍 소프트웨어는 CNC 프로그래머/기계 기술자가 PC에 다운로드하여 설치할 수 있고 CNC 프로그램을 만들 수 있으며 이 소프트웨어로 기타 작업을 수행할 수 있는 소프트웨어입니다. 하이덴하인 CNC Heidenhain CNC 프로그래밍 스테이션 소프트웨어 무료 다운로드 CNC 프로그래머/CNC 기계 기술자는 Heidenhain 웹사이트에서 Heidenhain 소프트웨어를 무료로 다운로드할 수 있습니다. http://www.heidenhain