목차
◎포인터
◎포인터와 주소
◎포인터와 함수의 매개변수
◎포인터와 배열
◎번지 연산
◎문자 포인터와 함수
◎포인터 배열의 초기화
◎포인터와 다차원 배열
◎포인터와 주소
◎포인터와 함수의 매개변수
◎포인터와 배열
◎번지 연산
◎문자 포인터와 함수
◎포인터 배열의 초기화
◎포인터와 다차원 배열
본문내용
-s;
}
◎문자 포인터와 함수
#include
/* 배열을 이용한 문자열 복사 */
void strcpy(char *, char *);
void main(void)
{
char *s, *t="I'm a boy";
printf("t 문자열 = %s\n",t);
strcpy(s,t);
printf("s 문자열 = %s\n",s);
}
/* strcpy: copy t to s: array subscript version */
void strcpy(char *s, char *t)
{
int i=0;
while ((s[i] = t[i]) != '\0')
i++;
}
#include
/* 포인터를 이용한 문자열 복사 */
void strcpy(char *, char *);
void main(void)
{
char *s,*t="I'm a boy";
printf("t 문자열 = %s\n",t);
strcpy(s,t);
printf("s 문자열 = %s\n",s);
}
/* strcpy: copy t to s; pointer version 1 */
void strcpy(char *s, char *t)
{
while((*s = *t) != '\0') {
s++;
t++;
}
}
◎포인터 배열의 초기화
/* 달의 이름 출력 함수*/
#include
char *month_name(int);
void main(void)
{
int n;
scanf("%d",&n);
printf("%s\n",month_name(n));
}
char *month_name(int n)
{
static char *name[] = {
"Illegal month",
"January", "February", "March",
"April", "May", "June",
"July", "August", "September",
"Octorber", "November", "December"
};
return (n<1 || n>12) ? name[0] : name[n];
}
◎포인터와 다차원 배열
int *px; 일차원 배열 포인터
int (*py)[2]; 이차원 배열 포인터
int (*pz)[2][2]; 삼차원 배열 포인터
※ 다차원 배열에 대한 근본 개념
· 다차원 배열은 배열의 배열로써 구현된다.
· 다차원 배열은 배열요소가 부분배열인 일차원 배열이다.
n차원 배열은 배열요소가 (n-1)차원 배열인 일차원배열이다.
※ 다차원 배열을 포인터로 다루는 이유 4가지
· ++, -- 등의 연산자를 사용하기 위해
· 연산 속도가 빠르며 기계어 코드가 간결하기 때문에
· 매개변수가 다차원 배열인 함수를 작성하기 위해
· 다차원 배열을 일차원 배열로 다루기 위해
int (*py)[2] 라면 이것은 이차원 배열 포인터 py가 정의된다.
이 때 열의 개수를 생략할 수 없다. 포인터 변수를 정의할 때 포인ㅌ 변수가 가리키는 대상체의 크기를 어떠한 방법으로든 반드시 명시해 주어야 한다.
py의 초기화 방법은 py = y;와 같이 직접 대입하는 것이다.
}
◎문자 포인터와 함수
#include
/* 배열을 이용한 문자열 복사 */
void strcpy(char *, char *);
void main(void)
{
char *s, *t="I'm a boy";
printf("t 문자열 = %s\n",t);
strcpy(s,t);
printf("s 문자열 = %s\n",s);
}
/* strcpy: copy t to s: array subscript version */
void strcpy(char *s, char *t)
{
int i=0;
while ((s[i] = t[i]) != '\0')
i++;
}
#include
/* 포인터를 이용한 문자열 복사 */
void strcpy(char *, char *);
void main(void)
{
char *s,*t="I'm a boy";
printf("t 문자열 = %s\n",t);
strcpy(s,t);
printf("s 문자열 = %s\n",s);
}
/* strcpy: copy t to s; pointer version 1 */
void strcpy(char *s, char *t)
{
while((*s = *t) != '\0') {
s++;
t++;
}
}
◎포인터 배열의 초기화
/* 달의 이름 출력 함수*/
#include
char *month_name(int);
void main(void)
{
int n;
scanf("%d",&n);
printf("%s\n",month_name(n));
}
char *month_name(int n)
{
static char *name[] = {
"Illegal month",
"January", "February", "March",
"April", "May", "June",
"July", "August", "September",
"Octorber", "November", "December"
};
return (n<1 || n>12) ? name[0] : name[n];
}
◎포인터와 다차원 배열
int *px; 일차원 배열 포인터
int (*py)[2]; 이차원 배열 포인터
int (*pz)[2][2]; 삼차원 배열 포인터
※ 다차원 배열에 대한 근본 개념
· 다차원 배열은 배열의 배열로써 구현된다.
· 다차원 배열은 배열요소가 부분배열인 일차원 배열이다.
n차원 배열은 배열요소가 (n-1)차원 배열인 일차원배열이다.
※ 다차원 배열을 포인터로 다루는 이유 4가지
· ++, -- 등의 연산자를 사용하기 위해
· 연산 속도가 빠르며 기계어 코드가 간결하기 때문에
· 매개변수가 다차원 배열인 함수를 작성하기 위해
· 다차원 배열을 일차원 배열로 다루기 위해
int (*py)[2] 라면 이것은 이차원 배열 포인터 py가 정의된다.
이 때 열의 개수를 생략할 수 없다. 포인터 변수를 정의할 때 포인ㅌ 변수가 가리키는 대상체의 크기를 어떠한 방법으로든 반드시 명시해 주어야 한다.
py의 초기화 방법은 py = y;와 같이 직접 대입하는 것이다.
추천자료
[대학자율화]대학자율화의 개념 이해, 대학교육의 문제점과 대학 자율성 확보를 위한 선결과...
과제중심학습(TBL, 과업중심학습)의 개념과 특징, 과제중심학습(TBL, 과업중심학습)의 필요성...
[과제중심학습][TBL][과제중심학습(TBL) 사례]과제중심학습(TBL)의 개념, 과제중심학습(TBL)...
[TBL]과제중심학습(TBL, 과업중심학습)의 개념과 성격, 과제중심학습(TBL, 과업중심학습)의 ...
[국제화][국제][국제화 개념][국제화 의의][국제화 경제성][국제화 현황]국제화의 개념, 국제...
[아동발달] 유아기 인지발달 - 유아기 사고의 특징, 전개념적 사고기, 직관적 사고기, 유아기...
[사회복지 개론] 학교사회복지 - 학교사회복지의 개념과 학교사횝고지의 정의, 학교에서의 문...
방통대 중간과제물 [언어의이해A형] 외적外的 언어학 또는 인접과학과 언어학의 관계에 대해 ...
방통대 중간과제물) 인간언어의 음성 특성에 대해 설명하시오 - 언어의 이해
방통대 중간과제물) 인간 언어의 본질에 대해서 기술하시오 - 언어의이해
언어의이해E) 인간 언어의 본질에 대해서 기술하시오 : 방통대 중간과제물
간호교육,간호정보교육의 개념,간호정보교육의 중요성,간호정보교육의 발전과제
문화산업의 개념 분류 과제,현황,. CJ e&m 기업분석 . CJ e&m 마케팅,브랜드마케팅,...
장애아동의 개념과 복지지원서비스 및 복지지원서비스의 문제점과 과제(장애아동의 개념, 장...
소개글