안녕하세요 함수와 재귀함수 (v2) 내용 중에 23:33 대신 주소값은 배열의 첫번째를 가리킬 것이다 라는 것만 알고 계시면 되겠습니다 여기서 배열의 첫번째 줄을 가르킨다고 말씀 하셨는데여 그러면 배열의 첫번째면 t 를 가르키게 되는데 여기서 출력할 때 %s(문자열)을 출력 하라고 해서 출력 값이 this is string2 인가요? 그러면 만약 %c를 출력 하라고 하였을 때 문자열 첫번째인 t 를 출력하면 되는건가요?
maxVal 함수에서 int *arr이 배열을 가져옴으로써 arr은 1의 주소를 갖게되는데 int max = maxVal(arr, size-1); 에서 int max = maxVal(1의주소, 4);가 되면 그다음 maxVal( ,3); 여기에서 앞 부분에 뭐가 들어가게 되는 건가요? 그리고 어떻게 배열이 계속 들어가게 되나요?
int p = &n; 이면 변수 n의 주소를 p의 값에 넣는 것이라서 p는 주소값이 되고 *p는 p가 가리키고 있는 주소의 값 즉 n의 값이 되는데 int array[] = {10,20,30,40,50}; int *ptr = array;인 상황에서 *ptr은 배열의 첫번째 값을 가리키는 것이면 ptr은 무엇을 갖는 건가요? array의 첫번째 값의 주소를 갖게되나요?
안녕하세요 java 프로세스를 생성하니 생각대로 sshd로 접속한 프로세스 하위로 java 프로세스가 생성되는걸 볼 수 있었습니다. 996 996 996 ? 00:04:20 sshd 279106 279106 279106 ? 00:00:00 sshd-session 279140 279106 279106 ? 00:00:00 sshd-session 279141 279141 279141 pts/0 00:00:00 bash 279253 279253 279141 pts/0 00:00:37 java 여기서 java 프로세스를 백그라운드로 실행한 상태였는데 접속한 sshd 프로세스를 끊어버리니 systemd 하위로 간 것을 볼 수 있었습니다. 1 1 1 ? 00:01:25 systemd 996 996 996 ? 00:04:20 sshd 279309 279309 279309 ? 00:00:00 sshd-session 279343 279309 279309 ? 00:00:00 sshd-session 279344 279344 279344 pts/0 00:00:00 bash 279362 279362 279344 pts/0 00:00:00 ps 279253 279253 279141 ? 00:00:37 java 여기서 java 프로세스의 부모가 sshd 하위가 아니라 systemd 하위로 간 이유가 궁금하네요 좀 더 정확히는 부모가 결정되는게 어떤 기준으로 결정되는지 궁금합니다 부모가 죽었으면 그 바로 위 부모가 새로운 부모가 되는 것인지요..? 시간이 날 때마다 보고있습니다 감사합니다
int a[2][3] = { {1, 2, 3}, {4, 5, 6} }; int sum = ( a+0) + ( a+1) + ( a+2); 여기서 내가 모르겠는 부분은 a는 배열이기 때문에 a[0]이 a의 주소로 참조 되고 주소를 100이라고 가정한다면 a는 100의 값이 저장된다. 이때 *a는 왜 1이 아니고 *a는 100번지라는 주소를 가지는 건가요?? 1차원 배열 포인터는 주소의 위치 값을 말한다고 배웠는데 배열에서는 적용이 다른 거 같아서 헷갈리는데 2차원 배열의 특징으로 외워야 하는 건가요? GPT 설명 🔎 핵심: a , *a , a[0] , &a[0][0] 모두 주소는 같아도 타입이 다르다 표현의미타입주소값 예시 a 2차원 배열의 첫 번째 행의 주소 int (*)[3] 100 *a 첫 번째 행 a[0]int[3] 100 a[0] 첫 번째 행 int[3] 100 &a[0][0] 첫 번째 요소의 주소 (즉, 1의 주소) int* 100 **aa[0][0] == 1 int (값) 1 즉 *a == a[0] == 주소 , **a == a[0][0] == 값 저는 a = 100 인데 *a도 100인게 이해가 안되요
int arr[] = {10, 20, 30,40,50}; int *p = arr; printf("%d", *p++); printf("%d", (*p)++); printf("%d", ++(*p)); printf("%d", *++p); printf("%d", ++*p); 다음과같이 포인터가 존재한다면 어떻게 출력이 되는지와 그 이유를 알 수 있을까요?
이번 1회 시험봤는데 53점으로 아쉬운듯 아쉽지 않게 떨어져서 1회 기출을 계속 풀어보기 위해 결제한 사람입니다. 어디에도 1회를 복원하고, 제대로 풀어주는 분이 주말코딩님 밖에 없더라고요ㅠ 1회 끝나고 2달 만에 공부하는데 지난 기출들은 계속 풀어보면서(좀 까먹어서,,) 1회 문제들만 집중적으로 풀면 될까요?? 어떻게 하는게 좋을까요?
19분에 나오는 자식 생성자 질문드립니다. 업캐스팅이 아닌 형태에도 생성자를 호출할때 부모 먼저 호출갈까요? child obj = new child() Parent obj = new child() 둘다 마찬가지로 부모먼저할까요? Parent obj = new parent() 이 경우는 부모만 하고 끝날까요?
안녕하세요 선생님. 33분 대 자바 문제에서 제가 이해한 바가 맞는지 궁금해 질문 드립니다. ------------------------------------ 업캐스팅 되지 않은 상태로 obj가 태어났고 child() 생성자를 찾으러 올라갔고, 업캐스팅 여부와 상관 없이 새로 객체가 태어나게 되면 child()를 실행하기 전에 -> 자동으로 parent()로 올라가게 됩니다. parent() 안에 있는 this(500)으로 인해 parent(500)을 실행하게 되고, parent의 int x가 100에서 500으로 바뀝니다. 그리고 다시 child()로 돌아와서 this(5000) -> child(5000) -> child.x는 4000에서 5000으로 바뀌게 됩니다. 다시 메인으로 내려와서 system.out.println(obj.getX())를 실행하게 되고 child 클래스에는 getX가 없기 때문에 parent 클래스로 올라가서 getX()를 찾습니다. 그래서 return x로 인해 parent의 500을 답으로 돌려주게 됩니다. --------------------------------- [질문] 1. 제가 위에 적어놓은 풀이과정이 맞나요? 2. 업캐스팅 여부와 상관 없이, 업캐스팅 됐든 되지 않았든 새로 객체가 태어나게 되면 child()를 실행하기 전에 -> 자동으로 parent()로 올라가게 되나요? 3. 만약 Child obj2 = new Child(300) 이렇게 태어나게 되면 Child(int x)로 올라갔다가 -> 자동으로 Parent(int x)로 올라가게 되나요? 아니면 이 경우는 기본생성자 형태가 아니기 때문에 super로 부모를 명시해야 하나요? 4. system.out.println(obj.getX())를 실행할 때, child 클래스에 getX가 있었다면 메서드 오버라이딩으로 인해 parent 클래스로 올라가지 않나요? 질문이 너무 많은 거 같은데 죄송합니다.. 다시 한 번 개념을 정립하고 싶어 길게 질문드렸습니다. 답변 주시면 감사하겠습니다..
안녕하세요 선생님. 항상 강의 잘 듣고 있습니다! 다름이 아니고 빈칸 채우기 정렬 문제에서 2번에 nx가 아니고 5라고 써도 정답 처리가 될까요?? 문제에서는 a[]의 길이가 5이고 해당 문제에서는 이미 문제가 명시되었기 때문에 다른 배열이 올 수가 없는 상태이니 5라고 적어도 되지않을까 궁금합니다!