묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨홍정모의 따라하며 배우는 C언어
10:13 호출되는 함수 변수의 메모리할당 시점 질문입니다
10:13 호출되는 함수 변수의 메모리할당 시점 질문입니다 void func() { int l_arr[MAX] = { 0, }; } int l_arr[MAX] 가 컴파일 할때 할당되는건가요?문득 전에 main 이외에 함수들을 정의는 안한채로 선언만할수 있고그렇게하면 컴파일러에서는 에러는 안내지만 링킹할때 문제 생긴다고 하셨던게 떠 올라서이미 정의까지 되어있는 함수에 대해서는 메모리에 할당되는 시점이 컴파일 할때라고 이해하면 괜찮을까요?
-
미해결
C언어 관련질문입니다.
int main(void) { int age; double height; char grade; printf("Input your grade : \n"); scanf("%c", &grade); printf("Your grade is %c\n", grade); printf("Input age and height\n"); scanf("%d%lf", &age, &height); printf("age is %d height is %.1lfcm\n", age, height); } 이렇게 코딩을 하면 출력이 Input your grade : A Your grade is A Input age and height 20 180 age is 20 height is 180.0cm 이렇게 나오는데 int main(void) { int age; double height; char grade; printf("Input age and height\n"); scanf("%d%lf", &age, &height); printf("age is %d height is %.1lfcm\n", age, height); printf("Input your grade : \n"); scanf("%c", &grade); printf("Your grade is %c\n", grade); } 이렇게 하면 출력값이 Input age and height 20 180 age is 20 height is 180.0cm Input your grade : Your grade is 이렇게 나옵니다. 순서에 따라 왜 이런가요?
-
미해결C 프로그래밍 - 입문부터 게임 개발까지
터미널에서 아무 반응이 없습니다.
터미널에서 아무 반응이 없습니다. 컨트롤 f5를 누른후의 상태입니다. 사용버전은 Visual Studio Code 사용중에 있습니다. 프로젝트로는 안만들어지고 일반새파일로해서 c언어로 파일만들어서 사용중인데 맞게사용중인지도 궁금합니다. 터미널은 아래의 사진처럼 뜨면서 출력으로 실행했을땐 출력이 제대로 나오긴합니다.
-
미해결홍정모의 따라하며 배우는 C언어
define 과 변수 의 차이
기호적 상수와 전처리기 파트에서 PI를 define 하는데 float PI = 3.141592; 와 차이가 무엇인가요?
-
해결됨홍정모의 따라하며 배우는 C언어
3:20 getchar()
왜 갑자기 getchar() 이 나오는 건지 모르겠어요. getchar가 아니라 scanf로 입력받았던 건데 왜 갑자기 getchar가 나오나요?
-
미해결C 프로그래밍 - 입문부터 게임 개발까지
마지막 문자열 "나도코딩"에서 13byte로 출력됩니다.
한글은 2byte이니까 "나노코딩"은 2* 4 + 1 byte == 9가 되어야 하는데, 13바이트로 나오는 이유를 알 수 있을까요? 런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결홍정모의 따라하며 배우는 C언어
3.13 불리언형
#include <stdio.h> #include<stdbool.h> int main() { printf("%u\n", sizeof(_Bool)); // 1 byte _Bool b1; // Bool type 은 true 나 false -> 2가지만 가질 수 있음 b1 = 0; // false b1 = 1; // true // -> 정수형이기 때문에 false : 0, true : 1 printf("%d\n", b1); bool b2, b3; b2 = true; b3 = false; printf("%d %d\n", b2, b3); return 0; } 이렇게 코드 작성했는데 계속 식별자 "_Bool " 이 정의되어 있지 않다는 오류 메시지가 뜹니다 ㅠㅠ 영상에선 오류없이 잘 작동이 되던데 혹시 뭐가 문제인지 알 수 있을까요?
-
미해결홍정모의 따라하며 배우는 C언어
1.xxx에서 1은 항상 있다고 말씀하신 게 무슨 의미인지 잘 모르겠습니다.
significand에 항상 1이 있다는 말씀이신 건가요?
-
미해결홍정모의 따라하며 배우는 C언어
입력버퍼에 저장되는 시점
사용자의 입력이 언제 버퍼에 입력되는지 정확하게 알고싶습니다. 교수님께서 글자 하나하나 입력 될때마다 입력버퍼에 저장이 되고 엔터를 누르게 되면 버퍼에 저장된 내용이 목적지에 도착한다고 설명하셨는데 다른분들은 엔터가 입력 되어야 버퍼에 입력이 된다고 하셔서 혼란스럽네요. 또한 출력 버퍼의 경우 출력 버퍼가 비워진다는 것은 출력이 됨을 뜻한다고 알고 있습니다. 그렇다면 출력 버퍼는 어느 시점에 비워지게 되는건가요?
-
미해결
vscode c언어파일 실행안됨
m1 사용중이고요, c언어파일 실행하려고 하면 > Executing task: ./test < 만 뜨고 끝나네요.. 어떻게 해결해야 하나요?
-
해결됨홍정모의 따라하며 배우는 C언어
VS code int type의 pointer의 size는 8 byte
10:30분쯤 코드강의에서 포인터로 선언된 변수의 size는 컴파일러에 따라 런타임시에 결정된다고 보았습니다.VS code에서 아래와 같이 작성하면 int의 sizeof는 4 byte인데int type의 pointer의 size는 8 byte입니다.4byte라면 int type이니까 그런가보다 할거 같은데왜 gcc에서의 int type pointer size는 8 byte일까요?
-
미해결C 프로그래밍 - 입문부터 게임 개발까지
while 문 2번씩 반복 오류
코드는 강의 따라 잘입력한거 같은데 getchar() 함수 이후 아무값이나 입력하고 나면 무조건 2번 반복되서 실행됩니다.. 대체 왜이런 현상이 일어나는건가요?? ㅠ
-
미해결C 프로그래밍 - 입문부터 게임 개발까지
결과 while 문 2번 반복 현상.
while 문에서 반복이 두번씩 나타납니다.. getchar()함수에서 아무키나 입력해서 넘어갈때마다 두번씩 반복되는데.. 왜그러는걸까요ㅠ
-
해결됨홍정모의 따라하며 배우는 C언어
11:47 4byte int 양수부분 오타 있습니다.
2,147438,647 -> 2,147483,647
-
해결됨문제로 배우는 C언어
예제23. 지수연산
.
-
해결됨홍정모의 따라하며 배우는 C언어
따배씨 스터디 많은 관심 부탁드립니다 ㅎ
스터디 란에 글 올렸습니다 관심 있으신분들 참여 부탁드려요 ㅎ
-
미해결
if, else if, else는 한몸인가요?
if ~~ break; else if ~~~~ else ~~~~ 라고 하면 break시 else if, else 다 건너뛰고 내려오나요?
-
미해결
for 문을 두개 이상쓰고 else if를 쓰면 안되나요?
if (m == 'L') for (o = 1; o < i; o++) printf(" "); for (j = 1; j <= s; j++) printf("*"); else if(m == 'R') for (k = 1; k <= n-i; k++) { printf(" "); } for (p = 1; p <= s; p++) { printf("*"); } printf("\n") 저기서 왜 for 문을 두개 이상쓰고 else if를 사용하면 안되는걸까요..ㅜㅜ
-
해결됨홍정모의 따라하며 배우는 C언어
[5.11 자료형 변환] 3:22 부분부터 시작되는 ranking 개념
[ 3:22 ] 시작 자료형의 ranking 개념을 소개해주시고 계십니다. "실수형 사이에서는 랭킹이 명확하다" "정수형은 실수형보다 랭킹이 낮다." "정수와 실수의 연산을 하면 정수를 형변환 한 뒤에 실수끼리 더한다" ranking 개념을 '연산 우선도' 정도로 번역해도 될까요? 단순히 랭킹이 높다 라고 하시니 잘 이해가 되질 않습니다. 이를태면, unsigned int a = 1, b = 0; int c = -2 b = a + c; printf(%u, b); 이러면 unsigned int 변수인 b 가 -1이 되니 오버플로우가 일어나는데 랭크는 연산 순서? 우선도?에만 관련이 있는것이지 표현 범위와는 관계가 없다고 이해해도될까요? (근데 글을 쓰다보니 든 생각인데 애초에 코드를 생각하면서 잘 쓰면 일어날 일이 없는 것이군요...)
-
미해결
float는 4바이트? 8바이트?
float가 4바이트지만 오류발생? 등을 방지하기 위해 8바이트에 넣는다고 하셨는데, 이게 float도 8바이트에 넣는 "경향"이 있는 건가요 아니면 8바이트로 바꾸도록 처음부터 설계되어있는 건가요?