구조체 포인터 질문


(김레이) #1

#include "stdafx.h"
struct stdstruct
{
	int a=10;
	double s=2.5;
};

stdstruct arr[3];

void arrstruct(void)
{
	for (int i = 0; i <= 2; i++)
	{
		printf("%d번 구조체 배열의 a의 값은 %d, s의 값은 %g\n", i, arr[i].a, arr[i].s);
	}
}
void addptrstruct(void)
{
	arr[0].a = 0;
	arr[1].a = 1;
	stdstruct * ptr = arr;
	printf("arr의 주소(%d)를 가진 포인터를 증가했을때 %d가 되고 %d를 가르키게 된다\n", ptr, ptr++, *ptr);
}
int main()
{
	arrstruct();
	addptrstruct();
	
}

여기에서 addptrstruct함수가 출력될떄 후위 연산을 써야 주솟값이 증가하고 출력을 하는데 원래 전위 연산자를 써야 되는거 아닌가요? 의문이네요


(바보털) #2
#include <iostream>

void test(int p1, int p2, int p3)
{
      printf("%d %d %d\n", p1, p2, p3);
}

int main()
{
      int k = 10;

      test(k, ++k, k);
      test(k, k++, k);
}

갖고…놀아보세요…


(김레이) #4

이해했습니다 감사합니다♥