您的位置:首页 > 编程语言 > C语言/C++

c++---数组和指针

2011-09-19 10:52 274 查看
数组

1. float a[3][4];

a[0],a[1],a[2]是3个一维数组的名字。c++中,二维数组中元素排列顺序是:按行存放。

2. 选择法排序-数组名做为形参

void select_sort(int array[],int n)
{int i,j,k,t;
for(i=0;i<n-1;i++)
{k=i;
for(j=1;j<n;j++)
{if(array[j]<array[k])k=j;
t=array[i];
array[i]=array[k];
array[k]=t;
}
}
}

3.如果用二维数组名作为实参和形参,在对形参数组声明时,必须指定第二维的大小,且应与实参的第二维的大小相同。

在第二维大小相同的前提下,形参数组的第一维可以与实参不同。系统不检查第一维大小。

4. 字符串结束标志

“\0“ :有个结束标志,字符串长度就显的不那么重要了。在程序中往往依靠检测'\0'的位置来判定字符串到此结束。

5.在声明时对数组初始化。下面是错误的:

char a[];
a="china";


指针

1.在定义指针变量注意:

不能用一个整数给一个指针变量赋值。

在定义指针变量时必须指定基类型。

2. int i;

int *pointer=&i;

3.引用

作用:给一个变量起一个别名。

引用例子:

#include <iostream>
using namespace std;
int main()
{ void sort(int &,int &,int &);
int i,j,k;
int i1,j1,k1;
cout<<"please input 3 integers"<<endl;
cin >> i>> j>>k;
i1=i;
j1=j;
k1=k;
sort(i1,j1,k1);
cout<<"sorted order is\n"<<i1<<" "<<j1<<" "<<k1<<endl;
return 0;
}
void sort(int &i,int&j,int&k)
{ void chg(int &,int&);
if(i>j)chg(i,j);
if(i>k)chg(i,k);
if(j>k)chg(j,k);
}
void chg(int &i,int &j)
{ int temp;
if(i>j)
temp=i;
i=j;
j=temp;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: