C&C++

· C&C++/C++
상황 do-while문과 cin을 사용해 특정 값이 입력되기 전까지는 반복해서 입력을 받아 입력에 따른 작업을 하도록 했다. 그런데 특정 입력 부분만 되면 입력하고 엔터를 치는 순간 내가 이상한 값을 계속 입력하고 있는 것처럼 혼자 무한 루프를 돌았다 해결 cin은 입력받은 값이 입력을 저장하려는 변수의 자료형과호 호환되지 않으면 입력을 받지 않고 입력버퍼에 그대로 남겨둔 채 다음으로 넘어간다 입력버퍼에 남아있는 값이 다음 입력으로 인식되어서 무한루프를 도는 것처럼 보이게 된다. cin 입력값과 저장하려는 변수의 자료형이 맞는 지 확인하자 해결 그 외 알게된 것 cin : 입력버퍼의 개행문자나 공백 직전 값까지를 가져온다. 입력버퍼에 개행문자를 남겨둠. 개행문자를 남겨둬서 cin >>사용 후 cin.ge..
· C&C++/C++
생성자 사용 ClassName c(인수리스트); ClassName c(); ClassName c; //둘 다 인자 없는 생성자 동적 할당된 객체 배열 선언 동적 할당이므로 배열 첫번째 원소를 가리키는 포인터를 생성하면 됨. 배열 포인터라고 다르지 않음. 포인터변수 선언 후 배열 동적 할당함 ClassName* p; //배열을 가리킬 포인터변수 선언 p = new ClassName[n]; //객체배열 동적할당new과 크기[]지정!!!!!!!! 인자 없는 생성자 n번 호출됨 malloc&free 냐 new&delete냐 C에서만 malloc과 free C++과 java에서는 new와 delete를 사용 멤버변수에 다른 객체의 포인터 변수를 갖는 클래스 멤버변수로 포인터 변수를 갖는 클래스에는 항상 소멸자를 ..
· C&C++
간접 참조 포인터 변수 앞에 * 를 붙여 실제 값에 접근하는 것 포인터 변수가 가진 '값'인 주소값에 접근하고 -> 해당 주소에 존재하는 '값'에 다시 접근 하므로 간접 참조라 함. * : 간접 참조 연산자 역참조라고도 함 C++의 구조체를 간접참조할 경우 구조체의 멤버변수/함수를 접근할 때 . 를 사용함 직접 참조 포인터 변수가 아닌 실제 값을 가진 변수를 직접 사용하는 것 C++의 구조체를 직접참조할 경우 구조체의 멤버변수/함수를 접근할 때 -> 를 사용함
· C&C++
동적할당과 정적할당 개념은 프로그램 실행에 필요한 메모리를 할당 하는 방식을 의미한다. 동적 할당 : 메모리 할당이 프로그램이 실행되는 시간 동안 그 안에 이루어지는 것. 상황에 따라 원하는(필요한) 만큼의 메모리가 할당되고 사용하지 않는 메모리는 반환하여 메모리 효율성을 높인다. 이미 할당된 메모리의 크기도 조정이 가능하다. 정적 할당 : 메모리 할당이 프로그램 실행 시작되는 순간 모두 이루어지는 것 C에서는 메모리의 주소값을 포인터라는 것을 활용해 다룬다. Java에서는 모든 것들(정확x)이 기본적으로 동적할당된다. 그리고 C와 달리 메모리의 주소값을 다루지 않는다. 포인터라는 개념이 없다. 대신 각각의 객체를 식별하기 위한 "참조값"이라는 것을 갖는다. 참조자료형은 값을 직접 갖는 것이 아니라 값을..
· C&C++
C 공부 관련 글
돌래씨
'C&C++' 카테고리의 글 목록