목록분류 전체보기 (5)
코드 여행자
기존의 C++ 에서 for loop 를 사용할 때는 아래와 같이 초기값, 조건식, 변화값을 주어야 했습니다. 코드 std::vectorvalues = {1,3,5,7,9}; for(int i=0; i < values.size(); i++) { cout
배열과 포인터 아래와 같이 배열에 정수값들이 저장되어 있습니다.포인터 변수의 자료형과 배열의 자료형이 동일하면 포인터 변수는 배열의 주소를 가리킬 수 있습니다. 코드 1 #include int main() { int arr[] = {1,3,5}; int *p; printf("&arr[0] = %p\n",&arr[0]); // 1) printf("&arr[1] = %p\n",&arr[1]); // 2) printf("&arr[2] = %p\n",&arr[2]); // 3) printf("arr = %p\n",arr); // 4) 중요! printf("&arr = %p\n",&arr); // 5) p = arr; // 6) p = &arr, p = &arr[0] 모두 동일 printf("&p = %p\n",..
포인터 변수 사용 이유 이전 글에서 * 기호를 사용하여 포인터 변수가 가지고 주소에 있는 값을 역참조할 수 있다는것을 알았습니다.중요한 것은 그 주소에 있는 값을 변경할 수 있다는 것입니다. 코드 1 #include int main() { int a = 100; // 1) int *temp = &a; // 2) printf("address of a : %p\n",&a); printf("value of temp : %p\n",temp); // 3) printf("dereference of temp : %d\n",*temp); // 4) *temp = 1000; // 5) 중요 printf("value of a : %d\n",a); // 6) printf("dereference of temp : %d",*t..
오늘은 C++11 부터 아주 유용하게 사용 되고 있는 auto keyword 에 대해 정리해 보도록 하겠습니다. C++ 에서는 현재 int, double, short... 등 다양한 자료형을 지원하고 있습니다.보통 프로그래밍을 할 때는 개발자가 저장할 자료의 형태에 따라 적절한 자료형을 선택하지만, auto keyword 는 이런 자료형을 대신할 수 있습니다. 특정 변수에 자료형 대신 auto keyword 를 붙이게 되면, 이는 개발자가 자료형을 선택하는 것이 아닌, 컴파일러에게 컴파일 타임에 변수 타입을 유추하도록 지시하는 것입니다. 이를 다른 말로 Type Inference (타입추론) 이라고도 하는데요. 가장 기본적인 사용 형태에 대해 코드로 확인해 보겠습니다. 코드int main(int argc..
포인터 변수 기본 개념c언어를 배우게 되면 포인터 변수라는 개념을 접하게 되고 프로그래밍을 하다보면 포인터 변수를 사용해야 할 상황이 오게 됩니다.오랜만(?)에 사용하게 되면 기본 개념에 대해서 한번 쯤 다시 생각하게 되고 관련 정보를 찾아 보게 됩니다.이런 과정들이 반복되다보면 머리속에 포인터변수 개념이 자리 잡힐 것입니다.지금부터 포인터에 대해서 정리하고자 합니다. 먼저 포인터 변수를 알아보기 전에 일반 변수에 대해서 간단하게 살펴보면 포인터 변수를 이해하는데 도움이 됩니다. 코드 #include int main() { int a; printf("value of a = %d\n",a); printf("address of a = %p\n",&a); a = 10; printf("value of a = %..