数组与指针

  1. 修改内容的差别:
    char a[] = "hello";
    a[0] = 'x';
    char *p = "world"; //指向常量字符串
    p[0] = 'x'; //编译无错,运行出错
  2. 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
    }
posted @ 2016-08-29 11:24  绿水白川  阅读(123)  评论(0编辑  收藏  举报