본문 바로가기

프로그래밍/C언어

[C언어] 포인터(3) - 포인터와 배열 안녕하세요 ! 초보개발자 입니다. 이 블로그는 개인 공부 정리용 블로그 입니다. 혹 잘못된 내용이 있다면 지적 부탁드리겠습니다.그리고 질문주신다면 최대한 아는선에서 답변드리도록 하겠습니다.그럼 시작하도록 하겠습니다. 1.포인터(3) 1) 포인터와 배열 포인터로 배열도 다룰 수 있습니다. 길이가 4 인 int배열 arr(int arr[4]={0,1,2,3} 이 있을 경우 메모리에 저장된 배열은 다음과 같이 나타낼 수 있습니다. 배열 요소의 타입이 int 형이므로 배열의 각 요소의 사이 간격은 4byte인것을 알 수 있습니다. 예제를 통해서 알아 보겠습니다. 12345678910111213141516#include int main(void) { int arr[4] = { 0,1,2,3 }; int *pt =.. 더보기
[C언어] 포인터(2) - 포인터의 형변환 안녕하세요 ! 초보개발자 입니다. 이 블로그는 개인 공부 정리용 블로그 입니다. 혹 잘못된 내용이 있다면 지적 부탁드리겠습니다.그리고 질문주신다면 최대한 아는선에서 답변드리도록 하겠습니다.그럼 시작하도록 하겠습니다. 1.포인터(2) 1)포인터의 형변환 포인터의 타입도 변수처럼 형변환이 가능합니다. 포인터의 타입이 의미하는 것은 얼마만큼의 데이터를 읽어 오는지에 대한것이며 포인터 타입이 형변환이 되면 읽어올 데이터의 양과 해석방법이 달라질뿐 저장된 값에는 아무런 영향을 미치지 않습니다. 단계별로 포인터 타입간의 형변환을 살펴보도록 하겠습니다. (1) 변수 i의 주소를 포인터pi에 저장을 합니다.(i의 주소값은 0x100이라고 가정하였습니다.)int i =0x1B2B3B4B;int *pi = &i; (2) .. 더보기
[C언어] 포인터(1) - 포인터란 ? 안녕하세요 ! 초보개발자 입니다. 이 블로그는 개인 공부 정리용 블로그 입니다. 혹 잘못된 내용이 있다면 지적 부탁드리겠습니다.그리고 질문주신다면 최대한 아는선에서 답변드리도록 하겠습니다.그럼 시작하도록 하겠습니다. 1. 포인터 1. 변수와 메모리 주소 int i = 1; 이 코드는 int형 타입의 변수 i를 선언하고 1을 저장한 코드입니다. 변수 i는 메모리 어딘가에 저장될 것 입니다. 위 그림에서 파란색 부분이 i 변수 입니다. 메모리의 주소는 0x100 ~ 0x103 까지 4byte의 공간이 주어졌습니다. 요약하면 다음과 같습니다. 변수의 이름 : i변수의 타입 : int메모리 주소 : 0x100값 : 0x000000001 이때까지 변수를 변수의 이름으로만 다루었지만 변수를 주소로 다루는 것도 가능.. 더보기
[C언어] 지역변수, 전역변수,정적변수 안녕하세요 ! 초보개발자 입니다. 이 블로그는 개인 공부 정리용 블로그 입니다. 혹 잘못된 내용이 있다면 지적 부탁드리겠습니다.그리고 질문주신다면 최대한 아는선에서 답변드리도록 하겠습니다.그럼 시작하도록 하겠습니다. 1. 지역 변수 {} 블럭내에 선언된 변수를 지역 변수라고 합니다. 함수의 몸통이나 조건문과 반복문의 {} 블럭에 우리는 변수를 선언하여 왔습니다. 그래서 우리는 이때까지 지역변수만을 선언 하였습니다. 아래에 나와 있는 코드를 보면 x, y , result는 모두 지역 변수 입니다. void add(int x, int y){ int result=0;result = x + y;return result;}다른 예제를 한번 살펴 보도록 하겠습니다. void func() { int tmp = 100.. 더보기
[C언어] 함수(2) 안녕하세요 ! 초보개발자 입니다. 이 블로그는 개인 공부 정리용 블로그 입니다. 혹 잘못된 내용이 있다면 지적 부탁드리겠습니다.그리고 질문주신다면 최대한 아는선에서 답변드리도록 하겠습니다.그럼 시작하도록 하겠습니다. 함수(FUNCTION) 1. 함수의 원형 선언 저번시간에 우리는 함수를 선언 할 때 선언부(반환타입,함수이름,매개변수 선언)와 구현부(구현할 문장)로 구성되어 있다는 것을 배웠습니다. int sum(int x, int y){int result = x + y; return result;} 여기서 함수의 선언부만 적는 것을 함수의 선언이라고 합니다. 그렇다면 함수의 원형을 선언하는 이유는 무엇일까요 ? 예를 들어 보겠습니다. 123456789101112131415#include int main(.. 더보기
[C언어] 함수(1) 안녕하세요 ! 초보개발자 입니다. 이 블로그는 개인 공부 정리용 블로그 입니다. 혹 잘못된 내용이 있다면 지적 부탁드리겠습니다.그리고 질문주신다면 최대한 아는선에서 답변드리도록 하겠습니다.그럼 시작하도록 하겠습니다. 함수(FUNCTION) 1. 함수란 ? 함수는 특정 작업을 수행하는 일련의 문장들을 하나로 묶은 것입니다. 어떤 값을 입력하면 입력된 값을 이용하여 작업을 수행해 결과를 반환하는 것입니다. 예를 들면 이때까지 우리가 사용하였던 printf 함수는 문자열을 입력하면 입력한 문자열을 출력 합니다. 위 그림을 바탕으로 함수는 다음과 같은 기본적인 세가지로 이루어져있는 것을 알 수 있습니다. - 함수의 이름(sqrt)- 함수의 입력(4.0)- 함수의 출력(2.0) 입력 값만 함수에 넣으면 결과를 출.. 더보기
[C언어] 연습문제 안녕하세요 ! 초보개발자 입니다. 이 블로그는 개인 공부 정리용 블로그 입니다. 혹 잘못된 내용이 있다면 지적 부탁드리겠습니다.그리고 질문주신다면 최대한 아는선에서 답변드리도록 하겠습니다.그럼 시작하도록 하겠습니다. 1. 아래와 같이 출력되는 프로그램을 작성하시오. 12345678910111213#include int main(void) { int sum = 0; for (int i = 1; i 더보기
[C언어] 연습문제(2) 안녕하세요 ! 초보개발자 입니다. 이 블로그는 개인 공부 정리용 블로그 입니다. 혹 잘못된 내용이 있다면 지적 부탁드리겠습니다.그리고 질문주신다면 최대한 아는선에서 답변드리도록 하겠습니다.그럼 시작하도록 하겠습니다. 1. 아래와 같이 출력되는 프로그램을 작성 하시오. 1부터 1까지의 합 : 11부터 2까지의 합 : 31부터 3까지의 합 : 61부터 4까지의 합 : 101부터 5까지의 합 : 151부터 6까지의 합 : 211부터 7까지의 합 : 281부터 8까지의 합 : 361부터 9까지의 합 : 451부터 10까지의 합 : 55 2. 아래와 같이 삼각형 모양의 별이 출력되는 프로그램을 작성 하시오. *************** 3. 아래와 같이 출력하는 프로그램을 작성 하시오. 12233344445555.. 더보기
[C언어] 연습문제(1) 답 안녕하세요 ! 초보개발자 입니다. 이 블로그는 개인 공부 정리용 블로그 입니다. 혹 잘못된 내용이 있다면 지적 부탁드리겠습니다.그리고 질문주신다면 최대한 아는선에서 답변드리도록 하겠습니다.그럼 시작하도록 하겠습니다. 1. 두 개의 정수를 입력받아 사칙연산이 되는 프로그램을 작성해 보세요. 12345678910111213141516#include#pragma warning (disable:4996)int main(void) { int num1; int num2; printf("두개의 정수를 입력하세요\n"); scanf("%d %d", &num1, &num2); printf("%d + %d = %d\n", num1, num2, num1 + num2); printf("%d - %d = %d\n", num1,.. 더보기
[C언어] 연습문제(1) 안녕하세요 ! 초보개발자 입니다. 이 블로그는 개인 공부 정리용 블로그 입니다. 혹 잘못된 내용이 있다면 지적 부탁드리겠습니다.그리고 질문주신다면 최대한 아는선에서 답변드리도록 하겠습니다.그럼 시작하도록 하겠습니다. 이번시간에는 이때까지 배운내용을 바탕으로 문제를 풀어 보도록 하겠습니다. 1. 두 개의 정수를 입력받아 사칙연산이 되는 프로그램을 작성해보세요. 2. 하나의 정수를 입력 받아 제곱 연산을 하는 프로그램을 작성해 보세요. 3. 하나의 정수를 입력 받아서 입력 받은 단의 구구단을 출력하는 프로그램을 작성 하세요. 4. 아래와 같이 출력되는 프로그램을 작성 하세요. 5. 아래와 같이 출력되는 프로그램을 작성 하세요. 정답은 다음 포스팅에 올리도록 하겠습니다. 직접 풀어보시면 좋을 거 같습니다. 더보기