개인공부/C언어(71)
-
C언어 - 함수 포인터의 원리
어떠한 함수의 주소값을 저장할수 있는지? 함수에 출력이 뭔지 입력이 뭔지? return parameter 함수포인터를 지정하려면 반환값이 void, int, double char 등등 무엇인지 그리고 입력값이 무엇인지 () (char) (int) 등등 지정해줘야함. 포인터란 결국 주소값을 저장하는 변수이다. 프로그램 코드( TEXT Segment) 우리가 코딩하고 컴파일하면 exe 실행파일이 생기는데 이 실행파일은 하드디스크에 저장이된다. 우리가 운영체제에게 실행파일을 실행해달고 요청하면 운영체제는 프로그램을 메모리에 복사해서 올린다 그 프로그램 코드 자체가 저장되는곳이 TEXT Segement( Read Only: 읽기전용) 그래서 문자열과 관련되어서 실수를 많이 할수있다. ( 읽기전용인데 바꾸려고 시..
2020.11.15 -
C언어 - 열거형
출처 : 홍정모의 따라배우는 C언어
2020.11.15 -
C언어 - 공용체의 원리
구조체는 데이터를 묶어놓은것, 그데이터로 가지고 할수있는 일들을 기능까지 집어넣은 것이 객체지향에서 말하는 객체(Object), class이다. int main(){ /* 서로 다른 데이터 타입들이 같은 메모리 공간을 사용한다. (구조체와의 차이점) union my_union{ int i; double d; char c; }; // 메모리를 같이 사용한다. (padding이 없다.) union my_union uni; printf("%zd\n", sizeof(union my_union)); // 8 printf("%lld\n", (long long)&uni); // 19920800 printf("%lld %lld %lld\n", (long long)&uni.i, (long long)&uni.d, (lon..
2020.11.15 -
C언어 - 구조체를 함수로 전달하는 방법
struct fortune{ char bank_name[FUNDLEN]; double bank_saving; charfund_name[FUNDLEN]; double fund_invest; }; //double sum(double, double); double sum(struct fortune my_fortune); int main(){ struct fortune my_fortune = { "Welles-Fargo", 4032.27, "JPMorgan Chase", 8543.94 }; printf("Total : $%.2f.\n", //sum(&my_fortune.bank_saving, &my_fortune.fund_invest)); sum(my_fortune); // 위를 이렇게 쓸수있으면 얼마나 편할까..
2020.11.15 -
C언어 - 구조체를 다른 구조체의 멤버로 사용하기
#definfe LEN 20 struct names { char given[LEN]; char family[LEN]; }; struct reservation { struct names guest; struct names host; char food[LEN]; char place[LEN]; //time int year; int month; int day; int hour; int minutes; }; int main(void){ struct reservation res ={ .guest = {"Nick", "Carraway"}, .host = {"Jay", "Gatsby"}, .place = {"the Gatsby mansion"}, .food = {"Escargo"}, .year =1925, .month..
2020.11.15 -
C언어 - 구조체의 기본적인 사용법
서로 다른 자료형인 배열들을 내가 원하는 형태로 가져와서 쓸수없을까? = 구조체 struct가 마치 자료형인것처럼 변수를 선언한다. 이름 배열, 키 배열, 몸무게 배열, 나이 배열 .(dot) 도 연산자이다 (구조체 멤버에 접근할수 있는 구조체 연산자이다.) 역시 변수를 선언 할때 메모리를 가진다. (위의 모양과 같이) 구조체의 형태대로 틀에짜여 나오게 된다. (보통 붕어빵에 비유해서 말함, 서양에선 쿠키틀에 비교) struct person //Person is a tag of structure { char name[MAX]; // member int age;// member float height;// member }; // 구조체가 선언 될때 메모리를 가짐 // 위는 틀을 짠것뿐 아직 메모리를 받은게..
2020.11.14