포인터 그룹 C++

포인터 그룹 C++

2022-06-04 last update

7 minutes reading C++
배열은 배열을 만들 때 제공하는 크기에 따라 원소 목록을 포함합니다.그러나 C++에서 포인터는 다른 변수 주소가 있는 변수입니다.이 바늘들은 하나의 변수의 주소를 가지고 있으며, 그룹 셀의 주소를 저장할 수 있다.수조와 바늘은 모두 매우 밀접한 관계를 가진다. C++에서처럼 수조의 이름은 원소의 주소로 구성되어 있기 때문에 바늘로 여겨진다.따라서 배열은 요소를 포함하고 바늘은 변수의 주소를 포함한다.따라서 포인터 그룹이나 포인터 그룹은 그룹의 요소를 포함하는 그룹을 설명합니다.이 항목에는 C++에서 포인터 배열의 현상이 포함됩니다.

문법


C++에서 포인터 그룹을 선언해야 하는 경우 특정 주소 값을 가리키는 요소를 포함하는 그룹을 만듭니다.
# type *pointer_name [array_size];
문법에 따라 포인터 그룹을 만들려면 포인터 형식을 정의합니다.그런 다음 포인터 그룹의 이름을 선언합니다.구문에서 "*"는 C++에서 포인터의 이름과 함께 사용됩니다.배열 이름을 지정하면 배열에 얼마나 많은 요소가 존재하는지 표시하기 위해 배열의 크기를 표시합니다.
# Int *newp[5];

C 언어에서 포인터 그룹 작업 ++


포인터 값은 그룹에 존재하는 값의 주소를 가리킨다.만약 이 값에 접근하기를 원한다면, 우리는 그것들의 주소를 사용하여 모든 값에 접근할 수 있습니다. 왜냐하면 이것은 특정한 주소만을 가리키기 때문입니다.포인터의 사용은 기능 조작을 더욱 효율적으로 하고 성능 수준에 영향을 미친다.이제 우리는 지침 그룹을 어떻게 성명하는지 이해할 것이다.
우리가 위의 바늘수 그룹의 예시 성명을 사용한 것과 같다.
# Int *newp[5];
위의 줄에서 우리는 다섯 개의 원소를 포함하는 지침 그룹을 성명했다.이 배열은 그 값의 주소를 포함합니다.주소는 메모리에 저장된 요소의 위치입니다.이 메모리 주소는 항상 이 위치에 저장된 요소를 가리킨다.

C에서 포인터 그룹 생성 ++


C에서 포인터 그룹을 만드는 데는 몇 가지 절차가 있습니다++
우선, 우리는 원소를 포함하는 그룹을 만듭니다.만약 우리가 다섯 개의 원소를 가지고 있다고 가정하자.
# Int newarray [5] = {1,2,3,4,5};
그리고 우리는 그룹 요소의 주소를 저장하는 데 사용할 지침 그룹을 만듭니다.
# Int "newp[5];
그룹에 있는 요소의 주소를 가져오려면'&'연산자를 사용하십시오. 이것은 메모리에 있는 값의 주소를 제공합니다.
# Newp[1]= &newp[1];
그리고 순환을 사용하여 요소의 주소를 포인터 그룹에 저장합니다.
현재 우리는 포인터를 사용하여 그룹의 요소에 접근할 수 있다.그것은 같은 값을 제공할 것이다.현재, 우리는 여기에서 몇 가지 기본 예시를 사용하여 당신이 개념을 이해하는 것을 도울 것입니다.

예제 1


이 예에서, 우리는 그룹의 값만 표시했다.하지만 이번에는 내부 숫자로 값을 표시하는 것이 아니라 포인터를 사용합니다.그래서 메인 프로그램의 첫 번째 단계에서, 우리는 크기가 5인 그룹을 동적으로 만듭니다.
# Int*p = new int[5];
그 다음에 우리가 이전에 주제 "C++에서 바늘 그룹을 만듭니다"부분에서 설명한 바와 같이 그룹은 숫자로 초기화됩니다.우리는 for 순환을 사용하여 각 색인에 값을 입력할 것입니다.이것은 바늘을 통해 완성된 것이다.10'은 다음 값과 값을 곱하는 상수이다.이것은 값을 분배하는 지능적인 방법이다.
# 2[p]
현재 p의 값은 1이기 때문에 곱한 후에 점에서 그것은 2가 될 것이다.

예를 들어 순환이 처음 교체될 때'I'의 값은'0'이기 때문에 괄호 안에 1과 더해져 1이 되고 상수와 곱하면 결과는 상수 자체와 같다.두 번째 인덱스의 경우 다음 교체에서 I의 값이 "1"일 때, 1과 더하면 2가 되므로 10을 곱하면 20이 됩니다.그리고 입력할 값이 50이 될 때까지 매번 교체에서 이렇다.바늘을 통해 값을 표시하는 상황에서 우리는 서로 다른 기술을 사용했다.이것은 틀림없이 당신이 투시도를 이해하는 데 도움이 될 것이다.첫 번째 출력 제공 문구는 다음과 같습니다.
# *p
우리가 알고 있는 바와 같이, 이 "*"기호는 주소를 표시합니다. 우리가 인덱스를 사용하지 않고 바늘로 값을 표시할 때, 기본적으로 첫 번째 값을 자동으로 분배합니다. 결과는 10입니다.다음은 다음과 같습니다.
# *p + 1
기본값을 1에 추가하기만 하면 답은 11입니다.다음 값으로 이동합니다.
# *(p + 1)
이제 우리는 주소가 아닌 색인을 논의할 것입니다. "*"는 p를 가지고 있지 않기 때문입니다. 따라서 "0"을 표시합니다. 이 0은 1과 더해져 *(1) 가 됩니다. 그래서 1 위치에서 20이기 때문에 표시됩니다.
마찬가지로 다른 결과가 표시됩니다.마지막으로 바늘은 중지되었다. 왜냐하면 우리는 점차적으로 증가하는 결과를 얻었기 때문이다.
결과 값의 경우 Linux 터미널로 이동하여 g++ 컴파일러를 사용하여 코드를 컴파일하고 실행하십시오.
$ g++ -o array array.c
$./array

예제 2


이 예는 배열과 포인터를 사용하여 주소를 표시하는 차이와 관련이 있습니다.이를 위해, 메인 프로그램에서, 우리는 부동점 데이터 형식을 가진 그룹을 성명했다.부동 포인터 변수가 선언되었습니다.
# *ptr;
이제 이 바늘의 도움으로 주소를 표시할 수 있습니다.그러나 우선, 우리는 수조로 요소의 주소를 표시합니다.이것은 FOR 순환을 통해 완성된 것이다.이것은 색인 번호를 통해 그룹 내용을 표시하는 간단하고 통용되는 방법이다.
# Ptr = arr;
포인터 기호를 사용하면 우리는 포인터를 통해 주소를 표시할 것이다.마찬가지로 FOR 루프는 포인터를 통해 주소를 표시하는 데 사용됩니다.

g++ 컴파일러를 다시 사용하여 결과를 표시하기 위해 리눅스 터미널에서 코드를 컴파일하고 실행합니다.

코드를 실행할 때, 이 두 방법의 답이 같다는 것을 볼 수 있습니다.수조를 통해서든 지침을 통해서든 같은 결과를 얻을 수 있다.

결론


Ubuntu Linux 운영체제의 C++에서는 주소와 그룹을 통해 데이터를 얻는 방법을 설명하는 지침 그룹을 사용합니다.이 글은 C++의 포인터 그룹에 관한 것입니다.우리는 이미 문법과 지침과 관련된 예들을 상세하게 논술했다.사용자의 선택에 따라 이 예시들은 모든 컴파일러에서 실현될 수 있다.