강의 20분 중반대부터 보이는 // Cannot change heart. Can change the elements of heart 가 이해가 가지 않습니다. heart는 배열이여서 바꿀 수 있다고 생각했는데 (바로 뒤에 요소 수정 가능이라고 나와있긴 해서 헷갈림) // Cannot change head. 를 의도했는데 잘못 표기된 것인지 아니면 heart 라는 배열의 이름에 접근할 수 없다는 뜻인지 모르겠습니다. 감사합니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 강의에서는 주로 H2 데이터베이스를 활용해 강의를 진행해주시는데, 실무에서는 데이터베이스를 다룰 때 보통 어떤 툴을 사용하는 지 궁금합니다.
안녕하세요 선생님 다름이 아니라 수업시간에 정수 숫자를 하나 입력받아서 처음에는 3으로 나누고 출력 다음 줄은 double형식으로 변환해서 3으로 나누어 출력하는것은 error 없어 출력이 잘되는데요 아래와 같이 정수를 입력받아 double형식으로 변환 후 정수와 나머지를 계산하면 오류가 뜨던데 이것은 실수형식과 정수형식을 나눠서 나머지를 구하면 너무나 많은 나머지의 소수점 자리수가 나와서 출력이 안되는 것인가요? (double)x/3는 출력이 잘되고 (double)x%3은 실행이 안되는 이유가 궁금합니다.
위에서 다른 값들은 입력할 때 초기화를 시키지 않았는데 double d만 값을 초기화하는게 궁금합니다. 제 생각을 말씀드리면 앞의 예제들을 실행시켰을 때 값을 입력하지 않았음에도 어떠한 값이 이미 출력되더라구요. 이게 혹시 초기화를 시키지 않아서 발생했던 문제들인가요??
(*(parr + 1))[1]을 제가 해석해보자면 parr은 arr0을 가리킨다. 거기에 1을 더하면 arr1을 가리키게 된다. 거기에 *를 붙이면 arr1이 가리키는 arr1[0]을 가리키게 된다. 여기에 [1]를 붙이면? arr1[0][1]을 가리키게 되나? 아니면 arr1[1]을 가리키게 되나? 아니면 arr1[1]이 되나? 출력값이 5인걸 보면 맨 오른쪽인것 같은데 (*(parr + 1))은 &arr1[0]이고 거기에 [1]을 붙인다는 게 정확하게 무슨 뜻 인가요? 어떤 식으로 작동하는건지 이해가 잘 안되요. parr[0]은 &arr0[0]이고 parr[0][0]은 arr0[0]이다. 라는 것과 비슷하게 작동하는 건가요? 항상 좋은 답변 감사합니다.
========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 네 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 네 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 네 [질문 내용] 영한님 강의에서는 위와 같이 두 행의 데이터가 잘 조회되는데, 2024 버전으로 설치한게 잘못인건지 두번 쿼리를 날렸는데 이전 행에 덮어 씌워져 버리는 현상이 있습니다... 이유가 뭔지 모르겠네요 혹시 아시는분 답변 부탁드려요
안녕하세요 독하게 시작하는 C언어 프로그래밍 필수 실습문제 1번 질문있습니다. 문제는 나이와 이름을 입력받아 출력하는 문제인데요 저는 이름을 입력받을 문자배열을 선언할때 어떤 길이가 나올지 모르니 최대한 많은 공간을 미리 확보하기 위해 char ch[ ] = {0}; 으로 선언했는데 이렇게 하면 오류가 뜨고 선생님처럼 char ch[32] = {0}; 문자배열의 길이를 선언해야 오류 없이 실행되더라구요 문자배열을 어느 길이로 입력 받을 지 모르니 저처럼 설정하면 왜 안되는 걸까요? 또한 scanf_s("%d%c", %x); 구문에서 입력받은 변수가 int 형으로 정수를 입력 받았는데 그럼 scanf_s("%d%d", %x); 이렇게 입력해야 맞는 것 아닌가요? 왜 scanf_s("%d%c", %x); 이렇게 입력해도 실행이 되는 지 궁금합니다
안드로이드 스튜디오 arctic fox를 다운받고 첫 프로젝트를 생성했는데 코드가 쭉 빨간줄이 쳐지면서 밑에 사진과 같이 32개정도의 오류가 생기네요 뭐가 문제일까요? 아 그리고 이건 오류랑 다른 질문인데 저 arctic fox 버전에서 새로운 프로젝트를 생성했을때 생성되는 기본코드랑 지금 최신 버전인 Hedgehog 버전에서 만들어지는 기본코드랑 다르던데 원래 그런걸까요? 강의를 들을때 기본코드가 달라서 헷갈리더라구요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 멤버 객체, 팀 객체 둘 중 하나로 MEMBER 테이블의 외래키를 관리해야 한다는 부분이 깔끔하게 이해가 가지 않아서 질문 드립니다. 제가 이해한 내용이 맞는지 확인 부탁드리겠습니다. 결국에 멤버 객체와 팀 객체가 서로를 호출하거나 업데이트하는데 사용하는 테이블은 멤버 테이블과 팀 테이블의 조인으로 생긴 하나의 테이블인데, 하나의 테이블이 2개의 객체와 매핑된다면 문제가 발생한다.(팀 객체가 갱신한 내용이 멤버 객체에 반영되지 않는 등의 문제) 그렇기 때문에 연관관계의 주인을 설정하여 한 객체만 실제로 테이블과 매핑하고 나머지 하나는 매핑된 객체로 부터 미러링된 내용을 사용(읽기 전용)한다. 이렇게 이해하는게 맞는 걸까요?
int sum2d_2(int ar[][COLS], int row); 에서 COLS 자리의 인덱스에 숫자를 적어주는 이유는 ar이라는 포인터의 행의 사이즈는 int * (COLS 자리의 인덱스) 이기 때문이다. 라고 해봤는데 이게 맞거나 비슷한 표현 일까요? 제 표현이 틀린 것 같아 답변자 분이 이해를 할 수 없을 것 같기도 하네요.. ㅈㅅ함미다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] override오류로 test 작동이 안됩니다ㅠ
그냥 그렇나 보다 하고 지나칠뻔한 걸 한번 의심을 하니 문제를 놓을 수가 없게 되었습니다. 1. int ar1[2][3] = { {1, 2, 3}, {4, 5, 6} }; int* pt; pt = &ar1[0][0]; for (int i = 0; i < 6; ++i) printf("%d %d ", pt[i], *(pt + i)); 2. int arr[2][3] = { {1, 2, 3}, {4, 5, 6} }; int* parr[2]; parr[0] = arr[0]; parr[1] = arr[1]; for (int i = 0; i < 2; ++i) printf("%p %p ", parr[i], *(parr + i)); 둘 다 똑같이 출력을 했는데 1번 예제는 값이, 2번 예제는 주소가 출력 되는 이유 그러니까 parr[i]가 주소를 출력하니 pt[i]도 주소를 출력 해야 할 것 같은데 값을 출력하는 이유가 궁금합니다. parr은 포인터의 배열이고 pt는 포인터라서? parr의 자료형은 int (*)[3]이고 pt의 자료형은 int*라서? 뭔가 연관이 있을 텐데 저는 어떤 연관이 있는 건지 쉽사리 연결 지을 수가 없더라구요. 꼭 알려주셨으면 합니다. 항상 좋은 답변 감사합니다.