数组与指针
- 修改内容的差别:
char a[] = "hello"; a[0] = 'x'; char *p = "world"; //指向常量字符串 p[0] = 'x'; //编译无错,运行出错
- sizeof运算符能计算数组容量,而sizeof(pointer)得到的是指针变量的字节数而非pointer所指向的内存容量,当数组作为函数参数传递时,该数组自动退化为同类型的指针。
char a[] = "hello"; char *p = a; cout << sizeof(a) << endl; //6 cout << sizeof(p) << endl; //4 void func(char a[100]){ cout << sizeof(a) << endl; //4 }