반응형 프로그래밍./C언어.27 [C언어] char을 int형으로 int형을 char형으로. 간단예제. [C언어] char을 int형으로 int형을 char형으로. 간단한 예제. 일단 기본 설명을 하자면 atoi, atof, itoa함수 원형은 int atoi (const char* str) double atof (const char* str) char *itoa ( int value , char *str , int radix ); 대충 이런식이다. 보면 아는 사람도 있겠지만 문자열을 정수로 바꾸는 것은 atoi 문자열을 실수로 바꾸는 것은 atof 정수를 문자열로 바꾸는 것은 itoa 이다. 일단 기본적으로 문자열을 정수로 바꿀 때 당연히 숫자만 정수로 바뀌며 문자가 시작 된 다음부터는 인식하지 않는다. ex)"2005년도 10월" 이라고 하면 2005만 정수로 바뀌어서 저장 됨. 간단한 예제를 보자. .. 2011. 5. 9. 동적 메모리 할당 (malloc / calloc / realloc / free) 동적 메모리 할당 (malloc / calloc / realloc / free) 동적 메모리. malloc, calloc, realloc 에 대해서 알아보자. 일단 기본적인 개념부터 이해 하자면. 배열을 예로 들어서, 배열이 필요하지만 몇개가 필요한지 알 수 없는 경우. 우리는 일반적으로 예제를 하거나 간단한 코딩을 하는 경우에는 아래와 같이 사용한다. int arr[100]; 100정도. 혹는 1000 실행에도 크게 문제가 없고 별 다른 문제는 없어 보인다. 하지만 만약에. 이 중 단 10개만 사용한다면? 혹은 그래서 10개만 선언 했는데 20개가 필요하게 된다면? 크게 잡아 놓으면 낭비가 되고, 모자라면 처리를 못하는 것이다. 게다가 공간 할당은 메인의 최 상위 처음 프로그램 실행시 미리 할당을 받아.. 2011. 4. 26. 구조체에서 char의 크기가 다른 이유. char형 int 강제 형 변환(정수의 승격.) char형 int 강제 형 변환(정수의 승격.) 일단 기초부터 시작하자면. CPU는 Word 단위로 연산을 한다. word란 CPU가 한번에 처리할 수 있는 데이터 크기를 의미한다. 우리가 흔히 말하는 32비트 시스템. window 32비트, 64비트 뭐 이런게 있는데 32bit 에서는 int를 32bit 로 표현한다. 즉 4byte. 당연히 32bit 단위로 일을 처리하는게 가장 빠르며. 때문에 char, short int 등은 int로 변환(승격) 되어진 후 연산이 되고 다시 원래대로 돌아간다. 즉, char는 int로 변환 된 후 연산하고 다시 char로 돌아간다 이야기다. 때문에 변환과 변환이 있어 사이즈가 작음에도 불구하고 더 느리다는 이야기. 사실 이 부분은 어셈블리어나 조금 더 기계적인 부분.. 2011. 4. 10. typedef란? typedef 사용법 typedef의 개념. 말 그대로 자료형(type)를 정의 하는 것(define) int나 float 같은 자료형을 내가 원하는 대로 정의 할 수 있다. 음.. 자료형의 이름을 바꾼다고 볼 수도 있겠다. typedef int MY; int라는 자료형을 MY라고 바꾼다는 뜻. 이렇게 정의하면 int a; 대신에 MY a; 로 선언해도 똑같다. 책에서 이야기 하는 장점의 예는, 지금은 모르겠지만 예전에 컴퓨터 시스템마다 int형의 바이트 크기가 다른 경우가 있었다. 때문에 int를 INT16, INT32 형식으로 선언해서 다른이가 알아보기 편하게 한다는 내용이 있었다. 이해하기 쉬운 예는.. unsingned int를 UINT로 변환하는 걸까나? unsigned int는 기존의 int에서 음수부분을 표기하던.. 2011. 3. 28. C언어 파일 입출력 C언어 파일 입출력. 파일에 쓰기, 읽어오기 C언에서 화면에 쓰는 것 말고, 파일에 쓰기. 즉 저장하기와 읽기를 알아보자 파일에는 FILE구조체를 통해 접근 하는데 FILE구조체를 가르키는 포인터를 파일 포인터라고 한다. FILE *fopen(const char *name, const char *mode); name은 파일 이름, mode는 여는 방식.(읽기, 쓰기 등등) "r" - 읽기 모드 (파일이 반드시 있어야 함) "w" - 쓰기모드 (파일 없으면 생성, 있으면 기존 내용은 지워짐) "a" - 추가 모드 (파일이 없으면 생서, 있으면 파일의 맨 끝에 추가 됨,) "r+" - 읽기 쓰기 모드 (파일이 반드시 존재해야 함) "w+" - 읽기와 쓰기 모드 (파일이 없으면 생성, 있으면 기존 파일에 덮어.. 2011. 3. 28. 두 개의 문서 읽어서 새로운 하나에 쓰기 #include void main() { FILE *fp[2], *fpw; char arr[100]; // 파일에서 읽어들인 내용 저장할 배열 int i; fp[0] = fopen("read.txt", "r"); // 읽을 파일명, 모드 fp[1] = fopen("write.txt", "r"); fpw = fopen("test.txt", "w"); for(i=0; i 2011. 3. 28. 이전 1 2 3 4 5 다음 반응형