한 구조에서 문자열을 복사와 함께이 중복 질문 것 같다,하지만 난 그 시점에 대한 유래의 질문을 검색하고 비는 내가 두를했습니다 (내가 생각하는) 내 문제의 strcpy() 다른
에 같다 나는 다른 변수의 문자열로 하나 개의 변수의 문자열을 복사하려고 할 때 오류가 그냥 유래에 대한 몇 가지 질문에서 읽을
implicit declaration of function strcpy
incompatible implicit declaration of built-in function 'strcpy'
경고 표시되지 않지만 각 숯불하기 위해 자신의 포인터를 가지고있는 구조체의 변수는, 아무것도는 일어나지 않았다 strcpy() 함수 대신 strdup() 함수를 사용하는 것이 좋지만 내가했을 때 오류가 발생했습니다
"segmentation fault"라는 strcpy()에 문제가 있으며 메모리 할당에 대해 알고 있다는 것을 알았습니다. 코드가 정확히 무엇인지 정확히 알지 못합니다. ?
는 이것은
struct p
{
char *name;
struct p *next;
};
struct p *ptrary[10];
int main(void)
{
struct p p,q;
p.name="xyz";
p.next=NULL;
ptrary[0]=&p;
strdup(q.name,p.name);
ptrary[1]=&q;
printf("%s\n",ptrary[1]->name);
return 0;
}
그렇게 문제가 무엇 내 코드와 나는 그것을 해결하는 방법?
추가'사용법 #include'코드의 나머지 부분 전에 (그리고 한 줄에 단독으로의 확인). 'strdup'은 표준이 아니지만 일반적인 사용법은'q.name = strdup (p.name);'와 같습니다. –
함수에 대한 설명서를 읽으려고 했습니까? 나는 그것을 사용하기 위해 어떤 헤더 파일을 포함시켜야 하는지를 알려줄 것입니다. – Barmar
@JerryCoffin q.name = strdup (p.name); – Salahuddin