반응형
Notice
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 빅데이터
- 데이터과학
- 딥러닝
- 소프트웨어
- 네트워크보안
- 버전관리
- 데이터베이스
- 자바스크립트
- 클라우드컴퓨팅
- 인공지능
- 컴퓨터비전
- I'm Sorry
- 네트워크
- 데이터구조
- Yes
- 프로그래밍
- 파이썬
- 알고리즘
- 프로그래밍언어
- 자료구조
- 머신러닝
- 코딩
- 컴퓨터과학
- 웹개발
- 보안
- 데이터분석
- 2
- 소프트웨어공학
- 사이버보안
- 컴퓨터공학
Archives
- Today
- Total
스택큐힙리스트
C/C++에서 '-->' 연산자란 무엇인가요? 본문
반응형
C++/STL의 숨겨진 기능과 어두운 구석을(를) 읽은 후에, 나는 Visual Studio 2008과 G++ 4.4에서 다음 스니펫이 컴파일되고 실행되는 것에 완전히 놀랐습니다. 이것이 GCC에서도 작동하므로 이것은 유효한 C 코드라고 가정할 것입니다.
이곳에 코드가 있습니다:
#include <stdio.h>
int main()
{
int x = 10;
while (x--> 0) // x가 0이 될 때까지
{
printf(%d , x);
}
}
출력:
9 8 7 6 5 4 3 2 1 0
이 태그는 한국어로 다음과 같이 번역될 수 있습니다:
9 8 7 6 5 4 3 2 1 0
이것은 표준에서 어디에 정의되어 있으며, 어디에서 온 것인가요?
답변 1
-->
은 연산자가 아닙니다. 실제로는 두 개의 별개의 연산자, --
와 >
입니다.
조건 안의 코드는 x
를 감소시키고, x
의 원래(감소되지 않은) 값을 반환하며, 그런 다음 >
연산자를 사용하여 원래 값과 0
을 비교합니다.
더 잘 이해하기 위해서, 문장은 아래와 같이 작성될 수 있습니다:
while( (x--) > 0 )
```korean
x--가 0보다 큰 경우에만 while문을 실행합니다.
답변 2
'-->' 연산자란 C/C++에서 사용되는 연산자 중 하나로, 포인터 변수를 통해 구조체 또는 클래스의 멤버에 접근할 때 사용됩니다. 이 연산자는 멤버 선택 연산자(.)와 포인터 연산자(->)의 결합으로 이루어져 있습니다. 이 두 연산자를 함께 사용하여 포인터 변수가 가리키는 구조체 또는 클래스의 멤버에 접근할 수 있으며, 이는 짧은 코드로 효율적인 프로그래밍을 가능하게 합니다.포인터 변수는 다른 변수의 메모리 주소를 가리키는 변수입니다. 구조체나 클래스는 서로 다른 데이터 타입의 멤버들을 하나의 단위로 묶어서 사용하기 위해 정의되는데, 이러한 멤버들은 '.' 연산자를 통해 접근할 수 있습니다. 그러나 포인터 변수를 사용하여 구조체나 클래스에 접근할 때에는 '.' 연산자를 사용할 수 없습니다.
이때 '-->' 연산자를 사용하여 포인터 변수가 가리키는 구조체나 클래스의 멤버에 접근할 수 있습니다. '-->' 연산자는 포인터 변수의 값이 가리키는 주소에 있는 멤버를 선택할 수 있도록 해줍니다. 이 연산자는 '.' 연산자와 유사하지만, 포인터 변수에 사용되는 차이가 있기 때문에 양쪽의 기능을 결합한 형태로 사용됩니다.
예를 들어, 다음과 같은 구조체가 있다고 가정해봅시다.
struct Person {
int age;
char name[20];
};
이 구조체는 나이와 이름을 포함하고 있습니다. 이제 포인터 변수를 선언하고 이 구조체를 가리키게 하고자 한다면, 다음과 같이 코드를 작성할 수 있습니다.
struct Person myPerson;
struct Person *ptrPerson;
ptrPerson = &myPerson;
이제 포인터 변수 ptrPerson을 사용하여 구조체의 멤버인 나이와 이름에 접근하고 싶다면, '-->' 연산자를 사용할 수 있습니다. 예를 들어, 나이를 출력하고자 한다면 다음과 같이 코드를 작성할 수 있습니다.
printf(나이: %d, ptrPerson->age);
이렇게 '-->' 연산자를 사용하면, 포인터 변수가 가리키는 구조체나 클래스의 멤버에 접근할 수 있습니다. 이를 통해 C/C++ 프로그래밍에서 효과적으로 구조체나 클래스를 다루고 원하는 값을 가져올 수 있습니다. '-->' 연산자는 타이핑하는 양을 줄여주고 가독성을 높여주는 장점을 가지고 있으며, 주로 포인터 변수를 사용하는 프로그램에서 활용됩니다.
이처럼 '-->' 연산자는 포인터 변수를 통해 구조체나 클래스의 멤버에 접근하기 위한 연산자로, C/C++ 프로그래밍에서 널리 사용되고 있습니다. 잘 활용하면 코드 작성의 효율성과 가독성을 높일 수 있으므로, 프로그래머들은 '-->' 연산자의 의미와 사용법을 잘 숙지하고 활용해야 합니다.
반응형
Comments