c之指针与数组(1)

1.指针与地址

一元运算符&可用于取一个对象的地址。例如:int i=1;&i就是计算机地址。

一元运算符*是间接寻址或者间接引用运算符。例如:

int x=1,y;int ip*;

ip=&x

y=*ip;

2.指针与函数参数

c语言是以传值的方式将参数值传递给被调用函数,因此被调用函数不能直接修改主调函数中变量的值。例如:

void swap(int x,int y)
{
int temp;
temp=x;
x=y;
y=temp
}

swap不能交换两个变量x,y的值。

可以使主调程序将指向所要交换的变量的指针传递给被调用函数,即swap(&a,&b);

void swap(int *px,int *py)
{
int temp;
temp=*px;
*px=*py;
*py=temp
}

3.指针与数组

int a[10];

int *pa;

pa=&a[0]//指针pa指向数组a的第一个元素的地址。等同于pa=a;

&a[2]=a+2;

例如返回字符串s的长度:

int strlen(char *s)
{
int n;
for(int i=;*s!='\0';s++)
n++;
return n;
}

在函数定义中,形式参数char s[];和char *s;是等价的。

上一篇:ajax实战用法详解


下一篇:解读NoSQL数据库的四大家族