数组与指针的区别

来源:互联网 发布:医院ap网络 编辑:程序博客网 时间:2024/06/03 19:14

 1. 修改内容上的区别

char str[] = "hello world";// 数组str[0] = 'a';// 正常char *pStr = "hello world"; // 指针 pStr[0] = 'a';// 编译通过,运行错误!!

  2. sizeof  

运算符sizeof 可以计算出数组的容量(字节数),而sizeof(p)p作为指针得到的只是一个指针变量的大小,而不是它所指的内存容量。
int s1 = sizeof(str);// s1=12int s2 = sizeof(pStr);// s2=4

 注意:

当数组作为函数参数传入时,该数组自动退化为同类型的指针。
void Func(char a[100]){cout<<sizeof(a)<<endl; // 4而不是100}

原创粉丝点击