>컴퓨터 튜토리얼 >컴퓨터 지식 >포인터를 사용하여 작성된 C 언어 함수 구현

포인터를 사용하여 작성된 C 언어 함수 구현

PHPz
PHPz앞으로
2024-01-24 21:39:051064검색

포인터를 사용하여 작성된 C 언어 함수 구현

C 언어로 함수를 작성하고 포인터 메소드를 사용하여 함수를 구현합니다

int find(char* source/*source string*/, char* target/*substring*/)//소스 문자열에서 반환된 위치를 찾습니다. 찾을 수 없으면 -1을 반환합니다. return 1, 변경 Return i가 return 1로 변경됩니다.

{

int i,j;

int s_len=strlen(출처);

int t_len=strlen(대상);

if(t_len>s_len)

{

반품 -1;

}

for(i=0;i

{

j=0;

int 플래그=1;

if(소스[i]==대상[j])

{

int k,p=i;

for(k=0;k {

if(소스[p]==대상[j])

{

p++;

j++;

계속;

}

그밖에

{

플래그=0;

휴식;

}

}

}

그밖에

{

계속;

}

if(플래그==1)

{

반환;

}

}

반품 -1;

}

함수 포인터를 사용한 프로그래밍

함수 포인터는 때때로 매우 유용합니다. 예를 들어 구조체에서 함수 포인터를 정의하면 C 언어의 C++ 클래스 멤버 함수와 유사한 기능을 구현할 수 있습니다.

다음 프로그램은 입력 숫자의 나머지 부분(1 또는 0)에 따라 else if 없이 해당 함수를 호출할 수 있는 함수 포인터 배열을 정의합니다.

//입력이 홀수입니다

void FuncOdd(int n)

{

float i, nIterator = 0;

printf("홀수를 입력하셨습니다.n");

for (i = 1; 나는 {

nIterator+=1/i;

}

printf("결과는 다음과 같습니다: %fn",nIterator);

}

//입력은 짝수입니다

void FuncEven(int n)

{

float i, nIterator = 0;

printf("짝수를 입력하셨습니다;n");

for (i = 2; 나는 {

nIterator+=1/i;

}

printf("결과는 다음과 같습니다: %fn",nIterator);

}

int 메인()

{

int nInput = 0; // 입력된 숫자를 저장합니다

void (*func[2])(int); // 두 개의 다른 함수를 가리키는 함수 포인터를 정의합니다

func[0] = FuncEven;

func[1] = FuncOdd;

printf("숫자를 입력하세요:") // 콘솔에서 입력받기

scanf("%d",&nInput);

(*func[nInput%2])(nInput) // 입력된 숫자에 따라 해당 함수를 호출합니다

0을 반환합니다;

}

C 언어 포인터 사용법

int top은 포인터의 범주에 속해서는 안 되지만, int의 공통변수에 대한 정의는 음수, 0, 양수에 따라 어떻게 사용되는지에 따라 달라진다고 판단할 수 있습니다. 이 클래스로 사용됩니다. 이 변수가 루프의 카운터인 경우(루프 수가 증가하거나 감소함을 의미) 루프가 성공적으로 실행된 횟수를 확인할 수 있습니다

Reader는 클래스 이름입니다. 이는 클래스도 데이터 유형임을 의미합니다

int와 마찬가지로 데이터 유형 이름입니다

Reader read[Maxr];는 이 유형의 배열 변수가 아마도 매크로에 의해 정의된 값임을 의미합니다

왜 이렇게 정의할 수 있나요? 클래스는 외부 클래스를 포함하여 모든 데이터 유형(C의 구조체와 동일)을 포함할 수 있기 때문입니다

위 내용은 포인터를 사용하여 작성된 C 언어 함수 구현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 docexcel.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제