指针与数组的区别
2013-10-31 14:11
232 查看
数组要么在静态存储区被创建(如全局数组),要么在栈上被创建。指针可以随时指向任意类型的内存块。
(1)修改内容上的差别
char a[] = “hello”;
a[0] = ‘X’;
char *p = “world”; // 注意p 指向常量字符串
p[0] = ‘X’; // 编译器不能发现该错误,运行时错误
char a[]是放在栈中的,可以这么理解只是复制了hello这个内容,就好比“hello”放在了栈中
(2) 用运算符sizeof 可以计算出数组的容量(字节数)。sizeof(p),p 为指针得到的是一个指针变量的字节数,而不是p 所指的内存容量。C++/C 语言没有办法知道指针所指的内存容量,除非在申请内存时记住它。注意当数组作为函数的参数进行传递时,该数组自动退化为同类型的指针。
char a[] = "hello world";
char *p = a;
cout<< sizeof(a) << endl; // 12 字节
cout<< sizeof(p) << endl; // 4 字节
计算数组和指针的内存容量
void Func(char a[100])
{
cout<< sizeof(a) << endl; // 4 字节而不是100 字节
}
阅读(415) | 评论(0) | 转发(0) |
0
上一篇:指针的详解
下一篇:串的堆分配存储
相关热门文章
字节对齐1
有关VA_LIST的用法--变参函数...
刑法的效力范围
linux下的socket编程
免费使用网站模板建设网站 ...
test123
编写安全代码——小心有符号数...
使用openssl api进行加密解密...
一段自己打印自己的c程序...
sql relay的c++接口
ChinaUnix & ITPUB社区12周年...
ssh连接出现以下提示,求解...
如何扩展MYSQL
准备做一个大型门户,用户什么...
gbk or utf8
给主人留下些什么吧!~~
评论热议
(1)修改内容上的差别
char a[] = “hello”;
a[0] = ‘X’;
char *p = “world”; // 注意p 指向常量字符串
p[0] = ‘X’; // 编译器不能发现该错误,运行时错误
char a[]是放在栈中的,可以这么理解只是复制了hello这个内容,就好比“hello”放在了栈中
(2) 用运算符sizeof 可以计算出数组的容量(字节数)。sizeof(p),p 为指针得到的是一个指针变量的字节数,而不是p 所指的内存容量。C++/C 语言没有办法知道指针所指的内存容量,除非在申请内存时记住它。注意当数组作为函数的参数进行传递时,该数组自动退化为同类型的指针。
char a[] = "hello world";
char *p = a;
cout<< sizeof(a) << endl; // 12 字节
cout<< sizeof(p) << endl; // 4 字节
计算数组和指针的内存容量
void Func(char a[100])
{
cout<< sizeof(a) << endl; // 4 字节而不是100 字节
}
阅读(415) | 评论(0) | 转发(0) |
0
上一篇:指针的详解
下一篇:串的堆分配存储
相关热门文章
字节对齐1
有关VA_LIST的用法--变参函数...
刑法的效力范围
linux下的socket编程
免费使用网站模板建设网站 ...
test123
编写安全代码——小心有符号数...
使用openssl api进行加密解密...
一段自己打印自己的c程序...
sql relay的c++接口
ChinaUnix & ITPUB社区12周年...
ssh连接出现以下提示,求解...
如何扩展MYSQL
准备做一个大型门户,用户什么...
gbk or utf8
给主人留下些什么吧!~~
评论热议
相关文章推荐
- 指针的详解
- 深入理解形参的重要性
- 对const关键字的理解
- 如何在Linux上面安装GCC 4.1.2
- 查看WEB服务器当前连接数
- Flex坐标
- 节选【挨踢人物传】茶乡浪子王达
- Java虚拟机深入研究
- XCode调试技巧之EXC_BAD_ACCESS中BUG解决
- Calendar.set用法的深入探讨
- C二维数组作为函数参数需在内部指明列数
- win7无法访问局域网win2003系统共享的文件的解决方法
- 条码扫描二维码扫描——ZXing android 源码简化
- 传奇源码分析---框架
- JQuery UI - resizable
- 转 Google免费的SVN服务器管理VS2010代码 - aehyok - 博客园
- linux中 likely与unlikely
- javascript 实现动画
- 大小端字节序问题
- phpmyadmin配置方式