묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨홍정모의 따라하며 배우는 C언어
포인터로 초기화한 문자열이 저장돼있는 공간
안녕하세요. 궁금한 것이 있어 질문드립니다.#include <stdio.h> int main() { const char* str1 = "Hello, World"; return 0; }(1)포인터 변수 str1이 가리키는 문자열 'Hello, World'는 Data Segment에 저장되어 있나요 아니면 TEXT Segment에 저장되어 있나요?(2)만약 Data Segment에 저장되어 있다면, 그 영역 중 Read Only DATA Segment 영역에 저장되어 있는 건가요?(3)ROD Segment는 읽기 전용이기 때문에 str1를 indirection 하여 문자열로 접근해 값을 바꿀 수 없는 것인가요? 늘 친절한 답변 감사합니다.
-
해결됨독하게 시작하는 C 프로그래밍
에러 이동 단축키 F4 속성창 뜨는분 F8 하시면됩니다.
다른 단축키 궁금하신분을 위한 링크https://learn.microsoft.com/ko-kr/visualstudio/ide/default-keyboard-shortcuts-in-visual-studio?view=vs-2022&utm_source=vshelp&wt.mc_id=visualstudio_inproduct_shortcuts_csaapp
-
해결됨독하게 시작하는 C 프로그래밍
번외질문 - 프로젝트명 변경 질문드립니다.
비주얼 스튜디오 상에서 프로젝트명을 변경하면프로젝트가 저장된 위치에 폴더명과 파일명들은 같이 변경이안되던데 방법 알고 싶습니다
-
미해결HAL, CubeMX, TrueSTUDIO를 이용한 STM32F4 무료 강좌
IrDA 통신
적외선 송수신 관련 강의도 해주세요...ㅠㅠㅠㅠㅠㅠ
-
미해결홍정모의 따라하며 배우는 C언어
문자 숫자
4.3 문자열이 메모리에 저장되는 구조 13:15 질문입니다실행했을때 위 동그라미1까지는 문자가 출력되었고 동그라미2에서는 숫자가 출력됐는데요그 이유가 동그라미2는 배열에 있는 '값'들을 접근해서인가요? '값'은 출력될때 숫자로 출력되어야 해서..인가요? 그리고 동그라미2에서 앞에 %hhi %hhi %hhi 이거요 왜 hhi를 써줘야 되나요?
-
미해결홍정모의 따라하며 배우는 C언어
i
4.3 문자열이 메모리에 저장되는 구조 초반부 예시 질문입니다 앞에 %i%i%i에서 왜 i를 써야 되나요?
-
미해결홍정모의 따라하며 배우는 C언어
작은 따옴표
4.3 문자열이 메모리에 저장되는 구조 1:50에서 문자 하나 한칸 안에 'a' 이렇게 써져있잖아요 왜 작은 따옴표를 써야 되나요? 그냥 a라고 쓰면 안되나요?
-
미해결홍정모의 따라하며 배우는 C언어
포인터, 배열, 문자열을 공부하기 위한 최소 범위(?)
안녕하세요컴공과 1학년 학부생입니다.제가 당장 2주뒤에 c언어 중간고사를 보는데, 범위가 (포인터, 배열, 문자열) 입니다.문제는 제가 c언어를 이번 학기에 처음 배워서 이 강의를 들으며 따로 공부하고 있지만, 중간고사 전까지진도를 나가지 못할 것 같습니다.일단 포인터, 배열, 문자열 공부를 시작해야 하는데 이 것을 하기 위해 최소한으로 ~는 해야한다이런 것이 있을까요?진도는 섹션3까지 나갔습니다.
-
해결됨독하게 시작하는 C 프로그래밍
Putchar 관련 질문입니다
Puchar 명령어는 buffer에 값을 넣는 것뿐만아니라 printf 처럼 화면에 출력하는 기능까지 포함된 것이라고 이해해도 될까요? getchar는 문자를가져와 읽는 기능인 것처럼 putchar또한 메모리 buffer안에만 write하는건 아닐까 했습니다.
-
해결됨Windows 시스템 프로그래밍 - 기본
WaitForSingleObject 함수 질문
WaitForSingleObject 함수 질문드립니다. 핸들을 넘겨주고 해당 스레드의 상태가 변화하는지를 체크한다고 하셨는데, 여기서 말씀하신 변화라는게 어떤 것을 말씀하시는걸까요?
-
미해결홍정모의 따라하며 배우는 C언어
포인터 산술과 관련해서 질문 드립니다
printf("Note: t is for pointer difference, %td\n", ptr2 - ptr1); 에서 포인터 간의 차이로 배열 사이의 거리 또한 알 수 있다고 이해하였습니다. 그런데 의문이 드는게 포인터는 char* arr 이던 int *arr이던간에운영체제에서 정해준 크기로 항상 같다는것으로 알고 있는데 이처럼 double* ptr1, *ptr2로 선언하고double arr1[5] = { 10, 13, 12 ,7, 8 };ptr1 = &arr1[0];ptr2 = &arr1[4];double 형의 배열의 요소에 적용을 하였더니원하는 결과인 4가 나왔습니다 하지만 이처럼 int* ptr1, *ptr2; 로 선언하고double arr1[5] = { 10, 13, 12 ,7, 8 };ptr1 = &arr1[0];ptr2 = &arr1[4];printf("Note: t is for pointer difference, %td\n", ptr2 - ptr1); 로 포인터 사이의 거리를 출력하라 했더니8로 나왔습니다.이는 실제 포인터 연산에서는 int형으로 계산했지만메모리 간의 실제 간격은 double 형이라서 4바이트인 int형의 2배인 8바이트간의 거리라서 8 * 4 / 4 = 8 인 결과가 나온것인가요? 포인터간의 연산은 포인터가 선언된 자료형에 따라서 그 크기가 결정되는것인가요?
-
미해결홍정모의 따라하며 배우는 C언어
3.13 불리언형 질문
b1=0;b1=1;이걸 왜 해줘야 되나요?
-
해결됨독하게 시작하는 C 프로그래밍
디바이스 파일에 대해서 여쭤보고 싶습니다.
안녕하세요. 강사님.입출력과 관련된 부분은 운영체제가 처리를 해주는 것으로 알고있습니다. 일반적으로 입출력을 수행할 때 OS가 제공해주는 API를 사용해서 입출력을 수행할텐데 그 행위 자체가 내부적으로 디바이스 파일을 사용하도록 구현이 되는 구조인걸까요 ?디바이스 파일을 제공해주는 것은 알겠는데 그걸 직접적으로 활용하는 코드는 다뤄본적이 없어서요...
-
해결됨독하게 시작하는 C 프로그래밍
[ 문자, 정수 입력과 개행문자 제거 ] scanf_s, gets_s 차이점
설명을 잠시 멈춰두고 혼자서 예제를 만들어봤습니다 근데 gets_s 함수대신 scanf_s 함수를 사용해서도 결과물이 똑같이 나왔는데 어떤걸 사용하든 상관이 없나요?#include <stdio.h>int main(void){ char szName[32] = { 0 }; int nAge = 0; printf("나이를 입력하시오 : "); scanf_s("%d", &nAge); printf("이름을 입력하시오 : "); scanf_s("%s", szName, sizeof(szName)); printf("\n"); printf("당신의 나이는 %d세 입니다\n", nAge); printf("당신의 이름은 %s입니다\n", szName); return 0;}
-
미해결홍정모의 따라하며 배우는 C언어
부동소수점형
3.11 부동소수점형 9:17에서 8비트 언사인드 정수는 0에서부터 255까지라고 하셨는데 왜 1부터 256이 아니라 0부터 255까지인건가요? 그리고 왜 124에서 127을 빼줘야 되는지 이해가 안가요 2^124-127 이부분이요
-
해결됨CUDA 프로그래밍 (4) - C/C++/GPU 병렬 컴퓨팅 - 행렬 matrix 곱하기
global memory를 사용한 matrix copy 대비 global memory를 활용한 matrix transpose가 속도가 느린 이유가 궁금합니다.
안녕하세요.먼저 좋은 강의 감사드립니다. 아래 소스는 matcpy-dev.cu에서 가져온 kernel 함수입니다.global void kernelMatCpy( float* C, const float* A, int matsize, size_t pitch_in_elem ) { register unsigned gy = blockIdx.y * blockDim.y + threadIdx.y; // CUDA-provided index if (gy < matsize) { register unsigned gx = blockIdx.x * blockDim.x + threadIdx.x; // CUDA-provided index if (gx < matsize) { register unsigned idx = gy * pitch_in_elem + gx; // in element C[idx] = A[idx]; } }} 그리고 다음 소스는 transpose-dev.cu에서 가져온 kernel 함수 입니다.global void kernelMatTranspose( float* C, const float* A, unsigned matsize, size_t pitch_in_elem ) { register unsigned gy = blockIdx.y * blockDim.y + threadIdx.y; // CUDA-provided index if (gy < matsize) { register unsigned gx = blockIdx.x * blockDim.x + threadIdx.x; // CUDA-provided index if (gx < matsize) { register unsigned idxA = gy * pitch_in_elem + gx; register unsigned idxC = gx * pitch_in_elem + gy; C[idxC] = A[idxA]; } }} 메모리 접근 관점에서 보면 각 thread별로 A에서 read해서 C에 write하는 동일한 과정으로 보이는데, 결과는 속도 차이가 많이 나는 정확한 원인이 궁금합니다. memory coalescing 때문으로 추정하고 있는데, 맞는 생각일까요?감사합니다.
-
미해결홍정모의 따라하며 배우는 C언어
t 쓰는 이유
3.9 고정 너비 정수 3:22 질문입니다 int32_t 에서 언더바 뒤에 t를 써야 되는 이유가 뭔가요? 왜 t인지 궁금해요
-
미해결홍정모의 따라하며 배우는 C언어
실수 질문
3.5 정수와 실수 16:45 질문입니다 실수에서는 왜 Unsigned가 없는건가요? 소수도 부호를 가질 수 있지 않나요?
-
미해결홍정모의 따라하며 배우는 C언어
정수 질문
3.5 정수와 실수 12:09 화면 캡처 질문입니다 각 칸에 0과 1이 들어가야 되는 이유랑 왜 0101 1110인지 궁금합니다 어떤건 0이고 어떤건 1인데 어떻게 구분하는건가요?
-
미해결홍정모의 따라하며 배우는 C언어
안녕하세요
안녕하세요인프런은 처음인데따배C강의 무제한이면 언제든지 계속 들을수있는건지 궁금합니다.혹시 아는내용은 스킵해도 수료증발급가능한지도 궁금합니다.감사합니다.