함수 호출시 2차원 배열을 파라메터로 사용할 수 없다???
프로그래밍2006. 1. 26. 16:34
컴파일 에러난다. 2차원 배열인 z를 char ** 로 받지 못한다고 벌신다.
나쁜놈...
#include <stdio.h>
void a(char **a);
void main(){
char z[10][10];
a(z);
}
void a(char **a){
strcpy(a[1],"asdf");
printf("%s",z[1]);
}
파라메터값으로 2차원 배열을 쓰지 못하는 것은 아닐텐데...
아쉬운데로, 호출측 함수에 임시 포인터를 만들어 물린다음,
그 포인터를 넘긴다.
#include <stdio.h>
void func( char **p )
{
printf( "%s\n", p[0] );
}
void main()
{
char z[10][10] = {"Hi!"};
char *b = z[0];
func( &b );
}
나쁜놈...
#include <stdio.h>
void a(char **a);
void main(){
char z[10][10];
a(z);
}
void a(char **a){
strcpy(a[1],"asdf");
printf("%s",z[1]);
}
파라메터값으로 2차원 배열을 쓰지 못하는 것은 아닐텐데...
아쉬운데로, 호출측 함수에 임시 포인터를 만들어 물린다음,
그 포인터를 넘긴다.
#include <stdio.h>
void func( char **p )
{
printf( "%s\n", p[0] );
}
void main()
{
char z[10][10] = {"Hi!"};
char *b = z[0];
func( &b );
}
'프로그래밍' 카테고리의 다른 글
연결리스트라는 자료구조의 실용성에 대해 (0) | 2006.01.26 |
---|---|
리사아빠의 프로그래밍이란? (3) | 2006.01.26 |
strcmp() 구현 (0) | 2006.01.25 |
프로그램을 작성할 때 (0) | 2006.01.24 |
strchr()의 사용법 (0) | 2006.01.23 |