char指针的疑问
来源:互联网 发布:不吃清真食品 知乎 编辑:程序博客网 时间:2024/05/21 07:13
例子
char *p = "Kpple"; cout << p << endl; cout << *p << endl; int pi[]= {1,2}; cout << pi << endl; cout << *pi<< endl;
结果如下:
疑问:
我们知道若直接给 int指针赋值,如:int *ptr =5;这是不允许的。
但是看例子,得知 char *p = “Kpple”;是直接可以赋值成功,并且:
*p代表着 “Kpple”里面的第1个字符,P代表所有的字符。
这是为什么呢?
对于这个声明方式,会造成的误解是:声明了一个字符指针(它会指向一个位置),将“字符串”赋值给 指针表达式”*ptr”所指向的地址。但正解是:声明了一个字符指针后,并用字符串常量的第一个字符的地址赋值给指针变量ptr。
即正确顺序是:1.分配内存给字符指针;2.分配内存给字符串;3.将字符串首地址赋值给字符指针
0 0
- char指针的疑问
- 函数指针的疑问?
- 指针的疑问
- 关于数组指针的疑问
- 解决关于指针的疑问
- c语言中指针的疑问
- char*赋值疑问
- 指针之char** 与 char[][]的区别
- char *指针与char 数组的区别
- char *指针的详细解释
- 通过char **指针改变char*指针的指向
- 指向指针的指针 char **使用技巧
- char** p指针的指针意思详解
- c指针疑问
- 指针偏移疑问。
- const char*, char const*, char*const 的区别;指针常量,常量指针的区别
- char * 指针
- char * 指针
- HDU 5534 Partial Tree(dp)
- 《CLR var C#》读书笔记-CLR的执行模型
- Android之手机摇一摇震动刷新(支持ListView、GridView、WebView)并生成我的二维码
- 黑马程序员——基础知识——匿名内部类
- 存储过程 函数(基础一)
- char指针的疑问
- 以s3c2440的I2C子系统为例, 分析其代码实现
- PCH文件的使用
- spring单例性能
- for
- C++11新特性之 rvalue Reference(右值引用)
- Database startup hangs on Windows when machine has more than 64 cores
- 关于内存对齐的那些事
- discuz X3二次开发后台添加导航栏(后台菜单)