sizeof 数组名和指针的区别
来源:互联网 发布:单片机保险丝的作用 编辑:程序博客网 时间:2024/05/22 08:03
在Win 32 中:
1. (1) 对数组名进行sizeof运算时,结果是整个数组占用空间的大小;(2) 但是数组作为函数参数时,对数组名进sizeof 运算,结果为4;
(2)对指针进行sizeof运算得到的值是编译器分配给指针(也就是一个地址)的内存空间,即为4。
2.(1) 对数组名作&运算,得到的还是数组第一个元素的地址;
(2) 对指针取地址时得到的结果是指针所在的地址,也就是指向这个指针的指针,与指针的值不同。
#include<iostream>
using namespacestd;
bool mytest(int param[100])
{
//参数数组名:paramBytes
intparamBytes = sizeof(param);
printf("paramBytes\t%d\n",paramBytes);
//数组:mych1[]
char mych1[] = "abcdefg123";//若定义为mych1[100]
int mych1Bytes = sizeof(mych1);
printf("mych1Bytes\t%d\n",mych1Bytes);//输出:100
//数组:mych[200]
char mych[200] = {0};
int myBytes = sizeof(mych);
printf("myBytes \t%d\n",myBytes);
printf("---addr \t%d\n",mych);
printf("---addr\t%d\n",&mych);
//指针:pch
char* pch = "12345abc";
int pchBytes = sizeof(pch);
printf("pchBytes \t%d\n",pchBytes);
//pch =mych;
printf("---addr \t%d\n",pch);
printf("---addr\t%d\n",&pch);
return true;
}
intmain()
{
int A[100];
mytest(A);
return 0;
}
- sizeof 数组名和指针的区别
- 数组名和指针的区别 sizeof
- sizeof(数组名)和sizeof(指针)的区别
- 数组名的sizeof 和 指针名的sizeof
- sizeof()数组名和指针的结果
- sizeof() && 数组名和指针
- sizeof 指针 和数组名
- sizeof(数组名)和sizeof(指针)
- sizeof(数组名)和sizeof(指针) .
- sizeof(数组名)和sizeof(指针)
- sizeof(数组名)和sizeof(指针)
- sizeof 数组名 和 sizeof 指针
- sizeof(数组名)和sizeof(指针)
- sizeof(数组名)和sizeof(指针)
- sizeof(数组名)和sizeof(指针)
- sizeof(数组名)和sizeof(指针)
- sizeof(数组名)和sizeof(指针)
- sizeof(数组名)和sizeof(指针)
- Opencv中cvSmooth函数
- 《大数据技术全解:基础、设计、开发与实践》
- C/C++ static 相关细节
- VS2008 控制台中使用CFileDialog类
- 理发师悖论
- sizeof 数组名和指针的区别
- 算法导论 插入排序和合并排序
- assert 的用法
- Linux 下的快捷键
- 整数开方 sqrt
- C语言读写文件
- 图的存储结构——邻接表 以SDUT 2138为例
- memset
- 注意移位运算的优先级