구조체란 하나 이상의 변수를 그룹 지어서 새로운 자료형을 정의하는 것이다.
구조체를 정의하는 기본적인 방법
point 라는 이름은 하나의 자료형이 된것이다
--> 기본자료형 변수를 묶어 새로운 자료형을 만든 것!!
구조체 정의와 구조체 변수 선언의 분리
구조체 변수로의 접근
구조체의 멤버에 배열도 들어갈수 있다.
구조체 변수와 포인터
:구조체 포인터를 선언하여 구조체 변수를 가리킬 수 있다
person이라는 구조체가 이미 있다고 가정하고
이렇게 구조체 포인터를 선언 할수 있다.
포인터 변수와 구조체 멤버
: 구조체의 멤버로 포인터가 선언되는 경우
구조체 변수의 주소값과 구조체 변수의 첫 번째 멤버의 주소 값
"구조체 변수의 주소 값과 구조체 변수의 첫 번째 멤버의 주소 값은 같다"
구조체를 정의하는 기본적인 방법
struct point // point라는 이름의 구조체 선언
{
int x; //구조체 멤버
int y; //구조체 멤버
};
point 라는 이름은 하나의 자료형이 된것이다
--> 기본자료형 변수를 묶어 새로운 자료형을 만든 것!!
구조체 정의와 구조체 변수 선언의 분리
struct point {
int x;
int y;
};
int main(void)
{
struct point p1, p2, p3;
...
return 0;
}
구조체 변수로의 접근
int main(void)
{
struct point p1, p2, p3;
p1.x=10;
p2.x=20;
...
return 0;
}
구조체의 멤버에 배열도 들어갈수 있다.
struct person {
char name[20];
char phone[20];
};
구조체 변수와 포인터
:구조체 포인터를 선언하여 구조체 변수를 가리킬 수 있다
person이라는 구조체가 이미 있다고 가정하고
struct person* p;
이렇게 구조체 포인터를 선언 할수 있다.
#include <stdio.h>
struct person {
char name[20];
char phone[20];
};
int main()
{
struct person man = {"thomas", "354-00xx"};
struct person* pMan;
pMan= &man;
//구조체 변수를 이용한 출력
printf("name : %s\n", man.name);
printf("phone : %s\n", man.phone);
//구조체 포인터를 이용한 출력
printf("name : %s\n", (*pMan).name);
printf("name : %s\n", (*pMan).phone);
//구조체 포인터를 이용한 출력 2
printf("name : %s\n", pMan->name);
printf("name : %s\n", pMan->phone);
return 0;
포인터 변수와 구조체 멤버
: 구조체의 멤버로 포인터가 선언되는 경우
struct perinfo{
char addr[30];
char tel[20];
};
struct person {
char name[20];
char pID[20];
struct perinfo* info;
};
구조체 변수의 주소값과 구조체 변수의 첫 번째 멤버의 주소 값
"구조체 변수의 주소 값과 구조체 변수의 첫 번째 멤버의 주소 값은 같다"
'linux > linux tips' 카테고리의 다른 글
쉘스크립트 결과 화면 깨질때 (0) | 2013.01.03 |
---|---|
구조체 변수의 전달과 리턴 (0) | 2012.01.09 |
리눅스 함수에 대한 이해 (0) | 2012.01.09 |
리눅스 프로그래밍 오류처리 (1) | 2012.01.07 |
우분투 11.10 에서 vnc 하기 (1) | 2011.10.30 |