&
포인터에다가 지랄하지 말라는소리
null로 초기화하면 돼야되는거 아닌가요 - dc App
아님 말도 안되는거임 포인터는 주소를 저장하는 자료형이지 값과 결과를 저장하는 자료형이 아님 int* sum = a; 를 한 이후에 &sum += b; 는 가능함
이렇게되면 sum 은 a를 주소로 참조함 즉 함수 스코프를 탈출해서 결과로 반환되는 시점엔 a는 파괴되기 때문에 또 쓰레기만 리턴될 것 임
포인터는 뭐의 주소 이렇게 생각하지말고 * 가 붙는 전혀 별개의 자료형이라고 인지하는게 편할거임
사진 추가했는데 밑에 사진은 문제없이 출력되는데 무슨차이가 있음? 둘 다 메인함수에서 sum=0,a=100,b=200 으로 돼있음 - dc App
아래 추가한게 모범답안임 메인함수의 sum 은 함수가 파괴되어도 sum 포인터의 스코프는 메인에 있기 때문에 유실되지 않음 그리고 한수의 sum* 는 메인 스코프의 sum의 주소를 참조하고 있으므로 문제될게 없음
포인터 저따구로 쓰는게 도데체 뭔 쓸모일까 싶으시겠지만 문자열이나 배열의 변형을 다룰때는 저게 대단히 유용함
C의 스코프 와 포인터 이슈 때문에 return을 하는 행위에 제약이 있다는걸 포인터로 우회한다고 생각하시면됨
위에건 포인터변수로 선언됐으니 주소를 저장해야하는 변수이니 *쓰면 안되는 거고 밑에건 메인함수꺼를 호출받아서 참조하는거니 ㄱㅊ다는거임? *은 포인터변수 선언할때 빼고는 간접참조할때만 쓰인다는거? - dc App
sum이 가르키는 주소가 없어서 문제인건가 - dc App
&
포인터에다가 지랄하지 말라는소리
null로 초기화하면 돼야되는거 아닌가요 - dc App
아님 말도 안되는거임 포인터는 주소를 저장하는 자료형이지 값과 결과를 저장하는 자료형이 아님 int* sum = a; 를 한 이후에 &sum += b; 는 가능함
이렇게되면 sum 은 a를 주소로 참조함 즉 함수 스코프를 탈출해서 결과로 반환되는 시점엔 a는 파괴되기 때문에 또 쓰레기만 리턴될 것 임
포인터는 뭐의 주소 이렇게 생각하지말고 * 가 붙는 전혀 별개의 자료형이라고 인지하는게 편할거임
사진 추가했는데 밑에 사진은 문제없이 출력되는데 무슨차이가 있음? 둘 다 메인함수에서 sum=0,a=100,b=200 으로 돼있음 - dc App
아래 추가한게 모범답안임 메인함수의 sum 은 함수가 파괴되어도 sum 포인터의 스코프는 메인에 있기 때문에 유실되지 않음 그리고 한수의 sum* 는 메인 스코프의 sum의 주소를 참조하고 있으므로 문제될게 없음
포인터 저따구로 쓰는게 도데체 뭔 쓸모일까 싶으시겠지만 문자열이나 배열의 변형을 다룰때는 저게 대단히 유용함
C의 스코프 와 포인터 이슈 때문에 return을 하는 행위에 제약이 있다는걸 포인터로 우회한다고 생각하시면됨
위에건 포인터변수로 선언됐으니 주소를 저장해야하는 변수이니 *쓰면 안되는 거고 밑에건 메인함수꺼를 호출받아서 참조하는거니 ㄱㅊ다는거임? *은 포인터변수 선언할때 빼고는 간접참조할때만 쓰인다는거? - dc App
sum이 가르키는 주소가 없어서 문제인건가 - dc App