C/C++ 数组、指针、引用区别

2015-03-02 21:26:00
admin
原创 1476
摘要:C/C++ 数组、指针、引用区别

一、数组、指针、引用区别

1、数组和指针都用来指向内存空间,数组相当于指针常量;

2、引用相当于指针常量,但是引用使用起来更方便;

3、示例代码:array_and_pointer.cpp


数组在定义的位置申请空间,全局区或调用栈:


指针用于指向内存空间:


二、sizeof运算

1、sizeof运算于数组,结果是数组大小,sizeof(str1) == 6;

2、sizeof运算于指针,结果是地址大小,sizeof(str2) == 4;

3、sizeof运算于引用,结果是引用对象大小;


三、常量字符串

1、常量字符串相当于字符串数组,并且以零结尾;

2、sizeof运算于常量字符串,相当于运算于数组;


四、数组退化

void func1(char *param1);  sizeof(param1) == 4

void func2(char param2[]);  sizeof(param2) == 4

以上2个申明完全等价,传递数组参数时,数组将退化为指针。

    发表评论
    评论通过审核之后才会显示。