개요
프로그래밍 언어 : C언어
과제 수행 날짜 : 2020.10.16
과제 개요 : char 포인터 변수를 이용하여 int 1차원 배열의 값을 5씩 빼서 다시 저장(int 배열의 요소는 5이상 255이하)
코드
#include <stdio.h>
int main()
{
int data[6] = { 5,20,30,40,250,60 };
int d = 5;
for (int i = 0; i < 6; i++)
{
char *p = (char *)&data[i];
*p = data[i] - d;
printf("%d ", data[i]);
}
}
결과
char *p = (char *)&data[i]; 와 같이 char 형식으로 캐스팅 연산을 하여 *p 는 data[i]의 첫 번째 바이트를 가리키도록 한다. 그리고 첫 번째 바이트에서 5를 빼는 연산을 수행한 후, *p가 가리키는 곳에 그 값을 대입한다. 그 후 data 배열을 출력한다.
'프로젝트 & 과제 > 3학년' 카테고리의 다른 글
[C언어] call by value/reference (0) | 2022.02.04 |
---|---|
[C언어] char 포인터로 배열 읽기 (0) | 2022.02.03 |
[C언어] 입력 문자 빈도수 계산 (0) | 2022.01.31 |
[C언어] 2차원 배열 출력 (0) | 2022.01.30 |
[C언어] 2차원 배열의 합 (0) | 2022.01.29 |