C 언어
이 튜토리얼에서는 C 프로그래밍에서 배열과 포인터 사이의 관계에 대해 배울 것입니다. 포인터를 사용하여 배열 요소에 액세스하는 방법도 배우게 됩니다.
배열과 포인터의 관계에 대해 배우기 전에 다음 두 가지 항목을 확인하십시오.
배열은 순차적 데이터 블록입니다. 배열 요소의 주소를 출력하는 프로그램을 작성해 봅시다.
#include <stdio.h>
int main() {
int x[4];
int i;
for(i = 0; i < 4; ++i) {
printf("&x[%d] = %p\n", i, &x[i]);
}
printf("Address of array x: %p", x);
return 0;
}
출력
&x[0] = 1450734448 &x[1] = 1450734452 &x[2] = 1450734456 &x[3] = 1450734460 Address of array x: 1450734448
x 배열의 연속된 두 요소 사이에는 4바이트의 차이가 있습니다. . int
의 크기 때문입니다. 4바이트입니다(컴파일러에서).
&x[0]의 주소는 및 x 는 똑같은. 변수 이름 x 때문입니다. 배열의 첫 번째 요소를 가리킵니다.
<그림>
위의 예에서 &x[0]
x와 동일 . 그리고 x[0]
*x
과 동일합니다. .
마찬가지로
&x[1]
x+1
과 동일합니다. 및 x[1]
*(x+1)
와 동일합니다. .&x[2]
x+2
와 동일합니다. 및 x[2]
*(x+2)
와 동일합니다. .&x[i]
x+i
과 동일합니다. 및 x[i]
*(x+i)
와 동일합니다. .
#include <stdio.h>
int main() {
int i, x[6], sum = 0;
printf("Enter 6 numbers: ");
for(i = 0; i < 6; ++i) {
// Equivalent to scanf("%d", &x[i]);
scanf("%d", x+i);
// Equivalent to sum += x[i]
sum += *(x+i);
}
printf("Sum = %d", sum);
return 0;
}
프로그램을 실행하면 다음과 같이 출력됩니다.
Enter 6 numbers: 2 3 4 4 12 4 Sum = 29
여기에서 배열 x를 선언했습니다. 6개의 요소 중. 배열의 요소에 액세스하기 위해 포인터를 사용했습니다.
<시간>대부분의 컨텍스트에서 배열 이름은 포인터로 소멸됩니다. 간단히 말해서 배열 이름은 포인터로 변환됩니다. 이것이 포인터를 사용하여 배열 요소에 액세스할 수 있는 이유입니다. 그러나 포인터와 배열은 같지 않음을 기억해야 합니다. .
배열 이름이 포인터로 붕괴되지 않는 몇 가지 경우가 있습니다. 자세한 내용은 다음을 참조하십시오. 배열 이름이 포인터로 소멸되지 않는 경우는 언제입니까?
<시간>
#include <stdio.h>
int main() {
int x[5] = {1, 2, 3, 4, 5};
int* ptr;
// ptr is assigned the address of the third element
ptr = &x[2];
printf("*ptr = %d \n", *ptr); // 3
printf("*(ptr+1) = %d \n", *(ptr+1)); // 4
printf("*(ptr-1) = %d", *(ptr-1)); // 2
return 0;
}
프로그램을 실행하면 다음과 같이 출력됩니다.
*ptr = 3 *(ptr+1) = 4 *(ptr-1) = 2
이 예에서 &x[2]
, 세 번째 요소의 주소는 ptr에 할당됩니다. 바늘. 따라서 3
*ptr
을 인쇄할 때 표시되었습니다. .
그리고 *(ptr+1)
인쇄 네 번째 요소를 제공합니다. 마찬가지로 *(ptr-1)
인쇄 두 번째 요소를 제공합니다.
C 언어
가공과 가공의 주요 차이점은 무엇입니까? 제작과 가공의 주요 차이점은 본질적으로 다음과 같습니다. 제작:재료를 추가하거나 제거하여 금속, 플라스틱, 직물 또는 기타 원자재 개체를 제작하는 과정입니다. 가공:재료를 절단하고 재료를 제거하여 모양을 만드는 기계를 사용하여 물체를 형성합니다. 제작은 주조, 결합 또는 재료 형성을 통해 발생합니다. 케이싱은 금형 제품을 복제하기 위해 다른 재료로 채우는 금형이 있는 제조 프로세스의 한 유형입니다. 주조에는 모래 주조, 열성형, 사출 성형, 원심 주조 등과 같은 다양한 유형이 있습니
주조 및 단조의 개념 캐스팅의 개념 주조는 액체 금속을 일정한 모양의 주물 구멍에 붓고 냉각 및 응고를 거쳐 최종적으로 부품을 얻는 공정을 말합니다. 단조의 개념 단조 단조 프레스를 사용하여 금속 블랭크에 압력을 가하여 금속을 소성 변형시키고 최종적으로 특정 크기, 형상 및 기계적 특성을 갖는 단조품을 얻는 공정을 말합니다. 단조는 단조와 스탬핑의 두 가지 주요 구성 요소 중 하나입니다. 주조 및 단조의 분류 캐스팅 분류 주조에는 모래 주조와 특수 주조의 두 가지 주요 유형이 있습니다. 샌드캐스팅은 모래를 주물