본문으로 바로가기

바다야크

c언어

해당되는 글 272
  • thumbnail
    컴퓨터/프로그래밍

    C언어 isprint 함수 인쇄 가능한 문자인지 확인

    C isprint() 문자가 인쇄 가능 여부 판별 함수 C언어 함수 isprint()는 인수로 받은 문자가 인쇄 가능한지를 판별하며 가능하다면 0이 아닌 값 TRUE를 반환합니다. isgraph()와의 차이점은 공백문자도 인쇄 가능 문자로 판별합니다. 헤더: ctype.h 형태: int isprint( int c) 인수: int c - 판별할 문자 반환: 0 != c가 프린트 가능 문자, 공백문자도 포함 C isprint() 예제 #include #include int main( void) { int ch1 = '1'; int ch2 = ' '; int ch3 = '\t'; // 탭 문자 if ( isprint( ch1)) printf( "%c(x%02x)는 인쇄 가능 문자입니다.\n", ch1, ch1..
  • thumbnail
    컴퓨터/프로그래밍

    C언어 islower 함수 소문자 여부 판별

    C islower() 문자가 소문자인지 판별 함수 C언어 함수 islower()는 인수로 받은 문자가 소문자인지를 확인하고 소문자이면 0이 아닌 값 TRUE를 반환합니다. 헤더: ctype.h 형태: int islower( int c) 인수: int c - 판별할 문자 반환: 0 != c가 소문자 C언어 islower() 함수 예제 #include #include int main( void) { int ch1 = '1'; int ch2 = ' '; int ch3 = '\t'; // 탭 문자 if ( isprint( ch1)) printf( "%c(x%02x)는 인쇄 가능 문자입니다.\n", ch1, ch1); else printf( "%c(x%02x)는 인쇄 가능 문자가 아닙니다.\n", ch1, ch1..
  • thumbnail
    컴퓨터/프로그래밍

    C언어 isgraph 함수 인쇄 가능 문자 확인

    C isgraph() 인쇄 가능 문자 여부 확인 함수 C언어 문자 검색 함수 중에 isgraph()는 인수로 받은 문자가 인쇄 가능 여부인지를 확인하고 인쇄 가능 문자라면 0이 아닌 값 TRUE를 반환합니다. 단, 공백 문자는 FALSE입니다. 즉, 프린트했을 때 종이에 쓰여지는지 문자인지를 확인해 줍니다. 비슷한 기능의 isprint() 함수가 있는데, isprint()는 공백 문자까지 인쇄 가능 문자로 판단하여 TRUE로 반환합니다. 헤더: ctype.h 형태: int isgraph( int c) 인수: int c - 판별할 문자 반환: 0 != c가 프린트 가능 문자, 공백 문자는 제외. 공백을 포함하려면 isprint() 사용 C isgraph() 예제 #include #include int ma..
  • thumbnail
    컴퓨터/프로그래밍

    C언어 함수 내 배열은 어디에 생성될까?

    C언어의 배열 생성 위치에 대한 오해 C언어에 대해 어느 정도 자신이 생겼는데도 확실히 알지 못한 것이 있었습니다. 함수 내부에 생성되는 배열 변수는 어디에 생성될까에 대한 호기심입니다. char, short, int 변수는 그 크기가 작아서 스택에 생성되는 것에 대해서 의심하지 않았지만, 배열은 매우 클 수 있는데, 이 배열도 과연 스택에 생성될까 하는 것이죠. 이 문제에 대해 시원하게 설명해 주는 책이 없었고 인터넷이 없던 시절이라서 주위에 C언어라면 방귀 좀 뀐다는 프로그래머에게 물어보면 사람마다 의견이 다르고 서로 언쟁을 올리기도 했습니다. 지금이야 메모리가 8GB·16GB로 매우 크지만, 당시에는 2MB, 돈 좀 쓰면 4MB라서 프로그래머는 메모리 운영에 매우 조심해야 했습니다. 잘 실행되는 프..
  • thumbnail
    컴퓨터/프로그래밍

    C언어 프로그래밍 과제를 위한 MinGW 설치 방법

    C언어 프로그래밍 과제를 위한 MinGW 설치 방법 지인이 C언어 프로그래밍 과제를 받았나 본데 마이크로소프트사의 비주얼 스튜디오 2017을 사용한다고 하네요. 작성한 프로그램을 보니 윈도우 프로그램은 당연히(?) 아니고 텍스트 환경에서 실행하는 예제 수준 정도여서, 그렇다면 비주얼 스튜디오보다는 MINGW가 좋다고 권했습니다. C언어 학습 정도라면 비쥬얼 스튜디오는 너무 크지요. 소 잡는 칼로 닭 잡는 각입니다. 요즘은 "~할 각"이라는 말을 많이 사용하네요. 여하튼, MinGW는 비주얼 스튜디오처럼 화려하지는 못해도 매우 단순해서, 처음 설치 과정이 조금 복잡해서 그렇지 텍스트 에디터와 명령창만 이용하기 때문에 비주얼 스튜디오의 복잡한 기능을 학습할 필요가 없습니다. 메모장을 이용해도 되고 자주 사용..
  • thumbnail
    컴퓨터/프로그래밍

    C언어 공용체 union 예제 설명

    C언어 union 유니온 공용체 예제 설명 포인터 때문에 C언어 배우기가 어렵다는 말씀을 자주 듣는데요, 생각 외로 공용체 union를 이해하지 못하는 분이 많네요. 이해한다고 해도 어디에 활용할지 몰라서 사용하지 않는 경우도 많은데요, struct만큼이나 매우 유용합니다. union의 쓰임새를 깨닫고 코드에 적용하다 보면 왜 C언어가 어셈블러에 가깝다는 얘기가 나오는지 이해가 될 것입니다. C언어의 변수 타입은 문자·숫자·문자열로 특성에 맞추어 선언한다기보다는 변수의 크기를 정하는 쪽에 가깝습니다. 아울러 이렇게 생각하는 것이 C언어 코딩에 도움이 큽니다. 예를 들어 int는 정수 변수이기도 하지만, 4바이트의 변수로, char는 문자보다는 1바이트 크기의 변수로 생각한다면 C언어에서 변수 다루기가 편..
  • thumbnail
    컴퓨터/PC

    deprecated conversion from string constant to 'char*' 컴파일 경고 제거 방법

    deprecated conversion from string constant to 'char*' 컴파일 경고 제거 방법 컴파일 에러보다 무서운 것이 경고(warning)라고 생각합니다. 그래서 꼭 경고 메시지를 제거하는데, 이상 없던 코드에 경고문이 뜨네요. deprecated conversion from string constant to 'char*'. 코드를 여러 번 보아도 도대체 뭐가 이상하다는지 이해를 못 하겠습니다. 그러나 이유를 알고 보니 지금껏 컴파일 경고는 없었지만, 조심해 왔던 내용이었습니다. 바로 상수 문자열을 포인터 변수로 사용하는 문제입니다. 아래의 코드를 보면 이상이 없어 보이지만, 위험을 가지고 있는 코드입니다. int main( void){ char *str= "badayak...
  • thumbnail
    컴퓨터/컴퓨터 이야기

    C/C++ 언어 표준 코딩 정하기

    아래의 글은 제가 운영하는 임베디드 리눅스 포럼인 FALINUX 포럼에 올린 글입니다. 저 혼자 작성하는 프로그램이라면 마음 편히 작성하면 되겠습니다만, 포럼에 자료를 올릴 때에는 작은 샘플 프로그램이라도 규칙을 가지고 작성해서 올리고 싶어서 C 언어 표준 코딩을 정리하게 되었습니다. FALINUX 포럼에 올린 글을 여기에 올리는 이유는, 포럼보다 jwmx 블로그에 손님이 많아, 더 많은 분의 관심과 말씀을 기대하고 싶어서 입니다. 처음 글이라 빠진 부분도 많아서 앞으로 방법을 계속 추가하려 합니다만 잘 될지 모르겠습니다. ^^ 표준 코딩 규칙의 필요성 gxLib와 관련하여 최근 글인 "PNG 이미지 출력을 위한 분석 1"을 올렸습니다만, 첨부된 gxLib 0.5.6 버전을 보시고 황당해 하실지 모르겠습..
    이모티콘창 닫기
    울음
    안녕
    감사해요
    당황
    피폐

    이모티콘을 클릭하면 댓글창에 입력됩니다.