简明现代魔法 -> C/C++ -> C 程序设计:使用指针访问数组

C 程序设计:使用指针访问数组

2010-08-03

如果pa指向数组中的某个元素,那么pa+1将指向下一个元素,pa+i指向下i个元素。所以,若果pa指向a[0],那么*pa其实就是a[0],*(pa+1)就是a[1],*(pa+i)就是a[i]。根据这个思路,我们可以使用指针来访问数组。

#include <stdio.h>

int main(int argc, char *argv[])
{
	int score[10]={76,85,90,67,59,79,82,95,91,65};
	int wait, length, i;

	length = sizeof(score) / sizeof(score[0]);

	for(i = 0; i < length; i++)
	{
		printf("%d \n", *(score + i));
	}

	scanf("%d", &wait);

}

程序输出:

76
85
90
67
59
79
82
95
91
65

数组下标与指针关系很密切。执行语句 pa = &a[0] 后,pa 和 a 就具有相同的值了,并且 *pa=a[0]。实际上C语言在计算数组下标时也是使用指针来完成的。下标与指针其实是等价的。

当把一个数组名传递给一个函数的时候,实际上传递的是该数组的第一个元素的地址。所以,数组名参数必须是一个指针。

计算字符串长度的程序可以写成以下:

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

s 是指针,也就是一个变量,对它进行自增是合法的。

随机文章推荐
网站分类


注:如需转载本文,请注明出处(原文链接),谢谢。更多精彩内容,请进入简明现代魔法首页。

进入新博客
喜欢本文,就分享它吧
给我留言
您的名字:
您的邮件:
您的网站:


 

copyright © 2009 简明现代魔法    学习、分享、进步

power by Gonn 感谢所有关心和支持本站的朋友们