프로젝트 & 과제/3학년
[C언어] 포인터로 배열 수정
qqlzzb
2022. 2. 2. 23:07
개요
프로그래밍 언어 : 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 배열을 출력한다.