天天看點

怎樣在vs中監視char*字元串_字元串指針資料類型

一、前言

在實際開發中,特别是晶片開發中,例如智能傳感器晶片,經常直接使用C語言指針資料類型來操作寄存器。那麼字元串指針就是我們常見的操作。

C語言沒有單獨的字元串對象,它是通過數組的形式來表示字元串的:

#include

#include

int main(void)

{

char str[] = "hello world";

printf("%s",str);

printf("%c",str[1]);

}

上述字元串“hello world”共11個字元,加上結束字元“0”在記憶體中共12個字元。

二、通過字元指針引用字元串

#include

#include

int main(void)

{

char *str = "hello world";

printf("%s",str);

printf("%c",str[1]);

}

字元串拷貝示例:

#include

#include

int main(void)

{

char str_src[] = "hello world";

char str_desc[12],*p1,*p2;

p1 = str_src;

p2 = str_desc;

while(*p1!='0'){

p1++;

p2++;

*p2 = *p1;

}

*p2 = '0';

printf("The str_src is : %s",str_src);

printf("The str_desc is : %s",str_desc);

}

三、字元串傳參

1、使用字元串的數組名傳遞參數

#include

#include

int main(void)

{

char s1[] = "hello world";

char s2[12];

copyString(s1,s2);

printf("s2 = %s",s2);

}

void copyString(char str_src[],char str_desc[]){

int i;

for(i = 0; str_src[i]!='0';i++){

str_desc[i] = str_src[i];

}

str_desc[i] = '0';

}

2、使用字元串指針變量

形式一:

#include

#include

int main(void)

{

char *s1 = "hello world";

char *s2 = (char *)malloc(12);

copyString(s1,s2);

printf("s2 = %s",s2);

}

void copyString(char str_src[],char str_desc[]){

int i;

for(i = 0; str_src[i]!='0';i++){

str_desc[i] = str_src[i];

}

str_desc[i] = '0';

}

形式二:

#include

#include

int main(void)

{

char *s1 = "hello world";

char *s2 = (char *)malloc(12);

copyString(s1,s2);

printf("s2 = %s",s2);

}

void copyString(char *str_src ,char* str_desc){

int i;

for(i = 0; str_src[i]!='0';i++){

str_desc[i] = str_src[i];

}

str_desc[i] = '0';

}

三、字元串拷貝函數copyString幾種簡寫的總結

1、形式一

void copyString(char *str_src ,char* str_desc){

while(( *str_desc = *str_src)!='0'){

str_desc++;

str_src++;

}

}

2、形式二

void copyString(char *str_src ,char* str_desc){

while(( *str_desc++ = *str_src++)!='0');

}

3、形式三

void copyString(char *str_src ,char* str_desc){

while( *str_src != '0'){

*str_desc++ = *str_src++;

}

*str_desc = '0';

}

4、形式四

void copyString(char *str_src ,char* str_desc){

while( *str_desc++ = *str_src++);

}

怎樣在vs中監視char*字元串_字元串指針資料類型