2016. 4. 20. 16:56ㆍ네트워크 보안 수업/C언어
포인터 변수
- 일반 변수
- 배열 변수
- 포인터 변수
- 주소를 다루는 변수
포인터 변수의 선언
int *ptr;
포인터 변수의 초기화
int ptr=0;
int *ptr = null;
*** 포인터 변수의 타입은 가르키려는 메모리의 타입을 나타낸다
*** 포인터 변수는 8바이트 고정 크기(64bit)
포인터 변수의 활용
- 포인터 변수를 통해서 메모리에 직접 접근
- 배열을 전달하는 경우
- 동적 메모리
#include <stdio.h>
int main(int argc, char *argv[])
{
int *ptr = NULL;
int arr[5]={1,2,3,4,5};
ptr=arr;
printf("ptr size : %d\n", sizeof(ptr));
printf("arr[0] value: %d \n", *arr);
printf("arr[0] value: %d \n", *ptr);
printf("arr[0] value: %d \n", ptr[0]);
printf("arr addr: 0x%08x \n", arr);
printf("arr addr: 0x%08x \n", ptr);
printf("arr addr: 0x%08x \n", arr+1);
printf("arr addr: 0x%08x \n", ptr+1);
return 0;
}
#include <stdio.h>
void func(int *a)
{
printf("val: %d \n",*a);
}
int main(int argc, char *argv[])
{
int arr[5]={1,2,3,4,5};
int val = 10;
func(arr);
return 0;
}
[과제]:
main함수로부터 배열과 배열의 크기를 전달받아 배열의 총합을 구하는
함수를 작성하세요
그리고 해당 함수가 잘 동작하는지 main함수를 통해서 보여라.
#include <stdio.h>
int func(int *arr, int size)
//int func(int arr[],int size)
{
int sum=0;
int i=0;
for(i=0;i<size;i++){
sum=sum+arr[i];
}
return sum;
}
int main(int argc, char *argv[])
{
int arr[]={1,2,3,4,5};
int ret=0;
ret=func(arr,5);
printf("array total: %d\n", ret);
return 0;
}
'네트워크 보안 수업 > C언어' 카테고리의 다른 글
네트워크 보안 수업 19일차 - 코리아 정보보안 IT 학원 (0) | 2016.04.22 |
---|---|
네트워크 보안 수업 18일차 - 코리아 정보보안 IT학원 (0) | 2016.04.21 |
네트워크 보안 수업 16일차 - 코리아 정보보안 IT학원 (0) | 2016.04.19 |
네트워크 보안 수업 15일차 - 코리아 정보보안 IT학원 (0) | 2016.04.18 |
네트워크 보안 수업 14일차 - 코리아 정보보안 IT학원 (0) | 2016.04.15 |