본문 바로가기

[C언어] C언어 기초강좌 9 / C언어 / 프로그래밍 기초 / 프로그램 만들기 이번 강좌 에서는 포인터와 배열의 관계와 함수 포인터, 그리고 구조체에 대해서도 알아보겠습니다. 1. 배열이 이상하다? 배열을 사용하다가 보면 이상한 점을 많이 발견하셨을 겁니다. 예를 들어 scanf함수로 정수 변수에 어떤 정수를 입력 받을땐 int Var; scanf("%d",&Var); 이렇게 했죠? 그런데 문자배열에 문자열을 입력 받을땐 char Var[100]; scanf("%s",Var); 이렇게 했습니다. 왜 문자배열에 문자열을 입력 받을땐 scanf("%s",&Var); 이렇게 &를 붙이지 않았을까요? 그리고 함수에 값을 전달할때 배열을 전달하면 왜 Passing by reference로 전달 되었을까요? 정말 궁금하시지 않습니까? 이유는 배열명이 포인터이기 때문이죠. 그러니까 배열명은 배.. 더보기
[C언어] C언어 기초강좌 8 / C언어 / 프로그래밍 기초 / 프로그램 만들기 이번 강좌 에서는 포인터에 대해서 알아보도록 하겠습니다. 포인터는 C언어에서 정말로 중요하죠. C가 강력한 이유중 하나가 이 포인터 때문입니다. 대부분의 사람들이 C언어를 공부할때 바로 이 포인터를 가장 어렵게 생각합니다. 하지만 제가 생각하기엔 이 포인터는 그렇게 어려운 것이 아니라고 생각합니다. 어렵다는 생각을 갖지 마시고 포인터는 정말 쉬운 것이라는 생각을 갖고 이 강좌를 읽어 보시기 바랍니다. 1. 포인터가 도대체 무엇? 포인터의 정확한 이름은 '포인터형 변수' 입니다. 그냥 줄여서 포인터라고 하는 것이죠. 그럼 여기서 포인터는 변수라는걸 아셨겠죠? 변수에는 정수 형태, 장정수, 부동 소숫점 수, 문자 형태 등등이 있습니다. 그럼 포인터는 도대체 어떤 형태 일까요? 포인터는 바로 주소 형태 입니다.. 더보기
[C언어] C언어 기초강좌 7 / C언어 / 프로그래밍 기초 / 프로그램 만들기 이번 강좌에서는 C언어에서의 함수의 사용법에 대해서 알아보도록 하겠습니다. 1. 함수에 값 전달. 여러분이 어떤 함수를 만든다고 합시다. 그 함수는 printf와 같이 어떤 내용을 화면에 출력하는 함수이죠. 그런데 화면에 무언가를 출력하기 위해선 그 출력할 내용을 전달받아야 겠죠? 어떻게 하면 전달받을수 있을까요? 바로 그 방법에 대해서 자세히 알아보도록 하죠. 저번 2회때 함수에 대해 배울때 인수라는 것이 있었습니다. 그때 인수는 함수가 어떤 처리를 할때 필요해서 전달받을 데이터라고 했죠. 이 인수를 통해서 함수가 값을 전달받을수 있습니다. (1) 인수가 정확히? 인수에 대해 정확히 말하자면 함수에서 값을 전달받는데 쓰이는 변수를 말합니다. 즉 변수의 일종이죠. 아니 일종이 아니고 변수라고 생각하세요... 더보기