- 单引号是字符型,单引号引起的一个字符实际上代表一个整数。
- 双引号是字符串型,双引号引起的字符串,代表的却是一个指向无名数组起始字符的指针。该数组会被双引号之间的字符以及一个额外的二进制为零的字符 ‘\0’ 初始化。
#include <stdio.h>
#include <string>
#include <iostream>
void test(char c)
{
printf("Got character %c\n", c);
}
void test(const char* c)
{
printf("Got string %s\n", c);
}
using namespace std;
int main() {
char a ='a';
cout<<a<<endl;
string bc="bc";
cout<<bc<<endl;
test('c');
test("c");
}
终端输出:
举个例子:
a
bc
Got character c
Got string c
"a"和’a’的区别,前者是字符串,后者是字符。
实际上 “a” 是 “a\0”,以’\0’结尾。而’a’单单表示a这个字符。
字符串可以是"abcde"这样的表示多个字符的一个组合,但是’abcde’这样就是错误的!!!
总结一下,通常情况下单个字符用字符,多个字符组合起来就是字符串了~