함수
[perl] 함수 인자 파서, 함수의 수령인자를 ','기준으로 구분해서 반환하는 기능능능
2일 전에 perl을 시작했는데 하면 할 수록 편리하네요!C언어였다면 메모리 관리며 이것 저것 관리했을텐데... 함수의 인자들을 분리하는 함수입니다. ex) function(A, B,C, D, E); 'A'' B''C''D'' E'이렇게 구분되는 것을 어떤 분이 만들어 놓으신 trim을 이용해서 앞 부분의 space를 전부 제거하였습니다. #!/usr/bin/perl use warnings; sub trim($) { my $string = shift; $string =~ s/^\s+//; $string =~ s/\s+//; return $string; } sub parser($) { my $string = shift; my @result; @result = split(/\(/, $string); @res..
[c] define으로 함수 선언하기
1.zip.c를 분석하다가 zip.h에 define으로 함수가 많이 선언되어 있는 것을 보고 실험 시작. 2.보통 define으로 함수를 만들면 swap을 많이 만든다.따라서 하나 만들어 보았다. #include #define swap(a,b) {char temp =(a); (a) = (b); (b) = temp;} int main(int argc, char *argv) { char a = 'a'; char b = 'b'; swap(a,b); printf("%c , %c\n",a ,b); return 0; } 여기서 얻은 결론은 define의 함수는 순서대로 실행된다는 것.
[c++] 스택에 저장된 곳을 다른 함수가 주소를 받아서 사용할 수 있을까?
1.코드로 실험해보기로 한다. 2. 아래 코드와 같다. #include #include void pass(pthread_mutex_t *pMutex) { printf("pass : %p\n", pMutex); } int main(int argc, char *argv[]) { pthread_mutex_t m_mutex; printf("main : %p\n", &m_mutex); pass(&m_mutex); return 0; } 결과main : 0xbf9a5d64pass : 0xbf9a5d64 두개가 동일한 주소를 가리키고 있다. 3. 그러면 조작도 가능할까? #include #include void pass(pthread_mutex_t *pMutex) { printf("pass : %p\n", pMutex..
[c++] const char vs char 비교 실험
"결론은 그냥 쓰니깐 되더라."자세한건 자세히 설명 나와있는 블로그로.. 저는 코드 중심으로 모으니깐요..^~^ 1.그냥 한번 해보았다. 서로 값 주고 받기.const char가 char한테 주는 형식으로. 2.이건 잘 동작한다. #include #include #include int main() { const char array[] = {"abcdefg"}; char *pStr; pStr = (char *)malloc(sizeof(char)*10); strcpy(pStr, array); printf("%s\n", pStr); return 0;} 3.이러한 방식으로 값이 주고 받기도 한다.여기서 포인트는 char의 포인터의 주소를 줘야지 그 주소를 기반으로 한 포인터 한줄(배열)이 생겨난다.만약에 포인터..