c언어 포인트를 공부하면서 궁금 한것이 있어서 두가지 질문을 드립니다..
제가 double matrix[2][2];
double* matrix_address;
를 만들어서
matrix[2][2]에다가 값을 입력 받고
matrix에 저장된 값들을
matrix_address로 저장을 하고 싶어서 인터넷에 찾다보니
matrix_address = (double*) matrix; 를 이용 하라고 하길래 이렇게 했더니 오류나 에러도 없이 잘되는대
문제는 matrix_address에 저장된 값을 출력을 하는 법을 모르겠습니다
c언어 책에서는 주소에 저장된 값을 출력할때는 예를들어 정수형 포인터 변수가 p 라고 한다면은
printf("%d", *p);를 하면 p에 저장된 값이(주소값말구요) 출력이 된다고 하던대
암만 printf(" lf ", *matrix_address); 해도 원하는 값이 출력이 안되더 군요... 그이유를 도저히 모르겠습니다 ㅠㅠ;
두번째 질문은 함수에 관한 것 인대요
#include <stdio.h>
int aa(int a, int b); // 함수의 형태 정의
int main(void)
{
int num1=0, num2=0; // num1 num2 를 만들어 0을 넣고
aa(num1, num2); // 함수 호출
printf("%d %d", num1, num2); // num1 num2 출력
}
int aa(int a, int b )
{
a=5 ;
b=10;
return (a,b); // a,b 리턴해서 num1 num2에 넣을려는 의도로..
}
이렇게 프로그램을 짯는대 제가 aa함수에서 num1 num2에 5,10 을 각각 넣고 리턴 시켜서 출력하면 5,10 이 나올줄 알았는대 0 0 출력 되더군요..
도저히 왜 그런지 모르겠어요 ㅠㅠ;;