簡體   English   中英

將指針與帶有字符的指針進行比較?

[英]Comparing a pointer to a pointer with a character?

我有一個字符數組。 指針指向該字符數組。 同樣,另一個指針指向該指針,即它是指向指針的指針。 現在,我需要將指針與帶有字符文字的指針進行比較,例如“ a”。

我嘗試了strcmp,但是沒有用。

我怎樣才能做到這一點?

    char arr[1000];
    char *ptr,*ptr1,**curr;
    ptr=arr;        //pointer pointer to that array
    curr=&ptr;      //pointer to a pointer
    if(**curr=='.') //doesn't work
        printf("Some code");

如果我理解正確,那么您在談論以下內容

#include <string.h>

//...

char arr[1000] = "a";
char *ptr = arr;
char **curr = &ptr;

if ( strcmp( *curr, "a" ) == 0 ) puts( "They are equal" );

要么

#include <string.h>

//...

char arr[1000] = "abcd";
char *ptr = arr;
char **curr = &ptr;
char *ptr2 = "ab";

if ( strncmp( *curr, ptr2, strlen( ptr2 ) ) == 0 ) puts( "They are equal" );

如果您需要比較單個字符,則可以編寫

char arr[1000] = "a";
char *ptr = arr;
char **curr = &ptr;

if ( **curr == 'a' ) puts( "They are equal" );

要么

char arr[1000] = "ab";
char *ptr = arr;
char **curr = &ptr;

if ( ( *curr )[1] == 'b' ) puts( "They are equal" );

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM