C
-
이차원 배열의 동적 메모리 할당C 2011. 10. 15. 12:07
1차원 배열을 동적할당하려면 malloc()를 한번만 사용하면 된다. 2차원 배열을 동적으로 할당하려면 malloc()을 여러번 사용해야한다. 동적 배열을 이용한 이차원 배열은 다음과 같다. int **array = null; //2차원 동적 배열을 잡기 위한 포인터 int m=8,width=n; // m 행 n 열 배열을 잡기 위한 변수 array = (int **) malloc( sizeof(int *)* m );// m 행을 동적 배열로 잡음 for( int i=0; i < m ; i++) array[i] = (int *) malloc( sizeof(int)* n );// m 행만큼 루프를 돌면서 각 행 마다 n 열씩 동적 배열을 잡음 동적 배열을 해제 할 때는 다음과 같이 한다. for (i=0;i
-
자주 사용하는 문자열 관련 함수 정리C 2011. 10. 14. 17:38
04년도에 보던 것인데 이번 기회에 포스팅! ** 문자열 처리 함수 ** #include 1) 문자열의 길이 측정(strlen) strlen(문자열) 2) 문자열 결합(strcat) char *ptr; ptr = strcat(문자열1, 문자열2) //문자열1에 문자열2가 붙는다. //리턴값은 문자열1의 번지값이 리턴된다. 3) 문자열 비교(strcmp) int i; i = strcmp(문자열, 문자열2) i == 0 정수 atol -> long atof -> 부동 소수점. long b; float c; int a; a = atoi("1234"); b = atol("-544334"); c = atof("43.5456); 6) 문자열 교환 함수 (str_swap) 2) 문자열 결합(strcat) char *..
-
리눅스에서 gcc 컴파일 할 때 reference 에러C 2011. 10. 12. 01:37
#include #include int main() { printf("%lf",pow(3,5)); return 0; } 리눅스에서 gcc 컴파일하니까 (.text+0x175): undefined reference to `pow' 이런 오류가 뜨네 이럴땐, gcc source.c -lm -lm을 링크해야 하는 이유 : man 페이지에서 해당 함수를 위해 사용해야 할 별도의 라이브러리가 있는지 확인한다. libm.a 라이브러리를 지정해줘야 math.h 에 있는 pow() 를 쓸 수 있다. (참고) libc.a 는 gcc 에서 기본적으로 include 된다.