一、char* 字符指针的用法:
1、几点概念:
char test[ ]="ab c\0d ef";
char * p=test;
*p ====>所指的单个字符。
p ====>相当于字符数组的名字,整个数组。
2、代码:
#include<iostream>
using namespace std;
int main()
{
const char* test="ab c\0d ef";
cout<<*test<<endl; //输出第一个元素
cout<<test; //输出字符数组
return 0;
}
3、结果:
二、输出NULL的问题:
1、代码及相应结果:
①、char指针:
#include<iostream>
using namespace std;
int main()
{
char* p=NULL;
char v='a';
cout<<p;
cout<<v;
return 0;
}
②、double、int、float等指针:
#include<iostream>
using namespace std;
int main()
{
double* p=NULL;
char v='a';
cout<<p;
cout<<v;
return 0;
}
③、string指针:
#include<iostream>
using namespace std;
int main()
{
string* p=NULL;
char v='a';
cout<<p;
cout<<v;
return 0;
}
2、小结:
字符指针char* p如果是空,cout p就会结束程序,不执行下面的操作。
而貌似其他类型的指针则不会,cout其他类型空指针,默认输出0。