[C指针]指针与字符串:声明、初始化、比较strcmp、复制st

2019-04-14  本文已影响0人  AkuRinbu

学习笔记

《深入理解C指针》
http://www.ituring.com.cn/book/1147
第5章 指针与字符串

一、字符串基础

警告 记住,NULLNUL不同。NULL用来表示特殊的指针,通常定义为((void*)0),而NUL是一个char,定义为\0,两者不能混用。

字符串位置小结

char* globalHeader = "Chapter";
char globalArrayHeader[] = "Chapter";

void displayHeader() {
    static char* staticHeader = "Chapter";
    char* localHeader = "Chapter";
    static char staticArrayHeader[] = "Chapter";
    char localArrayHeader[] = "Chapter";
    char* heapHeader = (char*)malloc(strlen("Chapter")+1);
    strcpy(heapHeader,"Chapter");
}

二、字符串操作

1、字符串比较 strcmp

int strcmp(const char *s1, const char *s2);

字符串比较

相等操作符比较的是地址,而不是地址中的内容,用数组名字或者字符串字面量就会返回地址

关于VS2017中C语言的关于输入scanf输入字符串的问题
https://blog.csdn.net/Aki_long/article/details/86708155

2、复制字符串 strcpy

char* strcpy(char *s1, const char *s2);

names[count] = (char*)malloc(strlen(name)+1);
strcpy(names[count],name);

复制字符串

3、拼接字符串 strcat

char *strcat(char *s1, const char *s2);

一个难以察觉的小错误

正确的 currentPath = strcat(currentPath,"\\");
错误的 currentPath = strcat(path,'\\');

错误的 currentPath = strcat(path,'\');
上一篇 下一篇

猜你喜欢

热点阅读