포인터 질문이 있습니다..
한란
질문 제목 :
포인터
질문 내용 : 우선 새해복 많이 받으세요 ㅎ포인터가 헷갈려서 이렇게 질문을 하게되었습니다.. 예를들어서void abc (unsigned char * temp)
{
if (( temp[0] == 0x00) && (temp [1] == 0x00))
{
if (( temp[2] == 0xff) && (temp [3] == 0xff))
return 1;
}
return 0;
}이런 함수가 있고..abc();함수의 매개변수를 넣을때unsigned long bin_temp = 0x0000ffff;
abc ( (unsigned char*) bin_temp));이렇게 넣으면 잘되거든요..위의 bin_temp선언을 매크로로 하고 했을시..
#define bin_temp 0x0000ffff이렇게 선언하고 넘기려면 어떻게 abc (); 함수에 넣어야 되나요?ㅠ
조언좀 부탁드립니다...
-
주리 2024-02-14
abc함수가
unsigned char *형 포인터의 주소 값을 받고 주소값이 0x0000ffff이면 1이고 아니면 0을 리턴하는 함수네요
abc의 매개변수가 unsigned char* 변수의 주소를 받는데
define하신 bin_temp는 long형? int형? 상수입니다.
그래서 abs( bin_temp )를 하실려면, 함수하고 (인자 값 or 매개변수) 을 변경해야합니다
ex)
#include stdio.h
#define bin_temp