数组n代表的意思

来源:互联网 发布:淘宝网,女风衣 编辑:程序博客网 时间:2024/04/27 18:31

看很多书上写&array[n]代表第n个元素的地址。其实指的是第n+1个元素的地址吧。

#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
    int array[]={1,2,3,4};
    int *p=&array[3];
    cout<<*p<<endl;
    system("pause");
    return 0;

}

这输出的是4!不知道如何解释,可能自己对第n个元素的地址理解有误!

 

const  int ia[]等价于const int*  ia;

我们在传递形参与实参的时候,都可以让两个等价!

#include <iostream>
using  namespace std;
void print(const int ia[5])
{
 for(size_t i=0;i !=5;i++)
  cout<<ia[i]<<endl;
}
int main(void)
{
 const int pia[5]={1,2,3,4,5};
 print(pia);
 return 0;
}

 

重载首先查找名字,名字一样则在局部作用域内隐藏外层的同名函数的重载。  //mark一下

main函数中 int main(int argc,char *argv[])

{}

第二个形参argv是一个数组,第二个形式是数组,所以也可以写成int main(int argc,char** argv){}

argc代表数组中字符串的数量。数组第一个为执行的可执行文件名。

 

牢记当我们将decltype作用于某个函数时,它返回函数类型而非指针类型。因此,我们显式的加上*以表明我们需要返回指针,而非函数本身。

decltype(sumLength)*getFun(const  string &);//表明getFun函数返回的是前面那函数返回类型的指针。

typedef    decltype(lengthCompare)  *FuncP2;//前面加上指针,表示结果得到的是前面函数的返回类型加指针。

void useBigger(const string&,constructionstring&,FuncP2);最后那个是一个指针,因为前面的申明!

0 0
原创粉丝点击