수업 6주차 수업 - junhwan1206/ex250310_first GitHub Wiki
인수, 매개변수,
데이터의 유효성 검증 때문에
데이터를 무한대로 생각하여 보면 일일이 하나씩 해야하기 때문에
함수의 정의는 여러가지가 있을 수 있지만
main만 실행한다
int n = 10;
int k = n;
메모리에서 이런것을 value copy라고 하는데
cpu 범용적인 사용처 gpu 간단한 산수 +-x/같은 간단한 것들만 가능
결론적으로 데이터를 해석하는데 가벼운 것은 괜찮지만 무거운 것은 느리기 떄문에
주소를 이용하면 더 가볍게 이용할 수 있기 떄문에 주소를 이용할건데 그것을 활용하는게 포인터다.
&와 *
ex) int n = 10;
int * k = &n;
n 정수값 value ,k 포인터pointer 레퍼런스reference
변수앞 &를 붙이면 시작주소를 나타낸다
주소<-&-변수
주소-*->변수 *p는 "p가 가리키는 곳의 값"을 의미 &a는 "a의 주소"를 의미
#include <stdio.h>
int main()
{
puts("Hello\n");
printf("integer : %d\n", 100);
printf("string : %s\n, "Hello!");
}
#include <stdio.h>
int main()
{
double A, B;
scanf("%if %if", &A, &B);
printf("%.9if\n", A / B);
return 0;
}
#include <stdio.h>
int main()
{
int n = 10;
int n2 = n;
int* p = &n;
int* p2 = p;
*p2 = 20;
printf("%d %d %d\n", n, *p,*p2);
}
#include <stdio.h>
int main()
{
double d;
double d2 = 7.77;
double* pd;
double** ppd;
d = 5.55;
pd = &d;
ppd = &pd;
printf("%g %g %g", d, *pd, **ppd);
}
#include <stdio.h>
int main()
{
double d;
double*pd;
double**ppd;
d = 5.55;
pd = &d;
ppd = &pd;
printf("%g %g %g", d, *pd, **ppd);
}
#include <stdio.h>
int main()
{
int n = 10;
int* p = &n;
int** pp = &p;
printf("%d %d %d\n", n, *p, **pp);
printf("%p %p %p\n", &n, &*p, &**pp);
printf("%p %p %p\n", &n, p, *pp);
return 0;
}
#include <stdio.h>
int main()
{
int n = 10;
int* p = &n;
int** pp = &p;
printf("%d %d %d\n", n, *p,**pp);
return 0;
}
#include <stdio.h>
int main()
{
char c = 10;
double d = 5.6;
char* p1 = &c;
double* p2 = &d;
printf("%d %g\n", c, d);
printf("%d %g\n", *p1, *p2);
printf("%d %g\n", *&c, *&d);
return 0;
}
#include <stdio.h>
int main()
{
char c = 10;
double d = 5.6;
char* p1 = &c;
double* p2 = &d;
printf("%d %g\n", c, d);
printf("%p %p\n", p1, p2);
printf("%p %p\n", &c, &d);
return 0;
}
#include <stdio.h>
int main()
{
int n = 10;
int* k = &n;
n = 100;
printf("%d %d\n", n, *k);
printf("%p %p\n", &n, k);
return 0;
}
#include <stdio.h>
int main()
{
int n = 10;
int* k = &n;
n = 100;
printf("%d %d\n", n, *k);
return 0;
}
#include <stdio.h>
int main()
{
int n = 10;
int* k = &n;
//n = 100;
printf("%d %d\n", n, *k);
return 0;
}
#include <stdio.h>
int main()
{
int n = 10;
int k = n;
n = 100;
printf("%d %d\n", n, k);
return 0;
}
#include <stdio.h>
int main()
{
return 0;
}
#include <stdio.h>
void PrintA()
{
printf("PrintA()\n");
}
void PrintB()
{
PrintA();
printf("PrintB()\n");
}
void PrintC()
{
PrintB();
printf("PrintC()\n");
}
int main()
{
PrintA();
PrintB();
PrintC();
}
#include <stdio.h>
void PrintA()
{
printf("PrintA()\n");
}
void PrintB()
{
printf("PrintB()\n");
}
void PrintC()
{
PrintB();
printf("PrintC()\n");
}
int main()
{
PrintA();
PrintB();
PrintC();
}
#include <stdio.h>
void PrintA()
{
printf("PrintA()\n");
}
void PrintB()
{
printf("PrintB()\n");
}
void PrintC()
{
printf("PrintC()\n");
}
int main()
{
PrintA();
PrintB();
PrintC();
}
#include <stdio.h>
int Increment(int k)
{
return k+1;
}
int main()
{
int n = 10;
printf("data : %d\n", n);
n = Increment(n); //++n;
printf("data : %d\n", n);
n = Increment(n); //++n;
printf("data : %d\n", n);
n = Increment(n); //++n;
printf("data : %d\n", n);
n = Increment(n); //++n;
printf("data : %d\n", n);
n = Increment(n); //++n;
}
#include <stdio.h>
int main()
{
int n = 10;
printf("data : %d\n", n);
}