선언

    [c++] 전방선언이란 어떻게 사용하는 것인가?!

    1. 키워드 전방선언,선언,전방,foward declaraions,foward,사용,방법,코드,소스,예제, 전치선언, 전방참조, 2. 설명 : 전방 선언을 할 경우 클래스의 존재만 인지시키는 것이기 때문에 포인터로 밖에 선언하지 못한다. 전방선언을 사용하는 이유는 참조하려는 헤더파일에 변경이 생겨도 헤더파일의 재컴파일이 이루어지 지지 않기 때문에 효율성과 속도를 증진시키고자 사용한다. 또한 역참조가 되는 구조를 막기도 한다. 3. 설명보단 코드 -> 일단, 이건 알고 가야한다. 전방 선언을 사용해서는 객체를 생성하거나 정의할 수 없고 단순히 포인터를 전달받을 수 있다. 가령 이런식이다. Hi.h Hi.cpp Bye.h 가 존재할 때, Hi.h는 Hi.cpp에서 생성된 Bye.h객체의 주소를 저장해야 한다..

    [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. 변수를 선언하는 것은 스택에 공간을 할당하면서 어떤 타입으로 쓸지를 선언하는 것이다.즉 int, int *, int ** 등이 성질이 동일한 공간에 할당되지만 각기 기능이 달르게 설정되어 있어서 실제로 동작하는 방식도 다르게 된다. 여기서 생각해볼때 변수의 타입은 선언하는 것의 저장할 모양을 명시함과 동시에 논리적인 저장 구조를 갖는다는 생각을 하게 되었다. 3.예시를 하나 적는다. void main() { char ****a; char ***b; char **c; char *e; char d; e = &d; c = &e; b = &c; a = &b;} 이런 식으로 구성되며 b는 주소의 (1) 주소의 (2)..