일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- Google reCaptcha
- 구글 reCaptcha
- C언어 파일입출력
- C언어
- 포인터
- Oracle
- 오라클
- C언어 변수
- C언어 메모리
- placehoder
- C언어 구조체
- java
- C언어 매크로
- 날짜
- jsp
- Naver SmartEditor
- SQL
- gcc
- TCP/IP 소켓
- HTML5
- C언어 배열
- Spring google
- 역순
- Spring email
- GUI
- Vim
- 텍스트 파일 읽기
- 자바
- URL 다운로드
- C언어 함수
- Today
- Total
목록C언어/포인터와 배열 (29)
easy software
포인터 부분이 조금 길어져서 죄송합니다. 그만큼 중요한 내용이라고 생각하시고, 잘 따라와 주시기 바랍니다. 저도 부족하지만 최선을 다하겠습니다. 그리고 이 글을 처음 보시는 분들은 제목에 써져있는 만큼 앞에 1, 2강이 따로 있습니다. 원하는 정보가 없다면 1과 2강을 참고해주시기 바랍니다. 저도모르게 강의라고 하니까 쫌 우습네요. 그냥 정보라고 하겠습니다. 이번시간에는 다차원 배열과 포인터의 이해2에 이어서 진행하도록 하겠습니다. 다차원 배열과 포인터의 이해2에서 문제 2번과 3번을 봐주세요. Ctrl+n 을 누르시면 편리하게 두개의 창을 띄워놓고 보실 수 있습니다. 문제 2와 3의 답을 구하셨고, 구하지 못했더라도 제 답을 보셨죠? 그런데 문제 2와 3에서는 제가 구한 답말고도 다른 답이 있습니다. ..
저번시간에 다뤘던 다차원배열과 포인터의 관계를 좀더 깊이있게 알아보도록 하겠습니다. 이번에는 마지막즈음에 여러가지 예제도 병행하면서, 포인터를 정복해 보도록 합시다. 다만 이번 글에서는 그림이 없습니다... 이유는 그림을 직접 그려보시란 뜻으로 제공하지 않는 것입니다. int arr[2][4]; 와 완전히 일치하는 타입의 포인터 변수를 선언하려면 어떻게 해야 할까요? int (*pArr)[4]; 로 선언하면 됩니다. *pArr은 포인터란 뜻이고, 맨앞에 int는 int형 변수를 가리킨다는 뜻입니다. 그리고 맨 뒤에있는 [4]는 4칸씩 건너뛴다라는 의미입니다. 이들을 조합해보면 'int형 변수를 가리키며, 크기가 4x4(int형 이므로)씩 증가하는 pArr이라는 포인터 변수다' 라는 뜻이 됩니다. int ..
안녕하세요. 이번 시간에는 이론 위주로 글을 작성하려 합니다. 포인터의 막바지라고 말씀드릴 수 있겠네요. 너무 장황하게 설명드리지 않고, 요점만 딱딱 찝어서 글을 작성하겠습니다. 2차원 배열 int a[3][2]; 선언 int a[3][2] = {1, 2, 3, 4, 5, 6}; printf("a[0] : %d \n", a[0]); printf("a[1] : %d \n", a[1]); printf("a[2] : %d \n", a[2]); printf("a : %d \n", a); 위의 코드를 실행하면 어떤 값이 출력될까요? a[0] ~ a[2]까지는 8바이트씩 차이나는 주소값이 출력됩니다. 그리고 a[0]와 a의 값은 같습니다. 즉 a[0]은 a[0][0] 을 가리키고, a[1]은 a[1][0]을 가리키..
안녕하세요. 이번 시간에는 포인터와 배열을 이용하여 사용자로부터 정수를 입력받고, 그 중에서 최댓값과 최솟값을 출력하는 예제를 해보려 합니다. 다만, 이번에는 더블(이중)포인터의 개념도 들어갑니다. 간단히 더블포인터란 무엇인지부터 살펴보도록 하죠. int a = 10; int *ptr = &a; 아주 간단한 포인터 연산입니다. ptr이라는 int형 포인터 변수에 num의 주소값을 줘서 가리키게 하는 연산이죠. ptr도 변수이기 때문에 주소가 있겠죠? ptr은 * 연산자가 한개있는 싱글 포인터 변수이기 때문에, 이 포인터를 가리키게 하려면 * 연산자가 두개있는 더블 포인터 변수를 선언해야 합니다. int **ptr2 = &ptr; 이렇게 하면 아래와 같은 그림처럼 ptr2가 ptr을 가리키고, ptr이 a..
뭐 제목만 거창하지, 사실 예제문제에 가깝습니다. 제목때문에 제 블로그를 찾아서 헛걸음 하신 분들 있다면 죄송합니다. 이제 본론으로 돌아가서 문제를 제시하겠습니다. 1. 사용자로부터 아래 그림에 있는 인원들의 각 과목 성적을 입력받는다. 2. 그리고 아래의 형태로 저장하여 출력해준다. 이 문제를 해결 할 수 있을 능력이면, 2차원 배열은 거의 마스터 하셨다고 봐도 됩니다. 다만, 프로그래밍 입문자인 분들이 2차원 배열을 처음 접하고 이 문제를 보면 상당히 고난이도의 문제로 느끼실 수 있습니다. 하지만 생각보다 어렵지 않으니 한번 코드를 작성해보시고, 그래도 되지않으면 아래의 제가 작성한 코드를 확인하고 이해해주시기 바랍니다. #include int main(void){ int arr[5][5]; int ..