时间:2021-05-02
学习指针的时候我一直有个疑惑,请看下面的代码:
? 1 2 3 4 5 6 7 8 9 10 11 #include <iostream> using std::cout; void main() { int num=5; int *nPtr=# cout<<nPtr;//输出指针的地址。但是会报错<<没有直接输出int *地址的功能 return ; }但是,将int 改成char 类型就不会报错,可以输出字符串。同样是指针,这次为何没有输出地址(理应输出指针代表的地址,但是<<并没有重载地址输出的功能所以报错)呢?
? 1 2 3 4 5 6 7 8 9 10 11 #include <iostream> using std::cout; void main() { char *nPtr="Address"; cout<<nPtr;//输出字符串Address; return ; }原来,输出流运算符<<重载了输出功能,可以自动判断类型,int直接输出,char *就输出所代表的字符串,如果要输出地址,必须使用强制类型转换函数static_cast转换成十六进制数字,其它类型的指针比如int *double *直接输出会报错
? 1 2 3 4 5 6 7 8 9 10 11 #include <iostream> using std::cout; void main() { char *nPtr=“请问我”; cout<<nPtr<<"下个输出是指针地址 "<<static_cast<void *>(nPtr);//语句会报错,不能输出指针。 return ; }以上这篇浅析char 指针变量char *=p 这个语句的输出问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
一、定义函数指针?1return_type(*func_pointer)(parameter_list)普通指针变量的定义?12int*p;char*point
1、有以下题目:#includeusingnamespacestd;voidGetMemeory(char*p){p=(char*)malloc(sizeof(
在C语言中“char”是声明一个字符类型的指针,定义数据类型,char可以定义字符有变量、数组、指针。 C语言是一门面向过程的计算机编程语言,与C++、Jav
C读取csv文件复制代码代码如下:#include#includechar*trim(char*str){char*p=str;while(*p==''||*p
详解C语言中Char型指针数组与字符数组的区别1.char类型的指针数组:每个元素都指向一个字符串,指向可以改变char*name[3]={"abc","def