게시글
질문&답변
2021.03.22
강의 내용 질문 드립니다!
답글 감사합니다. 예 말씀주신대로, prev값이 null 인 경우는 search의 상위노드가 Null, 즉 search가 head인 경우로 이해하고 있습니다. 다만 강의 중 말씀에서는, prev값이 null 일때 prev가 head라고 말씀하신 부분에서 혼동이 생겼습니다.prev가 head 라는건 search가 head의 다음 노드라는 뜻이니까요!
- 0
- 2
- 232
질문&답변
2021.03.10
header file과 include 질문드립니다!
답변 감사드립니다.이전 질문에서 말씀해주신 c와 h를 나누는 이유는 이해가 됐습니다.음... 답변에서 c파일에서 include를 안하면 header파일에서 모른다고 하신 부분이제가 테스트를 해봤을때는 왜 되는걸까요? ㅠㅠ #include void test() { printf("didn't include\n"); } void test();위 두 파일로 lib을 만들고, 아예 다른 프로젝트에서 불러와보았습니다. #include #include int main() { test(); return 0; }했을때, 라이브러리의 c파일에서 header를 Include 하지 않았음에도 test함수가 잘 실행이 되더라구요,,,,, 왜 그런 것일까요?
- 0
- 3
- 356
질문&답변
2021.02.25
structure와 stack, heap 질문 드립니다.
아아 감사합니다! 제가 혼동이 되었던 부분은 그림1 (빨강색)의pf가 가르키는 공간이 stack인지 heap인지 몰랐어서 질문을 드렸던 부분입니다! 1. malloc()은 항상 heap 에 할당 해주는 것이고,2. 그림1은 stack의 pf가 heap공간을 가리키는 것이고 (즉, 구조체가 heap에 있는거죠 ?!)3. 그림1 -> 구조체가 heap만 사용하는 연속된 공간 그림2-> 구조체가 stack 및 임의의 heap을 사용하는 연속 x 공간맞나요 ?!!
- 1
- 3
- 332
질문&답변
2021.02.25
안녕하세요, parmeter 변수에 관해 질문 드립니다.
아하 스택프레임 벗어나는 즉시 소멸이 되는줄 알았네요 ㅎㅎㅎ 항상 감사합니다
- 0
- 2
- 210
질문&답변
2021.02.25
안녕하세요, 이중 포인터 코드 질문 드립니다..
감사합니다!!!!!!!!!아, 위에서 얘기한 강의 중의 read_books2 코드에서,*books_dptr = books; 로 구현된 부분이 books_dptr = &books; 로 대체가 가능할까요?두 문장이 혹시 차이가 있을까요 ?!
- 0
- 2
- 172
질문&답변
2021.02.22
L-value와 Object에 대해 질문드립니다.
Q2에 관해서 다시 말씀드리자면음... 제가 강의를 보며 이해하기로는말씀 하신대로 메모리 공간을 차지하는 어떤 것 = 오브젝트expression, identifier등은 그 오브젝트의 이름표 ? 라는 느낌이었습니다!그래서 arr[0]은 expression이고, arr[0]의 값이 object인 것으로 이해했구요! 그래서 강의중 arr[0] 이 object다 ! 라고 하신 것에서 혼동이 있었습니다 !!L-value가 object다 라는 표현도 마찬가지구요 ㅠㅠ
- 0
- 2
- 254
질문&답변
2021.02.16
안녕하세요! 강의 내용과 관련해 질문 드립니다.
답변 감사합니다! 이해를 확인하고자 조금만 더 질문 드리겠씁니다.. 아직 개념에 혼란이 많아 중복되는 질문이 있을 것 같아요 ㅠㅠ(사진) Q1. 상단 첨부의 이해가 맞는지, 잘못 이해한 부분이 있는지 확인 부탁드리고 싶습니다 ㅠㅠ Q2. 기본적으로 arr == &arr[0]이고, 거기에 이제 &arr도 같은 것이라는 것을 알게 됐구요! Q3. 그런데 Q2의 내용은 arr이 평범한 배열일 때고, parr처럼 포인터의 배열이라면&parr은 따로 주소를 갖게 되는건가요? 아니면 Q2의 정리 그대로일까요? Q4. 강의 중 Notes 부분에서 ( 하단 첨부 사진) & arr[0] == arr[0] 인 이유는 arr[0] 이 배열명이고, &배열명 == 배열명 == &첫원소 기 때문이고,& parr[0] != parr[0] 인 이유는 parr[0] 값이 배열명 arr[0]과 같긴 하지만 parr[0]은 배열명이 아닌 포인터로서의 선언이 되었기 때문인건가요? 즉 포인터 선언 한 경우랑 아닌경우 차이인가요?(써놓고 보니 Q1과 같은 맥락의 질문이긴 하네요...) (사진)
- 0
- 3
- 298
질문&답변
2021.02.16
왜 함수에서 넣어야하는 변수가 2개인데 이중포인터가 아닌 그냥 포인터인지 모르겠습니다.
그렇다면 본 강의의 코드중 sum2d_2( int ar[][COLS], int row) 의 ar은 2차원 배열이 맞나요?
- 0
- 2
- 156
질문&답변
2021.02.04
안녕하세요. scanf 관련해서 질문 드립니다!
답변 감사드립니다! 답변해주신 내용은 이해가 갔지만, 제 질문이 잘 전달이 되지 않았나 싶어서 다시 여쭙습니다 ㅠㅠ Q1.첫 콘솔 입력 : "* 공백 3 공백 5 공백 \n" 별 3줄이 잘 출력되고 다음 콘솔 입력이 뜹니다. 두번째 콘솔 입력 : "% 공백 2 공백 2 \n" 입니다! 총 입력된 값들은 순서대로 "* 공백 3 공백 5 공백 \n % 공백 2 공백 2 \n" 입니다. "* 공백 3 공백 5" 다음 루프에서는 공백부터 시작하게 되는 것 같습니다! 그래서 "공백 \n % 공백 2 공백 2 \n" 이 두번째루프의 시작인데, c 에 버퍼에 남은 공백이 대입된 뒤 scanf가 "\n % 공백 2 공백 2 \n" 순으로 만나는 것 같은데 (콘솔 입력 자체도 while 조건문이 아닌 body의 scanf에서 활성화 됩니다) 이 경우 scanf가 스킵되고 기존 row, column 대입값인 3, 5가 유지되는 둘째 루프를 디버그로 확인했습니다! scanf 가 스킵되는 이유가, 1. \n을 만나서인지, 2. 아니면 \n을 만났지만 무시하고 %를 만나서 스킵되는 것인지 또 두 경우에서 Q3. 에서 답변 주신 것처럼 space 문자가 아닌 경우는 입력버퍼에 유지되는 것을 이해하였는데 \n은 제가 디버그를 해보아도 사라지는 것으로밖에 확인이 안되어서 ㅠㅠ 질문을 다시 드려봅니다! Q2. 의 경우는 int a, b; scanf("%d %d", &a, &b); 와 같은 경우에 답변 주신 것처럼 3 b 를 입력하면 a 에 대입이 되지만, b 3 을 대입할 경우를 말씀드린 거였습니다! 이 부분은 말씀주신것처럼 디버깅을 통해서 확인해보니 뒤의 값도 대입이 안되는 것으로 확인했습니다 ㅎㅎ!!!
- 1
- 3
- 198
질문&답변
2021.02.01
getchar() 에 관해 질문 드립니다.
자세한 답변 항상 감사합니다^^ 강의만큼 질답에서 많이 배워가는 것 같아요
- 2
- 6
- 1.2K