포인터를 넘기느냐? 인덱스를 넘기느냐?
놓아줄게요
질문 내용 : 포인터를 넘기느냐? 인덱스를 넘기느냐?
어떤것이 좀 더 효율적이고 짜임새있는 프로그래밍을 할지 알고 싶습니다.
typedef struct _MASK_DATA{
unsigned char a;
unsigned char b;
unsigned char c;
unsigned char d;
} MASK_DATA; 정의하고
MASK_DATA msk[2]; 선언합니다.
------------------------------글로벌임.함수 A에서
MASK_DATA *msk=&msk[0]; 로 한뒤에
함수 B에서 msk를 인자로하여
아래와같이 작성합니다.
msk-a =1;
msk-b=2;
msk-c=3;
이것과 함수 A에서는 index값만 부여하고 함수B에서 직접 작성하는 예로
index = 0 or 1; 로 줍니다.
함수B는 index를 인자로하여 아래와 같이 작성합니다.
msk[index].a=1;
msk[index].b=2;
msk[index].c=3;저는 포인터를 사용하여 작성하려고 하였지만, 선배님께서 포인터는 잘못사용하면 위험하니 되도록이면 아래처럼 하는게
어떨것 같냐고 이야기 하였습니다.
여러분들은 어떻게 생각하시나요?
후아..... 일일이 msk[index]를 복사해서 붙여넣기를 하는게 좀 더 나을런지 아니면 msk-이렇게 하는게 나을런지..
여러분들의 멋진 답변을 기대하겠습니다.
감사합니다.
-
다연
속도는 포인터를 사용하는 것이 더 빠릅니다.
-
연파랑
그렇기도 하군요~~ 답변 감사합니다. ^^
아무래도 이건 구현하는 사람에 따라 달라질 수 있는 상황인 것 같습니다. ^^ -
세나
msk-a 로 하면 몇번째 인덱스인지 알기 어렵잖아요~
-
해련
감사합니다. ^^ 그렇다면 변수의 내용이 바뀔경우 포인터를 쓰면 유용하다는 말씀이시죠?
-
다이
제 생각엔, 전역변수에는 굳이 포인터를 사용할 필요가 없다고 생각합니다.
포인터는 어떤 함수를 호출할 때, 그 인수로 넘겨주는 변수의 내용을 피호출 함수 내부에서 변경할 수 있도록 하기 위해 사용하는 것이니까요. -
독특한
내부적으로 값이 넘어갈때는 4바이트 단위로 보통 넘어가기때문에 포인터를 써야 할 것 같은 기분이 드네요 ^^ 그래도 혹시나 그냥 지나치지 마시고 댓글 달아주세요^^
-
이퓨리한나
추가적으로요.. 만약 임베디드 상황이면 인덱스 값을 넘겨 조금이라도 메모리 부담을 줄이는게 낫겠죠?
-
하예라
감사합니다. ^^
-
미투리
제 정말 지극히 개인적인 생각이지만 msk-a =1이나 msk[index].a =1 의 접근방식은 같다고생각합니다
포인터로 배열접근하는거랑 저는 결국에 배열도 포인터라 생각하는데.. ㅋ 개인적생각입니다.
저라면 그냥 알아보기편하게 - 쓰겟습니다
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2692424 | 2차원배열 자료입력질문이요! (1) | 똘끼 | 2025-04-22 |
2692401 | 유닉스안에서 C언어를 이용한 명함 만들기 입니다; 이해안가는 부분이있네요 | 2gether | 2025-04-22 |
2692374 | 고수님들 댓글 마니부탁해요!!! (2) | 엄지 | 2025-04-22 |
2692343 | scnaf에 자꾸 선언을 참조하라는데;; (8) | 도래 | 2025-04-22 |
2692282 | 도스상에서 생성된 exe파일에 press~ 뜨게 하기 (4) | 회사원 | 2025-04-21 |
2692256 | scanf("%*c"); ㅠㅠ 고수님들 | 거북이 | 2025-04-21 |
2692230 | 하노이탑 질문입니다. (1) | 미쁘다 | 2025-04-21 |
2692210 | 정보 올림피아드 문제인데.. 풀이 과정이 궁금합니다.(재귀함수) (5) | 물티슈 | 2025-04-20 |
2692144 | C언어와 리눅스에 대한 질문입니다. | 싴흐한세여니 | 2025-04-20 |
2692114 | 컨텍스트 스위칭하는데 걸리는 시간 측정.. | YourWay | 2025-04-19 |
2692086 | 간접참조 연산자, 증감연산자 질문이용! (2) | 블랙캣 | 2025-04-19 |
2692056 | 주석좀 달아주세요. 몇개적엇는데 몇개만달아주세요. (2) | DevilsTears | 2025-04-19 |
2691978 | 진수 쉽게 이해하는법... (3) | 지지않는 | 2025-04-18 |
2691949 | getchar() 한 문자를 입력받는 함수 질문 | 채꽃 | 2025-04-18 |
2691919 | 배열 정렬 및 합치기 질문입니다. | 사과 | 2025-04-18 |
2691845 | c언어왕초보 질문이 있습니다........ | 루나 | 2025-04-17 |
2691815 | void add(int num); 함수... (4) | 살랑살랑 | 2025-04-17 |
2691756 | 명령 프롬프트 스크롤바가 없어요 | 두메꽃 | 2025-04-16 |
2691725 | 자료구조에 관련해서 질문이 있어 글을 올립니다. | 누리알찬 | 2025-04-16 |
2691697 | if 문에서 구조체 배열에 저장되있던 문자열 검사하는 법 ? (2) | 민트맛사탕 | 2025-04-16 |