数组名和数组名取地址的区别
来源:互联网 发布:淘宝怎么提高销量排名 编辑:程序博客网 时间:2024/05/23 11:57
这篇为转载哈:原文地址http://blog.sina.com.cn/s/blog_7e40ef210101474l.html
#include <stdio.h>
int main()
{
int a[5];
printf("%d\n", a);
printf("%d\n", &a);
printf("%d\n", a + 1);
printf("%d\n", &a + 1);
printf("%d\n", &a[0] + 1);
printf("---------------\n");
printf("%d\n",sizeof(a));
printf("%d\n",sizeof(&a));
return 0;
}
运行结果:
编译环境为vs2013
分析:
另外,当用sizeof时,由于它是个关键词,而不是个函数,所以数组不自动转换为指针,得到的结果是数组的长度*数组中元素类型所占的字节数,本例中sizeof(a)和sizeof(&a)都是20.
ps:如果是(int)a +1,则结果是1245037(即1245036+1)
此处我还想说明的是在答应字符串的时候有如下两种形式:
1.char a[6] = "12345"; //说明:自动在末尾加入了‘\0'作为字符串结束符
2.char a[6] = {'A','B','C','D','E','\0'};//不加\0答应会出现乱码,或则可以在之前通过memset(a,0,6)清理数组空间
0 0
- 数组名和数组名取地址的区别
- 数组名和数组名取地址的区别
- 数组名和数组名取地址的区别
- 数组名和数组名取地址的区别
- 数组名和数组名取地址的区别?
- 关于“数组名”和“数组名取地址”的区别
- 数组名和取数组名地址的区别
- 数组名和数组名取地址的区别
- 数组名和数组名取地址的区别
- 数组名和数组名取地址的区别
- 数组名和数组名取地址的区别
- 数组名和数组名取地址的区别
- 数组名和数组名取地址的区别
- 数组名和数组名取地址的区别
- 数组名和数组名取地址的区别
- 数组名和数组名取地址的区别
- 数组名和数组名取地址的区别
- 数组名和数组名取地址的区别
- 开发触屏一体机时,遇到的问题以及解决方法
- JSONArray.fromObject不执行不报错的解决方法
- angularjs ui-view 子页视图切换
- 1.面向过程语言和面向对象语言的差别
- 使用Sqoop遇到的问题
- 数组名和数组名取地址的区别
- 了解Openstack
- idea工具下使用Java读取配置文件的方式
- mybatis 批量删除关键语句
- 摘要UDP连接和TCP的不同之处初识
- 事件分发机制
- MyBatis中一对一关联查询
- sysbench 简单使用
- JSP标准标签库(JSTL)—— core