본문 바로가기

C

c언어 프로젝트 (v 0.5) 더보기
c언어 공부 프로젝트 (ver 0.3) 더보기
c, c++ 면접 1.C 언어에서 볼레타일, 논볼레타일에 대하여 설명하시오 Volatile : 키워드 중 하나입니다. volatile로 선언된 변수는 외부적인 요인으로 그 값이 언제든지 바뀔 수 있음을 뜻합니다. Nonvolatile : 위의 Volatile의 반대입니다. 2.스택이란? 함수로 전달되는 인수, 지역변수 등의 임시 변수들이 저장되고 함수 실행 후 돌아갈 복귀 번지도 저장되는 기억장소 3.세마포어란? 뮤텍스와의 차이는? 한정된 자원을 여러개의 프로세스들이 사용해야 할 경우, 프로세스들 간에 자원 사용시 충돌이 없도록 하기 위해서 세마포어를 사용합니다. Critical Section을 가진 Thread들의 running time이 서로 겹치지 않게, 각각 단독으로 실행되게 하는 기술입니다 세마포어는 스레드간 재.. 더보기
c language do you know how to make the computer application? anwer is c language, c++, java, etc. the basicest one thing of them is c language first, if you learn about c language you will learn quickly other computer langue 더보기
구조체와 열거형 연습( ========================================================================================================================================= card.h #include #include enum enumsuit {Hearts, Diamonds, Clubs, Spades}; enum enumface {Ace, Deuce, Three, Four, Five, Six, Seven, Eight, Nine, Ten, Jack, Queen, King}; typedef enum eumsuit enumsuit; typedef enum enumface enumface; struct card { enumsuit suit.. 더보기
배열에 문자열 할당하기 초기할당시 배열에 문자열 할당가능 a[] = "adsfjklafd"; 재 할당시는 배열에 문자열 할당 불가능 a[] = "adsfjlkasd"; strcpy()함수를 이용하여 배열에 문자열을 할당해야 함 더보기
상수와 변수의 차이 상수 : 정해져 있는 값 (예: 1, 2, 3, ...) 변수 : 상수를 담을 수 있는 그릇 (예 : 변수a = 1, 변수a에 상수1을 넣는다) 다차원 배열에서의 포인터에서 이 개념이 꼭 필요하다... tary[0][0]이 있다고 할 때 tary와 tary[0]는 모두 상수로 tary[0][0]의 주소값을 가짐 *tary = tary tary는 변수가 아니고 상수이므로 포인터 변수가 될 수 없다 그러므로 tary는 tary[0]을 가르키기는 하지만 tary[0]의 주소값을 가지고 있지는 않다 더보기
char []와 char * 차이점 char str[] = "abc"; char *str = "abc"; printf("%s", str) 하면 똑같이 abc가 찍혀나오니깐 별 차이가 없다고 생각할 수도 있겠지만 이 두 선언은 엄연히 다르다. 위 코드를 gcc -S 옵션으로 어셈블리로 생성해보면 두 코드 모두 "abc"를 .rodata 섹션에 할당한다, gcc2_compiled.: .section .rodata .LC0: .byte 0x61,0x62,0x63,0x0 여기서 .rodata는 읽기 전용(read only) 데이터를 말한다. 그렇다면 다음과 같은 코드를 실행하면 어떻게 될까? int main() { char *str = "abc"; str[0] = 'b'; } str은 .rodata 영역에 있는 "abc"에 대한 포인터이므로 이 .. 더보기