이번 글에서는 구조체 배열, 구조체 포인터, ->연산자,구조체와 함수에 대해서 알아 볼 것이다. 1.구조체 배열 구조체 배열은 같은 구조체를 여러 개 모은것이다. 그냥 일반 배열이랑 다를게 없다. .연산자로 멤버들 접근하는 것만 빼면 그냥 배열과 똑같다. 예시를 보자면struct student list[100]; 처럼 구조체형 list 변수에다가 []로 크기를 표시해주면 된다. 배열과 마찬가지로 구조체 배열도 초기화를 해줄 수 있다.바로 이렇게! 2.구조체를 가리키는 포인터 구조체를 가리키는 포인터도 일반 변수에서의 포인터와 똑같다. 그냥 포인터가 그 구조체의 주소를 가리키고 있는 것이다. 이렇게 구조체 포인터 변수를 선언해주고 포인터 변수p에 구조체 변수s의 주소를 넣어주면 포인터변수 p는 s의 주소를..
분류 전체보기
오늘은 구조체에 대해서 알아보겠다. 구조체란? 배열은 같은 형의 데이터들을 묶을 수 있는 명령어라면, 구조체는 서로 다른형의 데이터를 묶을 수 있는 명령어이다. 그림으로 나타내보자면이러한 형태이다. 그러면 구조체는 어떻게 만들까? 우리는 두가지의 개념을 먼저 알고가야된다. 하나는 ‘구조체 형’을 선언하는 것, 두번째는 ‘구조체 형 변수’를 선언하는것이다. 먼저 구조체 형 선언을 먼저 보면이렇게 할 수 있다. struct라는 키워드를 써주고 구조체의 이름을 써준다. 그러면 구조체 student라는 형이 선언 된 것이다. 우리가 int a;하면 정수형 변수 a를 선언한것 처럼, student a;를 해주면 구조체 studnet형 변수 a를 선언해준 것이다. 그 후 {}로 묶고 ;으로 마무리 해주면 된다. {..
저번 포스팅에 이어서, 이번에는 합성관계, 합성관계의 거듭제곱, 추이관계와 거듭제곱의 관계, 폐포, 연결관계와 추이관계에 대해서 알아볼 것이다. 1.합성관계(composition Relation) 이걸 그림으로 표현하면이렇게 된다. 뒤에 있는 관계가 먼저이기 때문에 관계행렬로 표현할 시 관계R이먼저 오게 된다. 2.합성관계의 거듭제곱 관계행렬로 나타내었을 때, R의 2승은 자기자신을 부울곱 해주면 된다. 거듭제곱과 추이관계에는 관계가 있는데 그 관계는이것이다. 말로 하면 어려우니까 예제를 들어보자면이렇게 할 수 있다. 이걸 또 증명해보자. 우선 관계R이 추이관계인지 알아봐야겠다.그 후 추이관계와 거듭제곱의 관계를 이용해서 풀어보면이렇게 된다. 3.폐포(Closure) 집합 A에 대한 관계를 R이라 하고,..
오늘은 이산수학 중 관계(Relation)에 대해서 할 것이다. 먼저 기본용어인 정의역,공변역,치역,역관계에대해서 알아보고 그 후 관계의 표현 방법에 대해서 알아볼 것이다. 1. 정의역(Domain : dom(R))2. 공변역 (Coomain : codom(R)) 3. 치역(Range : ran(R)) 4.역관계(Inverse Relation : R^-1) 아마 이렇게 글로만 봤을 때는 이해가 안될것이다. 근데 예제를 풀면 아주 쉽게 이해할 수 있다. 문제를 풀어보자면, 정의역=dom(R)=A={a,b,c,d} 공변역=codom(R)=B={p,q,r} 치역=ran(R)={p,r} 이다. 치역은 두번째 원소에서 R에 포함되지 않은 원소는 빼주면 된다. 이제 이러한 관계들을 표현하는 방법들을 알아보겠다. 총..
명제는 객관적인 기준으로 진릿값을 판별할 수 있는 문장이나 수식이다. x+7=12의 경우 x에 어떤 값이 들어갔느냐에 따라 진릿값이 달라지므로 명제가 아니다. 하지만? 변수에 입력되는 값이 정해진아면 진릿값을 판별할 수 있다는 말이된다. 이와 같이 변수를 포함한 문장이나 수식이 명제가 되기 위해서는 변수의 범위를 정해줘야하는데 우리는 이것을 ‘한정자’라고한다. 또한 한정자에 의해 범위가 정해지는 변수를 포함하는 명제를 명제함수라고 한다. 또 D는 논의 영역이라고 해서 명제함수에 포함된 변수 x의 범위나 값이다. 한정자에는 전체한정자,존재한정자가 있다. 바로 예제로 넘어가겠다. 위에서 보듯이, 전체한정자는 논의영역안의 모든 값을 대입했을 때 성립해야지 참이고, 존재한정자는 적어도 어떤 하나의 값을 대입했을..
오늘은 논리적 동치에 대해서 알아볼 것이다. 논리적 동치란? 두개의 합성명제 P와 Q의 진릿값이 서로 같은 경우를 뜻한다. 두개의 합성명제가 논리적으로 동치인지 판별하는 방법에는 2가지가 있다. 첫번째는 진리표를 이용하는 방법,두번째는 논리적 동치법칙을 이용하는 방법이다. 첫번째 진리표는 손으로 직접 진리표를 적어서 두 합성명제의 진릿값이 서로 같으면 논리적동치라고 할 수 있다. 우리가 눈여겨봐야 할 것은 논리적 동치법칙이다. 아래는 논치적동치법칙을 정리해놓은 그림이다. 한번 흡수법칙을 증명해보겠다. 전 포스팅에서도 말했듯이 곱연산은 곱하기로 합연산은 더하기로 써줄 수 있다. 흡수법칙 증명에서 중요한 것은 항등원 1을 p에 곱해주는 것이다. 그렇다면 예제도 풀어보겠다. 어떤 법칙을 써서 간략히 풀어줄지 ..