본문 바로가기

기타

정처실기 공부중 알게된것들

포인터 즉 *(참조형 연산자는) ++연산자보다 후순위에있다

 

*p += 1; 는 포인터가 가르키는 주소의 값이 바뀌지만

*p++;같은경우 주소의 값이변경된다

 

그래서 *p에 &num의 주소를 저장했다면 전자는 num의 값이 1증가하지만 후자는 p의 주소값이 1증가해 쓰레기값이 들어있는 이상한 주소를 가르키게될것이다 

 

하지만  num의 주소가 가진값에는 변화가없다

 

//인자는값, 매개변수는 변수

 

value형과 Reference형 차이에대해 궁금해 알아보던거엿는데

c언어의 예시로 변수에 변수를 바로 대입하면 

ex) temp = a ; a의 주소값이 temp프로 저장되지않지만

 

// 매개변수가 *a인경우에 &a로 줄수있는것 같다

 

temp = *a 했을경우에 a의 주소값이 temp로 저장되는것 같다 << 이걸좀더 구체적으로생각해보았는데

*a = *b;

*b =temp 의 예시를보면 temp는 포인터는 아니지만 *a 참조값을 받았고 &a의 주소값이 바뀐것이아니라

                  temp가 &a의 값을 받은것이고 b*가 a*의 참조값을 받은 것이다 그래서

                  tmep를 스캔하면? &a의 값이나온것이다

 

이처럼 c언어에서는 call by Refernece가 없는대신 참조값을 복사해서 넘겨주는 방식인  call by value방식( 근데 이것을 

call by adree라고 부른는것같다) 아무튼 이런식으로 해결하는것같다  

 

Reference형 value형의 경우 이렇게 정리를 할수있을것같고 주소의 값자체에 주소의값을 넣어도 원래 주소의 값이 변형되지 않는다는것을 알수(?아직 확신은아니다)있었다.

 

배열은 &가 없어도 참조??

 

프로젝트 생성시 이름은 회사도메인 역순으로~ 만듬 

'기타' 카테고리의 다른 글

컴파일 설명한 블로그첨부  (0) 2021.05.19