<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mediawiki.zeropage.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=165.194.17.138</id>
	<title>ZeroWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zeropage.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=165.194.17.138"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php/Special:Contributions/165.194.17.138"/>
	<updated>2026-05-14T16:57:55Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9-%EB%82%A0%EB%8B%A4%EB%9E%8C%EC%A5%90_6%EC%9B%94_10%EC%9D%BC&amp;diff=52394</id>
		<title>새싹-날다람쥐 6월 10일</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9-%EB%82%A0%EB%8B%A4%EB%9E%8C%EC%A5%90_6%EC%9B%94_10%EC%9D%BC&amp;diff=52394"/>
		<updated>2009-06-10T11:54:12Z</updated>

		<summary type="html">&lt;p&gt;165.194.17.138: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://wiki.zeropage.org/wiki.php/%EC%9C%A0%EC%A0%95%EC%84%9D] &lt;br /&gt;
&lt;br /&gt;
-&amp;gt; 홈으로&lt;br /&gt;
&lt;br /&gt;
= 동적 할당 =&lt;br /&gt;
&lt;br /&gt;
char *d; &lt;br /&gt;
&lt;br /&gt;
d = (char*)malloc(sizeof(char)*100);&lt;br /&gt;
&lt;br /&gt;
여기서 malloc(sizeof(char)*100);&lt;br /&gt;
&lt;br /&gt;
은 메모리 상의 어느 곳에 (sizeof(char)*100)byte만큼의 공간을 할당하고 그 주소를 반환한다. &lt;br /&gt;
&lt;br /&gt;
그리고 d는 char*형태이기 때문에 Casting을 해 주어서 (char*)malloc(sizeof(char)*100); 와 같은 형태가 되어야 한다.&lt;br /&gt;
이 것은 char d ［100］와 같은 변수 선언법이다.&lt;br /&gt;
&lt;br /&gt;
char *d;&lt;br /&gt;
&lt;br /&gt;
d = (char*)malloc(sizeof(char)*100); &lt;br /&gt;
&lt;br /&gt;
와 같이 선언을 했더라도 d［10］와 같은 배열적 접근도 가능하다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ex)이것으로 2차원 배열을 만들려면? &lt;br /&gt;
&lt;br /&gt;
char **arrray, *d;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
d = (char*)malloc(sizeof(char) * 100); &lt;br /&gt;
&lt;br /&gt;
arrray = (char**)malloc(sizeof(d) * 100); &lt;br /&gt;
&lt;br /&gt;
이렇게 하면 char array ［100］［100］와 같은 형태가 된다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 이걸 왜 쓰냐? ==&lt;br /&gt;
&lt;br /&gt;
int temp;&lt;br /&gt;
&lt;br /&gt;
char *d;&lt;br /&gt;
&lt;br /&gt;
scanf(&amp;quot;d의 배열 크기를 입력해주세요.\n%d&amp;quot;, temp);&lt;br /&gt;
&lt;br /&gt;
d = (char*)malloc(sizeof(char) * temp); &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
와 같은 형태를 통해서 자신이 원하는 크기를 배열에 할당시킬 수 있다.&lt;br /&gt;
C에서는 변수 선언을 맨 위에 해야 하므로 int d［temp］와 같은 형태로 선언할 수 없다.(아무데서나 선언을 할 수 있는 C++에서도 이런 형태는 불가능하다.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;결론 : 메모리의 최적화를 위해서.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= FREE 의 사용법 =&lt;br /&gt;
free(d); 를 이용해서 지금 실행중인 프로그램에 종속되어있는 sizeof(char) * temp만큼의 메모리를 OS에 다시 반환시킨다.&lt;br /&gt;
&lt;br /&gt;
이 free는 가장 하위 포인터에만 사용이 가능하다. 따라서 array를 모두 free시키려면 for문을 돌려서 free(array［i］)와 같이 모두 없애준 후에 free(array);를 해야 한다.&lt;br /&gt;
&lt;br /&gt;
하지만 간단한 프로그램에서는 이렇게 해 줄 필요가 없다. 프로그램을 종료시키면 알아서 OS가 가져가기 때문에.&lt;br /&gt;
&lt;br /&gt;
나중에 거대 프로젝트(오랜시간동안 켜 놓아야 하는 게임 같은 경우)에서는 메모리 반환을 하지 않으면 컴퓨터가 느려지고 가용메모리가 없어져서 메모리를 요청했을 때 메모리가 부족해 프로그램을 다시 껐다 켜야 하는 상황이 발생할 수 있다.&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>165.194.17.138</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9-%EB%82%A0%EB%8B%A4%EB%9E%8C%EC%A5%90_6%EC%9B%94_10%EC%9D%BC&amp;diff=52393</id>
		<title>새싹-날다람쥐 6월 10일</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9-%EB%82%A0%EB%8B%A4%EB%9E%8C%EC%A5%90_6%EC%9B%94_10%EC%9D%BC&amp;diff=52393"/>
		<updated>2009-06-10T11:49:00Z</updated>

		<summary type="html">&lt;p&gt;165.194.17.138: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://wiki.zeropage.org/wiki.php/%EC%9C%A0%EC%A0%95%EC%84%9D] &lt;br /&gt;
&lt;br /&gt;
-&amp;gt; 홈으로&lt;br /&gt;
&lt;br /&gt;
= 동적 할당 =&lt;br /&gt;
&lt;br /&gt;
char *d; &lt;br /&gt;
&lt;br /&gt;
d = (char*)malloc(sizeof(char)*100);&lt;br /&gt;
&lt;br /&gt;
여기서 malloc(sizeof(char)*100);&lt;br /&gt;
&lt;br /&gt;
은 메모리 상의 어느 곳에 (sizeof(char)*100)byte만큼의 공간을 할당하고 그 주소를 반환한다. &lt;br /&gt;
&lt;br /&gt;
그리고 d는 char*형태이기 때문에 Casting을 해 주어서 (char*)malloc(sizeof(char)*100); 와 같은 형태가 되어야 한다.&lt;br /&gt;
이 것은 char d ［100］와 같은 변수 선언법이다.&lt;br /&gt;
&lt;br /&gt;
char *d;&lt;br /&gt;
&lt;br /&gt;
d = (char*)malloc(sizeof(char)*100); &lt;br /&gt;
&lt;br /&gt;
와 같이 선언을 했더라도 d［10］와 같은 배열적 접근도 가능하다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ex)이것으로 2차원 배열을 만들려면? &lt;br /&gt;
&lt;br /&gt;
char **arrray, *d;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
d = (char*)malloc(sizeof(char) * 100); &lt;br /&gt;
&lt;br /&gt;
arrray = (char**)malloc(sizeof(d) * 100); &lt;br /&gt;
&lt;br /&gt;
이렇게 하면 char array ［100］［100］와 같은 형태가 된다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 이걸 왜 쓰냐? ==&lt;br /&gt;
&lt;br /&gt;
int temp;&lt;br /&gt;
&lt;br /&gt;
char *d;&lt;br /&gt;
&lt;br /&gt;
scanf(&amp;quot;d의 배열 크기를 입력해주세요.\n%d&amp;quot;, temp);&lt;br /&gt;
&lt;br /&gt;
d = (char*)malloc(sizeof(char) * temp); &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
와 같은 형태를 통해서 자신이 원하는 크기를 배열에 할당시킬 수 있다.&lt;br /&gt;
C에서는 변수 선언을 맨 위에 해야 하므로 int d［temp］와 같은 형태로 선언할 수 없다.(아무데서나 선언을 할 수 있는 C++에서도 이런 형태는 불가능하다.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;결론 : 메모리의 최적화를 위해서.&#039;&#039;&#039;&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>165.194.17.138</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EB%82%A0%EB%8B%A4%EB%9E%8C%EC%A5%90_6%EC%9B%949%EC%9D%BC&amp;diff=45519</id>
		<title>날다람쥐 6월9일</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EB%82%A0%EB%8B%A4%EB%9E%8C%EC%A5%90_6%EC%9B%949%EC%9D%BC&amp;diff=45519"/>
		<updated>2009-06-10T11:48:42Z</updated>

		<summary type="html">&lt;p&gt;165.194.17.138: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===  ZeroPage (새싹-날다람쥐 6월 9일)  ===&lt;br /&gt;
&lt;br /&gt;
[http://wiki.zeropage.org/wiki.php/%EC%9C%A0%EC%A0%95%EC%84%9D]&lt;br /&gt;
&lt;br /&gt;
 -&amp;gt; 홈으로&lt;br /&gt;
&lt;br /&gt;
= 포인터(Pointer)에 대해서. =&lt;br /&gt;
포인터란? &lt;br /&gt;
&lt;br /&gt;
포인터란, 어떤 변수의 &#039;주소&#039;를 참조하는 변수이다. 예)&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 주소&lt;br /&gt;
| &lt;br /&gt;
| 변수&lt;br /&gt;
| &lt;br /&gt;
| 내용&lt;br /&gt;
|-&lt;br /&gt;
| 1000&lt;br /&gt;
| &lt;br /&gt;
| a&lt;br /&gt;
| &lt;br /&gt;
| 13&lt;br /&gt;
|-&lt;br /&gt;
| 1004&lt;br /&gt;
| &lt;br /&gt;
| b&lt;br /&gt;
| &lt;br /&gt;
| 14&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int a = 13; int b = 14; 이라는 선언을 통해 가능하며, 메모리 상의 어떤 주소에 있는 13 이라는 데이터는 a라는 변수의 이름을 통해서 나타내어진다.&lt;br /&gt;
&lt;br /&gt;
 여기서 주소가 1000 이후에 1004 인 이유는 int가 4byte이기 때문이다.(여기서 주소는 예를 든 것임) &lt;br /&gt;
&lt;br /&gt;
a = 14; 라는 명령어를 통해 a의 내용을 14로 바꿀 수 있다. &lt;br /&gt;
그리고 printf(&amp;quot;%d&amp;quot;, a); 라는 명령어를 통해 바뀐 것을 확인할 수 있다.&lt;br /&gt;
 a라는 것은 a라는 변수가 나타내는 주소(1000)의 내용을 나타내주는 것이다. &lt;br /&gt;
a의 주소를 표현하는 방법에는 &#039;&amp;amp;&#039;을 붙이는 방법이 있다. &lt;br /&gt;
printf(&amp;quot;%u&amp;quot;, &amp;amp;a);의 결과값은 1000이다.(%u 맞나? ㅋㅋ 찾아보길. 맞을꺼야 %u는 주소값을 표현하는 표현식.)&lt;br /&gt;
 &lt;br /&gt;
포인터는 *라는 문자를 통해서 표현하는데,&lt;br /&gt;
&lt;br /&gt;
 만약에 INT형의 주소를 나타내는 변수 IP를 선언하고 싶으면 int* ip; 라고 표현하면 된다.&lt;br /&gt;
&lt;br /&gt;
 int *ip; 도 가능한 표현이다.(이게 약간 더 옳은 표현.) &lt;br /&gt;
&lt;br /&gt;
예를 들어 int *ip, i; 이렇게 하면 뒤의 i는 일반적인 int로, 앞의 ip는 포인터 INT형으로 선언이 된다.&lt;br /&gt;
 &lt;br /&gt;
포인터가 가리키는 곳의 값을 쓸 때는 앞에 *을 붙인다. 예) int a = 13; int* ap = &amp;amp;a; printf(&amp;quot;%d %d&amp;quot;, a, *ap); &lt;br /&gt;
&lt;br /&gt;
결과값 : 13 13 &lt;br /&gt;
&lt;br /&gt;
하지만 포인터를 왜&#039;쓰는지 잘 모르는 경우가 많다.-_-;&lt;br /&gt;
&lt;br /&gt;
함수 내에서 값을 아무리 바꿔봤자 지역변수 의 내용은 바뀌지 않는다. 이것을 어디서나 쓸 수 있게 하기 위해서. &lt;br /&gt;
예)&lt;br /&gt;
&lt;br /&gt;
 void add(int a, int b, int* cp) { &lt;br /&gt;
&lt;br /&gt;
*cp = a + b; // cp라는 포인터가 가리키는 주소의 값을 a + b로 바꿔준다(main 함수 안의 c). &lt;br /&gt;
&lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
int main() { &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 int a = 13, b = 14, c; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
add(a, b, &amp;amp;c); // a와 b의 값을, c의 주소를 넣는다. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
printf(&amp;quot;%d&amp;quot;, c); // 결과값 : 27&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= 배열과 포인터 =&lt;br /&gt;
배열은 여러개의 변수가 모인 형태이다. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 1000&lt;br /&gt;
| &lt;br /&gt;
| 3&lt;br /&gt;
|-&lt;br /&gt;
| 1004&lt;br /&gt;
| &lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| 1008&lt;br /&gt;
| &lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| 1012&lt;br /&gt;
| &lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| 1016&lt;br /&gt;
| &lt;br /&gt;
| 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
은 int a&amp;amp;#91;5&amp;amp;#93; = {3, 4, 2, 1, 8};을 선언한 형태이다.&lt;br /&gt;
 여기서 주목할 점은 우리가 출력할 때 &lt;br /&gt;
printf(&amp;quot;%d&amp;quot;, a&amp;amp;#91;0&amp;amp;#93;);&lt;br /&gt;
와 같이 배열의 번지수를 적어주어야 한다는건데&lt;br /&gt;
 왜 printf(&amp;quot;%d&amp;quot;, a); 와 같이 적으면 안되는지 알아보자. &lt;br /&gt;
 a == &amp;amp;a&amp;amp;#91;0&amp;amp;#93;&lt;br /&gt;
이라는 것을 외우도록 하고 &lt;br /&gt;
int* ap = a; &lt;br /&gt;
&lt;br /&gt;
라고 한다면 ap에는 a의 첫 번째 변수(a&amp;amp;#91;0&amp;amp;#93;)의 주소가 들어가게 된다. &lt;br /&gt;
물론 출력할 때는 printf(&amp;quot;%d&amp;quot;, *ap); 와 같이 a&amp;amp;#91;0&amp;amp;#93;을 출력할 수도 있다.&lt;br /&gt;
 이것은 캐릭터, 더블 등 다른 변수에도 모두 적용된다. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 과제 ===&lt;br /&gt;
(맨 밑의 고치기 버튼을 누르면 수정할 수 있고, 자기 이름 밑에 내용 쓰기. 위의 내용은 바꿔도 되지만 책임못짐 ㅋㅋ) &lt;br /&gt;
= 포인터를 이용한 간단한 프로그램 =&lt;br /&gt;
이름과 반을 3개 입력받고 포인터를 이용해서 edit라는 함수 안에서 2번째 입력받은 사람을 수정한 후 다시 출력하기. 예) 유정석 1 &lt;br /&gt;
이지은 3 &lt;br /&gt;
김윤석 5 &lt;br /&gt;
* 2번째 사람을 수정해 주세요 - &lt;br /&gt;
장다예 4 &lt;br /&gt;
* 결과 - &lt;br /&gt;
유정석 1 &lt;br /&gt;
장다예 4 &lt;br /&gt;
김윤석 5 &lt;br /&gt;
&lt;br /&gt;
= 배열의 이동을 포인터로?! =&lt;br /&gt;
바로 위의 배열을 모두 출력하는데, printf(&amp;quot;%d&amp;quot;, *(ap + @))의 형태로 출력해보자. 여기서 모든 값들을 출력하려면 @에 각각 어떤 수가 들어가는지 직접 해보고 왜 그런지 설명하기. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 김상훈 ==&lt;br /&gt;
&lt;br /&gt;
== 김윤석 ==&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	int a&amp;amp;#91;5&amp;amp;#93; = {3,4,2,1,8};&lt;br /&gt;
	int* ap = a;&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
	printf(&amp;quot;%d\n&amp;quot;, *ap);&lt;br /&gt;
	printf(&amp;quot;%d\n&amp;quot;, *(ap+1));&lt;br /&gt;
	printf(&amp;quot;%d\n&amp;quot;, *(ap+2));&lt;br /&gt;
	printf(&amp;quot;%d\n&amp;quot;, *(ap+3));&lt;br /&gt;
	printf(&amp;quot;%d\n&amp;quot;, *(ap+4));&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
//정석: 여기서 ap+1 에서의 1 은 1byte의 1이 아니라 sizeof(int) * 1 의 1이다. 따라서 for문 형태로 작성할 때는 ap + i로 하면 된다.&lt;br /&gt;
== 이지은 ==&lt;br /&gt;
&lt;br /&gt;
== 장다예 ==&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>165.194.17.138</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EC%9C%A0%EC%A0%95%EC%84%9D&amp;diff=65776</id>
		<title>유정석</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EC%9C%A0%EC%A0%95%EC%84%9D&amp;diff=65776"/>
		<updated>2009-06-10T11:48:21Z</updated>

		<summary type="html">&lt;p&gt;165.194.17.138: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===  ZeroPage (새싹-날다람쥐) ===&lt;br /&gt;
== Profile ==&lt;br /&gt;
날다람쥐 &lt;br /&gt;
== 목표 ==&lt;br /&gt;
C시험을 잘보자. &lt;br /&gt;
== 계획 ==&lt;br /&gt;
C시험을 잘보자. &lt;br /&gt;
== 진행중 ==&lt;br /&gt;
[http://wiki.zeropage.org/wiki.php/%EB%82%A0%EB%8B%A4%EB%9E%8C%EC%A5%90%206%EC%9B%949%EC%9D%BC]&lt;br /&gt;
&lt;br /&gt;
(배열과 포인터의 기초)-&amp;gt; 6월 10일(수) 수업시간 전까지 읽고 물어볼거 생각해오기&lt;br /&gt;
&lt;br /&gt;
[http://wiki.zeropage.org/wiki.php/%EC%83%88%EC%8B%B9-%EB%82%A0%EB%8B%A4%EB%9E%8C%EC%A5%90%206%EC%9B%94%2010%EC%9D%BC]&lt;br /&gt;
&lt;br /&gt;
(동적 할당에 대해서) -&amp;gt; 포인터를 공부한 후에 공부해야 한다.&lt;br /&gt;
== 질문과 답 ==&lt;br /&gt;
[http://wiki.zeropage.org/wiki.php/%EC%83%88%EC%8B%B9-%EB%82%A0%EB%8B%A4%EB%9E%8C%EC%A5%90-%EC%A7%88%EB%AC%B8]&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; 들어가서 질문하고 문자나 네이트온&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>165.194.17.138</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EC%9C%A0%EC%A0%95%EC%84%9D&amp;diff=65775</id>
		<title>유정석</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EC%9C%A0%EC%A0%95%EC%84%9D&amp;diff=65775"/>
		<updated>2009-06-10T11:48:13Z</updated>

		<summary type="html">&lt;p&gt;165.194.17.138: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===  ZeroPage (새싹-날다람쥐) ===&lt;br /&gt;
== Profile ==&lt;br /&gt;
날다람쥐 &lt;br /&gt;
== 목표 ==&lt;br /&gt;
C시험을 잘보자. &lt;br /&gt;
== 계획 ==&lt;br /&gt;
C시험을 잘보자. &lt;br /&gt;
== 진행중 ==&lt;br /&gt;
[http://wiki.zeropage.org/wiki.php/%EB%82%A0%EB%8B%A4%EB%9E%8C%EC%A5%90%206%EC%9B%949%EC%9D%BC]&lt;br /&gt;
&lt;br /&gt;
(배열과 포인터의 기초)-&amp;gt; 6월 10일(수) 수업시간 전까지 읽고 물어볼거 생각해오기&lt;br /&gt;
&lt;br /&gt;
[http://wiki.zeropage.org/wiki.php/%EC%83%88%EC%8B%B9-%EB%82%A0%EB%8B%A4%EB%9E%8C%EC%A5%90%206%EC%9B%94%2010%EC%9D%BC]&lt;br /&gt;
&lt;br /&gt;
(동적 할당에 대해서) -&amp;gt; 포인터를 공부한 후에 공부해야 한다.&lt;br /&gt;
== 질문과 답 ==&lt;br /&gt;
[http://wiki.zeropage.org/wiki.php/%EC%83%88%EC%8B%B9-%EB%82%A0%EB%8B%A4%EB%9E%8C%EC%A5%90-%EC%A7%88%EB%AC%B8]&lt;br /&gt;
-&amp;gt; 들어가서 질문하고 문자나 네이트온&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>165.194.17.138</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EC%9C%A0%EC%A0%95%EC%84%9D&amp;diff=65774</id>
		<title>유정석</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EC%9C%A0%EC%A0%95%EC%84%9D&amp;diff=65774"/>
		<updated>2009-06-10T11:48:05Z</updated>

		<summary type="html">&lt;p&gt;165.194.17.138: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===  ZeroPage (새싹-날다람쥐) ===&lt;br /&gt;
== Profile ==&lt;br /&gt;
날다람쥐 &lt;br /&gt;
== 목표 ==&lt;br /&gt;
C시험을 잘보자. &lt;br /&gt;
== 계획 ==&lt;br /&gt;
C시험을 잘보자. &lt;br /&gt;
== 진행중 ==&lt;br /&gt;
[http://wiki.zeropage.org/wiki.php/%EB%82%A0%EB%8B%A4%EB%9E%8C%EC%A5%90%206%EC%9B%949%EC%9D%BC]&lt;br /&gt;
(배열과 포인터의 기초)-&amp;gt; 6월 10일(수) 수업시간 전까지 읽고 물어볼거 생각해오기&lt;br /&gt;
[http://wiki.zeropage.org/wiki.php/%EC%83%88%EC%8B%B9-%EB%82%A0%EB%8B%A4%EB%9E%8C%EC%A5%90%206%EC%9B%94%2010%EC%9D%BC]&lt;br /&gt;
(동적 할당에 대해서) -&amp;gt; 포인터를 공부한 후에 공부해야 한다.&lt;br /&gt;
== 질문과 답 ==&lt;br /&gt;
[http://wiki.zeropage.org/wiki.php/%EC%83%88%EC%8B%B9-%EB%82%A0%EB%8B%A4%EB%9E%8C%EC%A5%90-%EC%A7%88%EB%AC%B8]&lt;br /&gt;
-&amp;gt; 들어가서 질문하고 문자나 네이트온&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>165.194.17.138</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9-%EB%82%A0%EB%8B%A4%EB%9E%8C%EC%A5%90_6%EC%9B%94_10%EC%9D%BC&amp;diff=52392</id>
		<title>새싹-날다람쥐 6월 10일</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9-%EB%82%A0%EB%8B%A4%EB%9E%8C%EC%A5%90_6%EC%9B%94_10%EC%9D%BC&amp;diff=52392"/>
		<updated>2009-06-10T11:47:20Z</updated>

		<summary type="html">&lt;p&gt;165.194.17.138: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= 동적 할당 =&lt;br /&gt;
&lt;br /&gt;
char *d; &lt;br /&gt;
&lt;br /&gt;
d = (char*)malloc(sizeof(char)*100);&lt;br /&gt;
&lt;br /&gt;
여기서 malloc(sizeof(char)*100);&lt;br /&gt;
&lt;br /&gt;
은 메모리 상의 어느 곳에 (sizeof(char)*100)byte만큼의 공간을 할당하고 그 주소를 반환한다. &lt;br /&gt;
&lt;br /&gt;
그리고 d는 char*형태이기 때문에 Casting을 해 주어서 (char*)malloc(sizeof(char)*100); 와 같은 형태가 되어야 한다.&lt;br /&gt;
이 것은 char d ［100］와 같은 변수 선언법이다.&lt;br /&gt;
&lt;br /&gt;
char *d;&lt;br /&gt;
&lt;br /&gt;
d = (char*)malloc(sizeof(char)*100); &lt;br /&gt;
&lt;br /&gt;
와 같이 선언을 했더라도 d［10］와 같은 배열적 접근도 가능하다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ex)이것으로 2차원 배열을 만들려면? &lt;br /&gt;
&lt;br /&gt;
char **arrray, *d;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
d = (char*)malloc(sizeof(char) * 100); &lt;br /&gt;
&lt;br /&gt;
arrray = (char**)malloc(sizeof(d) * 100); &lt;br /&gt;
&lt;br /&gt;
이렇게 하면 char array ［100］［100］와 같은 형태가 된다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 이걸 왜 쓰냐? ==&lt;br /&gt;
&lt;br /&gt;
int temp;&lt;br /&gt;
&lt;br /&gt;
char *d;&lt;br /&gt;
&lt;br /&gt;
scanf(&amp;quot;d의 배열 크기를 입력해주세요.\n%d&amp;quot;, temp);&lt;br /&gt;
&lt;br /&gt;
d = (char*)malloc(sizeof(char) * temp); &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
와 같은 형태를 통해서 자신이 원하는 크기를 배열에 할당시킬 수 있다.&lt;br /&gt;
C에서는 변수 선언을 맨 위에 해야 하므로 int d［temp］와 같은 형태로 선언할 수 없다.(아무데서나 선언을 할 수 있는 C++에서도 이런 형태는 불가능하다.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;결론 : 메모리의 최적화를 위해서.&#039;&#039;&#039;&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>165.194.17.138</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9-%EB%82%A0%EB%8B%A4%EB%9E%8C%EC%A5%90_6%EC%9B%94_10%EC%9D%BC&amp;diff=52391</id>
		<title>새싹-날다람쥐 6월 10일</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9-%EB%82%A0%EB%8B%A4%EB%9E%8C%EC%A5%90_6%EC%9B%94_10%EC%9D%BC&amp;diff=52391"/>
		<updated>2009-06-10T11:46:59Z</updated>

		<summary type="html">&lt;p&gt;165.194.17.138: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= 동적 할당 =&lt;br /&gt;
&lt;br /&gt;
char *d; &lt;br /&gt;
&lt;br /&gt;
d = (char*)malloc(sizeof(char)*100);&lt;br /&gt;
&lt;br /&gt;
여기서 malloc(sizeof(char)*100);&lt;br /&gt;
&lt;br /&gt;
은 메모리 상의 어느 곳에 (sizeof(char)*100)byte만큼의 공간을 할당하고 그 주소를 반환한다. &lt;br /&gt;
&lt;br /&gt;
그리고 d는 char*형태이기 때문에 Casting을 해 주어서 (char*)malloc(sizeof(char)*100); 와 같은 형태가 되어야 한다.&lt;br /&gt;
이 것은 char d ［100］와 같은 변수 선언법이다.&lt;br /&gt;
&lt;br /&gt;
char *d;&lt;br /&gt;
&lt;br /&gt;
d = (char*)malloc(sizeof(char)*100); &lt;br /&gt;
&lt;br /&gt;
와 같이 선언을 했더라도 d［10］와 같은 배열적 접근도 가능하다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ex)이것으로 2차원 배열을 만들려면? &lt;br /&gt;
&lt;br /&gt;
char **arrray, *d;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
d = (char*)malloc(sizeof(char) * 100); &lt;br /&gt;
&lt;br /&gt;
arrray = (char**)malloc(sizeof(d) * 100); &lt;br /&gt;
&lt;br /&gt;
이렇게 하면 char array ［100］［100］와 같은 형태가 된다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 이걸 왜 쓰냐? ==&lt;br /&gt;
&lt;br /&gt;
int temp;&lt;br /&gt;
&lt;br /&gt;
char *d;&lt;br /&gt;
&lt;br /&gt;
scanf(&amp;quot;d의 배열 크기를 입력해주세요.\n%d&amp;quot;, temp);&lt;br /&gt;
&lt;br /&gt;
d = (char*)malloc(sizeof(char) * temp); &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
와 같은 형태를 통해서 자신이 원하는 크기를 배열에 할당시킬 수 있다.&lt;br /&gt;
C에서는 변수 선언을 맨 위에 해야 하므로 int d［temp］와 같은 형태로 선언할 수 없다.(아무데서나 선언을 할 수 있는 C++에서도 이런 형태는 불가능하다.)&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;결론 : 메모리의 최적화.&amp;quot;&#039;&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>165.194.17.138</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9-%EB%82%A0%EB%8B%A4%EB%9E%8C%EC%A5%90_6%EC%9B%94_10%EC%9D%BC&amp;diff=52390</id>
		<title>새싹-날다람쥐 6월 10일</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9-%EB%82%A0%EB%8B%A4%EB%9E%8C%EC%A5%90_6%EC%9B%94_10%EC%9D%BC&amp;diff=52390"/>
		<updated>2009-06-10T11:46:22Z</updated>

		<summary type="html">&lt;p&gt;165.194.17.138: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= 동적 할당 =&lt;br /&gt;
&lt;br /&gt;
char *d; &lt;br /&gt;
&lt;br /&gt;
d = (char*)malloc(sizeof(char)*100);&lt;br /&gt;
&lt;br /&gt;
여기서 malloc(sizeof(char)*100);&lt;br /&gt;
&lt;br /&gt;
은 메모리 상의 어느 곳에 (sizeof(char)*100)byte만큼의 공간을 할당하고 그 주소를 반환한다. &lt;br /&gt;
&lt;br /&gt;
그리고 d는 char*형태이기 때문에 Casting을 해 주어서 (char*)malloc(sizeof(char)*100); 와 같은 형태가 되어야 한다.&lt;br /&gt;
이 것은 char d ［100］와 같은 변수 선언법이다.&lt;br /&gt;
&lt;br /&gt;
char *d;&lt;br /&gt;
&lt;br /&gt;
d = (char*)malloc(sizeof(char)*100); &lt;br /&gt;
&lt;br /&gt;
와 같이 선언을 했더라도 d［10］와 같은 배열적 접근도 가능하다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ex)이것으로 2차원 배열을 만들려면? &lt;br /&gt;
&lt;br /&gt;
char **arrray, *d;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
d = (char*)malloc(sizeof(char) * 100); &lt;br /&gt;
&lt;br /&gt;
arrray = (char**)malloc(sizeof(d) * 100); &lt;br /&gt;
&lt;br /&gt;
이렇게 하면 char array ［100］［100］와 같은 형태가 된다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 이걸 왜 쓰냐? ==&lt;br /&gt;
&lt;br /&gt;
int temp;&lt;br /&gt;
&lt;br /&gt;
char *d;&lt;br /&gt;
&lt;br /&gt;
scanf(&amp;quot;d의 배열 크기를 입력해주세요.\n%d&amp;quot;, temp);&lt;br /&gt;
&lt;br /&gt;
d = (char*)malloc(sizeof(char) * temp); &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
와 같은 형태를 통해서 자신이 원하는 크기를 배열에 할당시킬 수 있다.&lt;br /&gt;
C에서는 변수 선언을 맨 위에 해야 하므로 int d［temp］와 같은 형태로 선언할 수 없다.(아무데서나 선언을 할 수 있는 C++에서도 이런 형태는 불가능하다.)&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>165.194.17.138</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9-%EB%82%A0%EB%8B%A4%EB%9E%8C%EC%A5%90_6%EC%9B%94_10%EC%9D%BC&amp;diff=52389</id>
		<title>새싹-날다람쥐 6월 10일</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9-%EB%82%A0%EB%8B%A4%EB%9E%8C%EC%A5%90_6%EC%9B%94_10%EC%9D%BC&amp;diff=52389"/>
		<updated>2009-06-10T11:46:07Z</updated>

		<summary type="html">&lt;p&gt;165.194.17.138: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= 동적 할당 =&lt;br /&gt;
&lt;br /&gt;
char *d; &lt;br /&gt;
&lt;br /&gt;
d = (char*)malloc(sizeof(char)*100);&lt;br /&gt;
&lt;br /&gt;
여기서 malloc(sizeof(char)*100);&lt;br /&gt;
&lt;br /&gt;
은 메모리 상의 어느 곳에 (sizeof(char)*100)byte만큼의 공간을 할당하고 그 주소를 반환한다. &lt;br /&gt;
&lt;br /&gt;
그리고 d는 char*형태이기 때문에 Casting을 해 주어서 (char*)malloc(sizeof(char)*100); 와 같은 형태가 되어야 한다.&lt;br /&gt;
이 것은 char d ［100］와 같은 변수 선언법이다.&lt;br /&gt;
&lt;br /&gt;
char *d;&lt;br /&gt;
&lt;br /&gt;
d = (char*)malloc(sizeof(char)*100); &lt;br /&gt;
&lt;br /&gt;
와 같이 선언을 했더라도 d［10］와 같은 배열적 접근도 가능하다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ex)이것으로 2차원 배열을 만들려면? &lt;br /&gt;
&lt;br /&gt;
char **arrray, *d;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
d = (char*)malloc(sizeof(char) * 100); &lt;br /&gt;
&lt;br /&gt;
arrray = (char**)malloc(sizeof(d) * 100); &lt;br /&gt;
&lt;br /&gt;
이렇게 하면 char array ［100］［100］와 같은 형태가 된다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 이걸 왜 쓰냐? ==&lt;br /&gt;
&lt;br /&gt;
int temp;&lt;br /&gt;
char *d;&lt;br /&gt;
scanf(&amp;quot;d의 배열 크기를 입력해주세요.\n%d&amp;quot;, temp);&lt;br /&gt;
&lt;br /&gt;
d = (char*)malloc(sizeof(char) * temp); &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
와 같은 형태를 통해서 자신이 원하는 크기를 배열에 할당시킬 수 있다.&lt;br /&gt;
C에서는 변수 선언을 맨 위에 해야 하므로 int d［temp］와 같은 형태로 선언할 수 없다.(아무데서나 선언을 할 수 있는 C++에서도 이런 형태는 불가능하다.)&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>165.194.17.138</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9-%EB%82%A0%EB%8B%A4%EB%9E%8C%EC%A5%90_6%EC%9B%94_10%EC%9D%BC&amp;diff=52388</id>
		<title>새싹-날다람쥐 6월 10일</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9-%EB%82%A0%EB%8B%A4%EB%9E%8C%EC%A5%90_6%EC%9B%94_10%EC%9D%BC&amp;diff=52388"/>
		<updated>2009-06-10T11:43:37Z</updated>

		<summary type="html">&lt;p&gt;165.194.17.138: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= 동적 할당 =&lt;br /&gt;
&lt;br /&gt;
char *d; &lt;br /&gt;
&lt;br /&gt;
d = (char*)malloc(sizeof(char)*100);&lt;br /&gt;
&lt;br /&gt;
여기서 malloc(sizeof(char)*100);&lt;br /&gt;
&lt;br /&gt;
은 메모리 상의 어느 곳에 (sizeof(char)*100)byte만큼의 공간을 할당하고 그 주소를 반환한다. &lt;br /&gt;
&lt;br /&gt;
그리고 d는 char*형태이기 때문에 Casting을 해 주어서 (char*)malloc(sizeof(char)*100); 와 같은 형태가 되어야 한다.&lt;br /&gt;
이 것은 char d ［100］와 같은 변수 선언법이다.&lt;br /&gt;
&lt;br /&gt;
char *d;&lt;br /&gt;
&lt;br /&gt;
d = (char*)malloc(sizeof(char)*100); &lt;br /&gt;
&lt;br /&gt;
와 같이 선언을 했더라도 d［10］와 같은 배열적 접근도 가능하다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ex)이것으로 2차원 배열을 만들려면? &lt;br /&gt;
&lt;br /&gt;
char **arrray, *d;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
d = (char*)malloc(sizeof(char) * 100); &lt;br /&gt;
&lt;br /&gt;
arrray = (char**)malloc(sizeof(d) * 100); &lt;br /&gt;
&lt;br /&gt;
이렇게 하면 char array ［100］［100］와 같은 형태가 된다.&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>165.194.17.138</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9-%EB%82%A0%EB%8B%A4%EB%9E%8C%EC%A5%90_6%EC%9B%94_10%EC%9D%BC&amp;diff=52387</id>
		<title>새싹-날다람쥐 6월 10일</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9-%EB%82%A0%EB%8B%A4%EB%9E%8C%EC%A5%90_6%EC%9B%94_10%EC%9D%BC&amp;diff=52387"/>
		<updated>2009-06-10T11:41:20Z</updated>

		<summary type="html">&lt;p&gt;165.194.17.138: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= 동적 할당 =&lt;br /&gt;
&lt;br /&gt;
char *d; &lt;br /&gt;
d = (char*)malloc(sizeof(char)*100);&lt;br /&gt;
여기서 malloc(sizeof(char)*100);&lt;br /&gt;
은 메모리 상의 어느 곳에 (sizeof(char)*100)byte만큼의 공간을 할당하고 그 주소를 반환한다. &lt;br /&gt;
그리고 d는 char*형태이기 때문에 Casting을 해 주어서 (char*)malloc(sizeof(char)*100); 와 같은 형태가 되어야 한다.&lt;br /&gt;
이 것은 char d &amp;amp;#91;100&amp;amp;#93;와 같은 변수 선언법이다.&lt;br /&gt;
char *d;&lt;br /&gt;
d = (char*)malloc(sizeof(char)*100); &lt;br /&gt;
와 같이 선언을 했더라도 d&amp;amp;#91;5&amp;amp;#93;와 같은 배열적 접근도 가능하다.&lt;br /&gt;
&lt;br /&gt;
ex)이것으로 2차원 배열을 만들려면? &lt;br /&gt;
char **arrray, *d;&lt;br /&gt;
d = (char*)malloc(sizeof(char) * 100); &lt;br /&gt;
arrray = (char**)malloc(sizeof(d) * 100); &lt;br /&gt;
이렇게 하면 char array &amp;amp;#91;100&amp;amp;#93;&amp;amp;#91;100&amp;amp;#93;와 같은 형태가 된다.&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>165.194.17.138</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9-%EB%82%A0%EB%8B%A4%EB%9E%8C%EC%A5%90_6%EC%9B%94_10%EC%9D%BC&amp;diff=52386</id>
		<title>새싹-날다람쥐 6월 10일</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9-%EB%82%A0%EB%8B%A4%EB%9E%8C%EC%A5%90_6%EC%9B%94_10%EC%9D%BC&amp;diff=52386"/>
		<updated>2009-06-10T11:39:57Z</updated>

		<summary type="html">&lt;p&gt;165.194.17.138: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= 동적 할당 =&lt;br /&gt;
&lt;br /&gt;
char *d; d = (char*)malloc(sizeof(char)*100); &lt;br /&gt;
여기서 malloc(sizeof(char)*100);은 메모리 상의 어느 곳에 (sizeof(char)*100)byte만큼의 공간을 할당하고 그 주소를 반환한다. 그리고 d는 char*형태이기 때문에 Casting을 해 주어서 (char*)malloc(sizeof(char)*100); 와 같은 형태가 된다. 이 것은 char d&amp;amp;#91;100&amp;amp;#93;와 같은 변수 선언법이다. &lt;br /&gt;
&lt;br /&gt;
char *d; d = (char*)malloc(sizeof(char)*100); &lt;br /&gt;
와 같이 선언을 했더라도 d&amp;amp;#91;5&amp;amp;#93;와 같은 배열적 접근도 가능하다. &lt;br /&gt;
ex)이것으로 2차원 배열을 만들려면? &lt;br /&gt;
char **arrray, *d; d = (char*)malloc(sizeof(char) * 100); arrray = (char**)malloc(sizeof(d) * 100); &lt;br /&gt;
이렇게 하면 char array&amp;amp;#91;100&amp;amp;#93;&amp;amp;#91;100&amp;amp;#93;와 같은 형태가 된다.&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>165.194.17.138</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9-%EB%82%A0%EB%8B%A4%EB%9E%8C%EC%A5%90_6%EC%9B%94_10%EC%9D%BC&amp;diff=52385</id>
		<title>새싹-날다람쥐 6월 10일</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9-%EB%82%A0%EB%8B%A4%EB%9E%8C%EC%A5%90_6%EC%9B%94_10%EC%9D%BC&amp;diff=52385"/>
		<updated>2009-06-10T11:39:09Z</updated>

		<summary type="html">&lt;p&gt;165.194.17.138: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= 동적 할당 =&lt;br /&gt;
&lt;br /&gt;
char *d;&lt;br /&gt;
d = (char*)malloc(sizeof(char)*100);&lt;br /&gt;
&lt;br /&gt;
여기서 malloc(sizeof(char)*100);은 메모리 상의 어느 곳에 (sizeof(char)*100)byte만큼의 공간을 할당하고 그 주소를 반환한다.&lt;br /&gt;
그리고 d는 char*형태이기 때문에 Casting을 해 주어서&lt;br /&gt;
(char*)malloc(sizeof(char)*100);&lt;br /&gt;
와 같은 형태가 된다.&lt;br /&gt;
이 것은 char d&amp;amp;#91;100&amp;amp;#93;와 같은 변수 선언법이다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
char *d;&lt;br /&gt;
d = (char*)malloc(sizeof(char)*100);&lt;br /&gt;
&lt;br /&gt;
와 같이 선언을 했더라도 d&amp;amp;#91;5&amp;amp;#93;와 같은 배열적 접근도 가능하다.&lt;br /&gt;
&lt;br /&gt;
ex)이것으로 2차원 배열을 만들려면?&lt;br /&gt;
&lt;br /&gt;
char **arrray, *d;&lt;br /&gt;
d = (char*)malloc(sizeof(char) * 100);&lt;br /&gt;
arrray = (char**)malloc(sizeof(d) * 100);&lt;br /&gt;
&lt;br /&gt;
이렇게 하면 char array&amp;amp;#91;100&amp;amp;#93;&amp;amp;#91;100&amp;amp;#93;와 같은 형태가 된다.&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>165.194.17.138</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9-%EB%82%A0%EB%8B%A4%EB%9E%8C%EC%A5%90_6%EC%9B%94_10%EC%9D%BC&amp;diff=52384</id>
		<title>새싹-날다람쥐 6월 10일</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9-%EB%82%A0%EB%8B%A4%EB%9E%8C%EC%A5%90_6%EC%9B%94_10%EC%9D%BC&amp;diff=52384"/>
		<updated>2009-06-10T11:38:20Z</updated>

		<summary type="html">&lt;p&gt;165.194.17.138: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= 동적 할당 =&lt;br /&gt;
&lt;br /&gt;
char *d;&lt;br /&gt;
d = (char*)malloc(sizeof(char)*100);&lt;br /&gt;
&lt;br /&gt;
여기서 malloc(sizeof(char)*100);은 메모리 상의 어느 곳에 (sizeof(char)*100)byte만큼의 공간을 할당하고 그 주소를 반환한다.&lt;br /&gt;
그리고 d는 char*형태이기 때문에 Casting을 해 주어서&lt;br /&gt;
(char*)malloc(sizeof(char)*100);&lt;br /&gt;
와 같은 형태가 된다.&lt;br /&gt;
이 것은 char d&amp;amp;#91;100&amp;amp;#93;와 같은 변수 선언법이다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
char *d;&lt;br /&gt;
d = (char*)malloc(sizeof(char)*100);&lt;br /&gt;
&lt;br /&gt;
와 같이 선언을 했더라도 d&amp;amp;#91;50&amp;amp;#93;와 같은 배열적 접근도 가능하다.&lt;br /&gt;
&lt;br /&gt;
ex)이것으로 2차원 배열을 만들려면?&lt;br /&gt;
&lt;br /&gt;
char **arrray, *d;&lt;br /&gt;
d = (char*)malloc(sizeof(char) * 100);&lt;br /&gt;
arrray = (char**)malloc(sizeof(d) * 100);&lt;br /&gt;
&lt;br /&gt;
이렇게 하면 char array&amp;amp;#91;100&amp;amp;#93;&amp;amp;#91;100&amp;amp;#93;와 같은 형태가 된다.&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>165.194.17.138</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9-%EB%82%A0%EB%8B%A4%EB%9E%8C%EC%A5%90_6%EC%9B%94_10%EC%9D%BC&amp;diff=52383</id>
		<title>새싹-날다람쥐 6월 10일</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9-%EB%82%A0%EB%8B%A4%EB%9E%8C%EC%A5%90_6%EC%9B%94_10%EC%9D%BC&amp;diff=52383"/>
		<updated>2009-06-10T11:37:26Z</updated>

		<summary type="html">&lt;p&gt;165.194.17.138: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= 동적 할당 =&lt;br /&gt;
&lt;br /&gt;
char *d;&lt;br /&gt;
d = (char*)malloc(sizeof(char)*100);&lt;br /&gt;
&lt;br /&gt;
여기서 malloc(sizeof(char)*100);은 메모리 상의 어느 곳에 (sizeof(char)*100)byte만큼의 공간을 할당하고 그 주소를 반환한다.&lt;br /&gt;
그리고 d는 char*형태이기 때문에 Casting을 해 주어서&lt;br /&gt;
(char*)malloc(sizeof(char)*100);&lt;br /&gt;
와 같은 형태가 된다.&lt;br /&gt;
이 것은 char d&amp;amp;#91;100&amp;amp;#93; ;와 같은 변수 선언법이다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
char *d;&lt;br /&gt;
d = (char*)malloc(sizeof(char)*100);&lt;br /&gt;
&lt;br /&gt;
와 같이 선언을 했더라도 d&amp;amp;#91;50&amp;amp;#93;와 같은 배열적 접근도 가능하다.&lt;br /&gt;
&lt;br /&gt;
ex)이것으로 2차원 배열을 만들려면?&lt;br /&gt;
&lt;br /&gt;
char **arrray, *d;&lt;br /&gt;
d = (char*)malloc(sizeof(char) * 100);&lt;br /&gt;
arrray = (char**)malloc(sizeof(d) * 100);&lt;br /&gt;
&lt;br /&gt;
이렇게 하면 char array&amp;amp;#91;100&amp;amp;#93;&amp;amp;#91;100&amp;amp;#93;;와 같은 형태가 된다.&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>165.194.17.138</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9-%EB%82%A0%EB%8B%A4%EB%9E%8C%EC%A5%90_6%EC%9B%94_10%EC%9D%BC&amp;diff=52382</id>
		<title>새싹-날다람쥐 6월 10일</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9-%EB%82%A0%EB%8B%A4%EB%9E%8C%EC%A5%90_6%EC%9B%94_10%EC%9D%BC&amp;diff=52382"/>
		<updated>2009-06-10T11:37:06Z</updated>

		<summary type="html">&lt;p&gt;165.194.17.138: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= 동적 할당 =&lt;br /&gt;
&lt;br /&gt;
char *d;&lt;br /&gt;
d = (char*)malloc(sizeof(char)*100);&lt;br /&gt;
&lt;br /&gt;
여기서 malloc(sizeof(char)*100);은 메모리 상의 어느 곳에 (sizeof(char)*100)byte만큼의 공간을 할당하고 그 주소를 반환한다.&lt;br /&gt;
그리고 d는 char*형태이기 때문에 Casting을 해 주어서&lt;br /&gt;
(char*)malloc(sizeof(char)*100);&lt;br /&gt;
와 같은 형태가 된다.&lt;br /&gt;
이 것은 char d&amp;amp;#91;100&amp;amp;#93;;와 같은 변수 선언법이다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
char *d;&lt;br /&gt;
d = (char*)malloc(sizeof(char)*100);&lt;br /&gt;
&lt;br /&gt;
와 같이 선언을 했더라도 d&amp;amp;#91;50&amp;amp;#93;와 같은 배열적 접근도 가능하다.&lt;br /&gt;
&lt;br /&gt;
ex)이것으로 2차원 배열을 만들려면?&lt;br /&gt;
&lt;br /&gt;
char **arrray, *d;&lt;br /&gt;
d = (char*)malloc(sizeof(char) * 100);&lt;br /&gt;
arrray = (char**)malloc(sizeof(d) * 100);&lt;br /&gt;
&lt;br /&gt;
이렇게 하면 char array&amp;amp;#91;100&amp;amp;#93;&amp;amp;#91;100&amp;amp;#93;;와 같은 형태가 된다.&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>165.194.17.138</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EB%82%A0%EB%8B%A4%EB%9E%8C%EC%A5%90_6%EC%9B%949%EC%9D%BC&amp;diff=45517</id>
		<title>날다람쥐 6월9일</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EB%82%A0%EB%8B%A4%EB%9E%8C%EC%A5%90_6%EC%9B%949%EC%9D%BC&amp;diff=45517"/>
		<updated>2009-06-10T10:54:02Z</updated>

		<summary type="html">&lt;p&gt;165.194.17.138: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===  ZeroPage (새싹-날다람쥐 6월 9일)  ===&lt;br /&gt;
&lt;br /&gt;
http://wiki.zeropage.org/wiki.php/%EC%9C%A0%EC%A0%95%EC%84%9D -&amp;gt; 홈으로&lt;br /&gt;
&lt;br /&gt;
= 포인터(Pointer)에 대해서. =&lt;br /&gt;
포인터란? &lt;br /&gt;
&lt;br /&gt;
포인터란, 어떤 변수의 &#039;주소&#039;를 참조하는 변수이다. 예)&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 주소&lt;br /&gt;
| &lt;br /&gt;
| 변수&lt;br /&gt;
| &lt;br /&gt;
| 내용&lt;br /&gt;
|-&lt;br /&gt;
| 1000&lt;br /&gt;
| &lt;br /&gt;
| a&lt;br /&gt;
| &lt;br /&gt;
| 13&lt;br /&gt;
|-&lt;br /&gt;
| 1004&lt;br /&gt;
| &lt;br /&gt;
| b&lt;br /&gt;
| &lt;br /&gt;
| 14&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int a = 13; int b = 14; 이라는 선언을 통해 가능하며, 메모리 상의 어떤 주소에 있는 13 이라는 데이터는 a라는 변수의 이름을 통해서 나타내어진다.&lt;br /&gt;
&lt;br /&gt;
 여기서 주소가 1000 이후에 1004 인 이유는 int가 4byte이기 때문이다.(여기서 주소는 예를 든 것임) &lt;br /&gt;
&lt;br /&gt;
a = 14; 라는 명령어를 통해 a의 내용을 14로 바꿀 수 있다. &lt;br /&gt;
그리고 printf(&amp;quot;%d&amp;quot;, a); 라는 명령어를 통해 바뀐 것을 확인할 수 있다.&lt;br /&gt;
 a라는 것은 a라는 변수가 나타내는 주소(1000)의 내용을 나타내주는 것이다. &lt;br /&gt;
a의 주소를 표현하는 방법에는 &#039;&amp;amp;&#039;을 붙이는 방법이 있다. &lt;br /&gt;
printf(&amp;quot;%u&amp;quot;, &amp;amp;a);의 결과값은 1000이다.(%u 맞나? ㅋㅋ 찾아보길. 맞을꺼야 %u는 주소값을 표현하는 표현식.)&lt;br /&gt;
 &lt;br /&gt;
포인터는 *라는 문자를 통해서 표현하는데,&lt;br /&gt;
&lt;br /&gt;
 만약에 INT형의 주소를 나타내는 변수 IP를 선언하고 싶으면 int* ip; 라고 표현하면 된다.&lt;br /&gt;
&lt;br /&gt;
 int *ip; 도 가능한 표현이다.(이게 약간 더 옳은 표현.) &lt;br /&gt;
&lt;br /&gt;
예를 들어 int *ip, i; 이렇게 하면 뒤의 i는 일반적인 int로, 앞의 ip는 포인터 INT형으로 선언이 된다.&lt;br /&gt;
 &lt;br /&gt;
포인터가 가리키는 곳의 값을 쓸 때는 앞에 *을 붙인다. 예) int a = 13; int* ap = &amp;amp;a; printf(&amp;quot;%d %d&amp;quot;, a, *ap); &lt;br /&gt;
&lt;br /&gt;
결과값 : 13 13 &lt;br /&gt;
&lt;br /&gt;
하지만 포인터를 왜&#039;쓰는지 잘 모르는 경우가 많다.-_-;&lt;br /&gt;
&lt;br /&gt;
함수 내에서 값을 아무리 바꿔봤자 지역변수 의 내용은 바뀌지 않는다. 이것을 어디서나 쓸 수 있게 하기 위해서. &lt;br /&gt;
예)&lt;br /&gt;
&lt;br /&gt;
 void add(int a, int b, int* cp) { &lt;br /&gt;
&lt;br /&gt;
*cp = a + b; // cp라는 포인터가 가리키는 주소의 값을 a + b로 바꿔준다(main 함수 안의 c). &lt;br /&gt;
&lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
int main() { &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 int a = 13, b = 14, c; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
add(a, b, &amp;amp;c); // a와 b의 값을, c의 주소를 넣는다. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
printf(&amp;quot;%d&amp;quot;, c); // 결과값 : 27&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= 배열과 포인터 =&lt;br /&gt;
배열은 여러개의 변수가 모인 형태이다. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 1000&lt;br /&gt;
| &lt;br /&gt;
| 3&lt;br /&gt;
|-&lt;br /&gt;
| 1004&lt;br /&gt;
| &lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| 1008&lt;br /&gt;
| &lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| 1012&lt;br /&gt;
| &lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| 1016&lt;br /&gt;
| &lt;br /&gt;
| 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
은 int a&amp;amp;#91;5&amp;amp;#93; = {3, 4, 2, 1, 8};을 선언한 형태이다.&lt;br /&gt;
 여기서 주목할 점은 우리가 출력할 때 &lt;br /&gt;
printf(&amp;quot;%d&amp;quot;, a&amp;amp;#91;0&amp;amp;#93;);&lt;br /&gt;
와 같이 배열의 번지수를 적어주어야 한다는건데&lt;br /&gt;
 왜 printf(&amp;quot;%d&amp;quot;, a); 와 같이 적으면 안되는지 알아보자. &lt;br /&gt;
 a == &amp;amp;a&amp;amp;#91;0&amp;amp;#93;&lt;br /&gt;
이라는 것을 외우도록 하고 &lt;br /&gt;
int* ap = a; &lt;br /&gt;
&lt;br /&gt;
라고 한다면 ap에는 a의 첫 번째 변수(a&amp;amp;#91;0&amp;amp;#93;)의 주소가 들어가게 된다. &lt;br /&gt;
물론 출력할 때는 printf(&amp;quot;%d&amp;quot;, *ap); 와 같이 a&amp;amp;#91;0&amp;amp;#93;을 출력할 수도 있다.&lt;br /&gt;
 이것은 캐릭터, 더블 등 다른 변수에도 모두 적용된다. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 과제 ===&lt;br /&gt;
(맨 밑의 고치기 버튼을 누르면 수정할 수 있고, 자기 이름 밑에 내용 쓰기. 위의 내용은 바꿔도 되지만 책임못짐 ㅋㅋ) &lt;br /&gt;
= 포인터를 이용한 간단한 프로그램 =&lt;br /&gt;
이름과 반을 3개 입력받고 포인터를 이용해서 edit라는 함수 안에서 2번째 입력받은 사람을 수정한 후 다시 출력하기. 예) 유정석 1 &lt;br /&gt;
이지은 3 &lt;br /&gt;
김윤석 5 &lt;br /&gt;
* 2번째 사람을 수정해 주세요 - &lt;br /&gt;
장다예 4 &lt;br /&gt;
* 결과 - &lt;br /&gt;
유정석 1 &lt;br /&gt;
장다예 4 &lt;br /&gt;
김윤석 5 &lt;br /&gt;
&lt;br /&gt;
= 배열의 이동을 포인터로?! =&lt;br /&gt;
바로 위의 배열을 모두 출력하는데, printf(&amp;quot;%d&amp;quot;, *(ap + @))의 형태로 출력해보자. 여기서 모든 값들을 출력하려면 @에 각각 어떤 수가 들어가는지 직접 해보고 왜 그런지 설명하기. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 김상훈 ==&lt;br /&gt;
&lt;br /&gt;
== 김윤석 ==&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	int a&amp;amp;#91;5&amp;amp;#93; = {3,4,2,1,8};&lt;br /&gt;
	int* ap = a;&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
	printf(&amp;quot;%d\n&amp;quot;, *ap);&lt;br /&gt;
	printf(&amp;quot;%d\n&amp;quot;, *(ap+1));&lt;br /&gt;
	printf(&amp;quot;%d\n&amp;quot;, *(ap+2));&lt;br /&gt;
	printf(&amp;quot;%d\n&amp;quot;, *(ap+3));&lt;br /&gt;
	printf(&amp;quot;%d\n&amp;quot;, *(ap+4));&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
== 이지은 ==&lt;br /&gt;
&lt;br /&gt;
== 장다예 ==&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>165.194.17.138</name></author>
	</entry>
</feed>