// 포인터
#include <stdio.h>
void main(void)
{
int data = 10;
int *ptr;
printf(" data : %x, data의 값 : %d \n", &data, data);
ptr = &data;
printf(" ptr : %x, ptr의 값 : %x \n", &ptr, ptr);
}//end main
//Point
#include <stdio.h>
void main(void)
{
int data = 10; // 메모리 임의의 위치에 10값 지정
int data2 = 11;
int *ptr, *ptr2; // 메모리 임의의 장소에 포인터 변수공간
ptr = &data; // 포인터 변수 ptr 안에 주소값 저장
ptr2 = &data2; // 포인터 변수 ptr2 안에 주소값 저장
printf("\n data의 주소 : %x, data의 값 : %d \n", &data, data);
printf(" data2의 주소 : %x, data2의 값 : %d \n", &data2, data2);
printf("\n ptr의 주소 : %x, ptr의 값 : %x \n", &ptr, ptr);
printf(" ptr2의 주소 : %x, ptr2의 값 : %x \n\n", &ptr2, ptr2);
}//end main
//Point
#include <stdio.h>
void main(void)
{
int data = 10;
int *ptr;
ptr = &data;
printf("\n data의 주소 : %x, data의 값 : %d \n", &data, data);
printf(" ptr의 주소 : %x, ptr의 값 : %x \n", &ptr, ptr);
printf("\n ptr이 가리키는 곳의 값 : %d , data의 값 : %d \n\n ",*ptr, data);
}//end main
// 포인터
#include <stdio.h>
#include <string.h>
void kk(char);
void main()
{
int i;
int num;
char *buf = " i need you "; /* 포인터 변수의 선언과 초기화*/
num = strlen(buf); /* buf안의 총 데이터 수를 구함 */
printf("\n ************************* \n");
for( i=0; i<num ; i++){
kk(*buf++);
}//
printf("\n ^______________^ \n ");
}//end main
void kk(char data){
printf("%c", data-('a'-'A'));
}//
// 포인터
#include <stdio.h>
#include <string.h>
void kk(char);
void main()
{
int i;
int num;
char *buf = " i need you "; /* 포인터 변수의 선언과 초기화*/
num = strlen(buf); /* buf안의 총 데이터 수를 구함 */
printf("\n ************************* \n");
for( i=0; i<num ; i++){
kk(*buf++);
}//
printf("\n ^______________^ \n\n ");
printf(" num의 주소 : %x, num의 값 : %d \n", &num, num);
printf(" buf의 주소 : %x, buf의 값 : %d \n\n", &buf, buf);
}//end main
void kk(char data){
printf("%c", data-('a'-'A'));
}//
// 포인터
#include <stdio.h>
void main()
{
char buf[6] = {'a','b','c','d','e','f'};
char *ptr = buf;
int i = 0;
printf("\n ptr을 1씩 증가시켜 봅시다 \n\n");
for( i=0; i<6; i++){
printf(" ptr:%x, *ptr:%c \n",ptr, *ptr);
ptr++;
}//
ptr = buf;
printf("\n 다시 ptr이 buf를 가리키게 합시다. \n\n");
printf(" *ptr++의 결과 \n");
printf(" ptr:%x, *ptr:%c \n\n", ptr, *ptr++);
printf(" *(ptr++)의 결과 \n");
printf(" ptr:%x, *ptr:%c \n\n", ptr, *(ptr++));
--ptr;
printf(" --ptr을 하고 *(ptr++)의 결과 \n");
printf(" ptr:%x, *ptr:%c \n\n", ptr, *(ptr++));
(*ptr)++;
printf(" (*ptr)++의 결과 \n");
printf(" ptr:%x, *ptr:%c \n\n",ptr, *ptr);
ptr +=1;
printf(" ptr +=1 을 하고 *ptr의 결과 \n");
printf(" ptr:%x, *ptr:%c \n\n", ptr, *ptr);
ptr -= 2;
printf(" ptr -=2를 하고 *ptr의 결과 \n");
printf(" ptr:%x, *ptr:%c \n\n", ptr, *ptr);
}//end main