首页 > 代码库 > 指针与数组
指针与数组
先来体会下数组与指针的区别,看如下代码:
int GetSize(int data[])
{
return sizeof(data);
}
int _tmain(int argc, _TCHAR* argv[])
{
int data[] = {1,2,3,4,5};
int size1 = sizeof(data);
int *data2 = data;
int size2 = sizeof(data2);
int size3 = GetSize(data);
cout<<size1<<endl<<size2<<endl<<size3<<endl;
getchar();
return 0;
}
运行输出是20,4,4。
这里可以得出三点结论
1、对数组运用sizeof运算符可以得到数组的大小。sizeof使计算对象所占的内存的。
2、数组名也是一个指针。(sizeof一个指针永远只能得到一个指针变量所占的内存,这跟机器字长有关,32位机是4个字节)
data2虽然指向了数组data1的第一个数字,但他本质任然是个指针。
3、函数参数用数组时,实际跟指针一样,调用的时候,数组指针自动退化为普通指针,所以size3得到的是4。
指针与数组
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。