07. C-Programming(Array & Pointer)
07. C-Programming(Array & Pointer)
[toc]
C Programming 실습7
배열과 포인터
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int test[5] = {80, 60, 55, 22, 75};
printf("test[0]의 값은 %d입니다.\n", test[0]);
printf("test[0]의 어드레스는 %p입니다.\n", &test[0]);
printf("test[1]의 값은 %d입니다.\n", test[1]);
printf("test[1]의 어드레스는 %p입니다.\n", &test[1]);
return 0;
}
배열과 함수(평균을 구하는 함수)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
double avg(int t[]);
int main(void)
{
int test[5];
int i;
double ans;
printf("5명의 시험 점수를 입력하세요.\n");
for (int i = 0; i <= 4; i++) {
scanf("%d", &test[i]);
}
ans = avg(test);
printf("평균점수는 %lf입니다.\n", ans);
return 0;
}
double avg(int t[])
{
double sum = 0;
for (int i = 0; i <= 4; i++) {
sum += t[i];
}
return sum/5;
}
포인터와 함수(평균을 구하는 함수)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
double avg(int *pT);
int main(void)
{
int test[5];
int i;
double ans;
printf("5명의 시험 점수를 입력하세요.\n");
for (int i = 0; i <= 4; i++) {
scanf("%d", &test[i]);
}
ans = avg(test);
printf("평균점수는 %lf입니다.\n", ans);
return 0;
}
double avg(int *pT)
{
double sum = 0.0;
for (int i = 0; i <= 4; i++) {
sum += *(pT + 1);
}
return sum/5;
}
매모리 할당(malloc)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char *str;
int num;
printf("몇개의 a를 준비할까요?\n");
scanf("%d", &num);
str = (char *) malloc (sizeof(char) * (num + 1));
if (!str){
printf("메모리를 확보할 수 없습니다.\n");
return 0;
}
for (int i = 0; i < num; i++) {
*(str+i) = 'a';
}
*(str+num) = '\0';
printf("%s를 준비했습니다.\n", str);
free(str);
return 0;
}