본문 바로가기

공부

아무것도 가리키지 않는. 포인터의 출력 포인터 를 사용할때에 포인터 변수는 항상 0 으로 초기화 해야하며 포인터 변수를 사용하기 전에는 포인터 변수의 값이 0인지 아닌지 비교해야 한다. 비교하는 방법은 if(!포인터변수) 를 사용하는것이 간편하다. 아무것도 가리키지 않는. 포인터의 출력 예제 코드 #include using namespace std; int main() { int* p = 0;//아무것도 가리키고있지 않음을 나타낸다. //cout 더보기
포인터 동작의 이해. #include using namespace std; int main() { int i = 0x12345678; char* pc = (char*)&i; cout 더보기
주소를 사용하여 정보에 접근하기[포인터를 사용해서 포인터가 가리키는 값을 바꾸는 방법] 거참 제목 길다. 말 그대로 주소를 사용하여 정보에 접근하여 그 값을 이용하여 바꾸는. 다른말로는 포인터를 사용해서 포인터가 가리키는 값을 바꾸는 방법. #include using namespace std; int main() { int a = 123; int* p = &a; cout 더보기
무슨 타입이든 가리킬 수 있는 void 포인터 다 좋은데 문제는 가리킬 수만 있고. 뭘 할수는 없음. void포인터는 모든 타입을 가리킬 수 있지만 해당 변수가 어떤 타입인지는 저장하지 않기때문에 주소를 저장하는 용도로만 사용된다.[솔직히 말해서 이걸 왜 쓰는지는 모르겠다.] 이 포인터를 사용하려면 타입이 있는 포인터로 형변환을 시킨 후에 사용해야만 한다. 뭔소린지 잘 모르겠으니 예제 코드를 작성하자. #include using namespace std; int main() { int i = 300; void* pv = &i; int* pi = (int*)pv; cout 더보기
포인터의 종류 앞서 사용한 int* 이라는 타입 이름은 int* 즉 int타입의 변수만 가리킬 수 있는 포인터 의 선언이다. 고로 int*로 설정했다면 int타입 이외의 변수를 포인터로 사용할 수 없다. 그렇다면 여기서 예시. 코드. 또한 unsigned int와 int 같은 사인이 다른 타입간도 선언이 불가능하다. ////////////////////////////////////////// #include using namespace std; int main() { int i = 300; int* pi = &i; char c = 'C'; char* pc = &c; float f = 700.5f; float* pf = &f; bool b = true; bool* pb = &b; short int s = 456; sho.. 더보기