char *指针与char 数组的区别
来源:互联网 发布:winner知乎 编辑:程序博客网 时间:2024/04/29 03:33
#include <iostream>using namespace std;int main(){ char *p = "hello world"; char q[] = "hello world"; int *n = 0; cout << "sizeof(p) " << sizeof(p) <<endl; cout << "sizeof(*p) " << sizeof(*p) <<endl; cout << "sizeof(q) " << sizeof(q) <<endl; cout << "sizeof(*q) " << sizeof(*q) <<endl; return 0;}
运行结果:
sizeof(p) 4
sizeof(*p) 1
sizeof(q) 12
sizeof(*q) 1
第一个32位运行环境所有的指针大小都是4.;
第二个*p指的是第一个字符,所以大小是1;
第三个是数组大小,仅与初始化时的大小有关;
另外如果取值p[i]和q[i]的话,输出结果是一样的。p[i]时先取字符串首地址(指针)然后加上偏移量i,取得相应地址的字符。而数组的话则q直接使用首地址(p这个地址的值就为’h’这个字符,其类型为字符型而不是一个指针类型.此时p的地址与p[0]的地址是相同的)加上i即取得目标字符。另外char *指向的是一个常量区,不能被修改,而数组是可以被赋值的。
0 0
- char *指针与char 数组的区别
- char数组与char指针的区别与联系
- char指针与char数组的区别(非常详细!)
- char指针与char数组的区别(非常详细!)
- char指针与char数组的区别(非常详细!)
- char指针与char数组的区别(非常详细!)
- char指针与数组的区别
- 指针之char** 与 char[][]的区别
- char* ,char[],指针与数组
- char数组与char指针
- char数组与char指针
- char型指针数组与字符数组的区别
- 数组字符串与指针字符串的区别 char s[]="***" 和char *s="***"的区别
- 数组与指针定义字符串的区别(即char[]与char*)
- char * 与 char [] 区别,char *[] 与 char[][]区别。字符串指针的数组与二维char数组区别。字符串常量赋予指针与字符数组区别。"字符串"等价于其首元素"字"的地址
- 关于指针char *p和数组char p[] 的区别
- char数组 、char指针与字符串常量的比较
- char数组 、char指针与字符串常量的比较
- zabbix告警信息-lykchat信息发送系统
- 104. Maximum Depth of Binary Tree
- Kubernetes 1.6 官方发布:支持多用户、多工作负载
- okHttp网络请求
- EasyDarwin开源流媒体服务器实现RTSP直播同步输出MP4、RTMP、HLS的方案思路
- char *指针与char 数组的区别
- 学习笔记——环境变量
- Android5.1.1源码
- 云计算基础(三):HDFS+MapReduce
- python中字符串连接的问题:
- My first technology blogs
- Android5.1.1源码
- 归并排序
- 安卓线程池和线程