C++入门经典-例6.9-通过指针变量获取数组中的元素

1:通过指针引用数组,需要先声明一个数组,再声明一个指针。

int a[10];

int *p;

然后通过&运算符获取数组中元素的地址,再将地址值赋给指针变量。

p=&a[0];

代码实例如下:

// 6.9.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <iostream>
using namespace std;
void main()
{
    int i,a[10];
    int *p;
    //利用循环,分别为10个元素赋值
    for(i=0;i<10;i++)
        a[i]=i;
    //将数组中的10个元素输出到显示设备
    p=&a[0];
    for(i=0;i<10;i++,p++)
        cout << *p << endl;
}

运行结果:

时间: 2024-10-08 18:12:32

C++入门经典-例6.9-通过指针变量获取数组中的元素的相关文章

C++入门经典-例6.11-使用指针变量遍历二维数组

1:代码如下: // 6.11.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> #include <iomanip> using namespace std; void main() { int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12}; int *p; p=a[0]; for(int i=0;i<sizeof(a)/sizeof(int);i+

C++入门经典-例6.14-通过指针连接两个字符数组

1:字符数组是一个一维数组,引用字符数组的指针为字符指针,字符指针就是指向字符型内存空间的指针变量. char *p; char *string="www.mingri.book"; 2:实例,通过指针连接两个字符数组,代码如下: // 6.14.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<iostream> using namespace std; void main() { char st

C++入门经典-例5.8-使用指针函数进行运算

1:函数指针式指向函数内存的指针,一个函数在编译时被分配给一个入口地址,这个函数的入口地址就称为函数指针.可以用一个指针变量指向函数,然后通过该指针变量调用此函数. 一个函数可以返回一个整数型值.字符值.实型值等,也可以返回指针型的数据,即地址,返回值的类型是指针类型.返回指针值得函数简称指针函数. 定义指针函数的一般形式为: 类型名 *函数名(参数列表) 例如,定义一个具有两个参数和一个返回值的函数的指针及一个具有同样返回值参数列表的函数的代码如下: int sum(int x,inty);

C++入门经典-例6.13-指针与二维数组

1:代码如下: // 6.13.cpp : 定义控制台应用程序的入口点. // #include"stdafx.h" #include<iostream> using namespace std; void main() { int a[3][4]; int (*b)[4];//指向int数组的指针,也可以用int *b; int *c[4]; //储存指针的数组,最多只能储存4个指针 int *p; p = a[0]; //a[0]是int型指针,同样a[1] a[2]

C++入门经典-例4.10-使用static变量实现累加

1:静态变量static可以分为静态局部变量和静态全局变量,静态局部变量的值在函数调用结束后不消失,静态全局变量只能在本源文件中使用. 静态变量属于静态存储方式,它具有以下特点: (1)静态变量在函数内定义,在程序退出时释放,在整个程序的运行期间都不释放,也就是说它的生存周期为整个源程序. (2)静态变量的作用域与自动变量相同,在函数内定义就在函数内使用,尽管改变量还继续存在,但是不能使用它,如果再次调用定义它的函数时,便可继续使用它. (3)编译器会为静态局部变量赋予0值. 代码如下: //

C++入门经典-例6.12-使用数组地址将二维数组输出

1:以a[4][3]为例 a代表二维数组的地址,通过指针运算符可以获取数组中的元素 (1)a+n代表第n行的首地址 (2)&a[0][0]既可以看作第0行0列的首地址,同样也可以被看作是二维数组的首地址.&a[m][n]就是第m行n列元素的地址 (3)&a[0]是第0行的首地址,当然&a[n]就是第n行的首地址 (4)a[0]+(n-1)表示第0行第n个元素 (5)*(*(a+n)+m)表示第n行第m列 (6)*(a[n]+m)表示第n行第m列元素 2:代码如下: // 6

【C】使用指针对数组中的元素换位问题

首先一条比较简单的问题: 输入10个整数,将其中最小的数字与第一个数字对换,把最大的数与最后一个数对换. 编写3个函数:(1)输入10个数字(2)进行处理(3)输出10个数字 思想如下图,使用一个长度为11的数组的第1~10位置存储这10个数,这样既符合人的思维又利用a[0]作为数据交换时候的临时存储空间, 代码如下,实现起来非常简单,主要是注意,C语言的指针是如何操作的,包括声明.处理等. #include<stdio.h> void input(int a[]){ for(int i=1;

qsort 函数的使用——对普通数组、指针数组、二维数组中的元素进行排序

在ANSI C中,qsort函数的原型是 #include <stdlib.h> void qsort(void *base, size_t nmemb, size_t size, int (*compar) (const void *, const void *)); 解释:qsort函数对含有nmemb个元素的数组进行排序,而base指针指向数组的第一个元素.这个数组的元素个数由size指定. compar函数对qsort的比较操作进行定义,所以可以定制数字的比较,字符串的比较,甚至结构体

编程题:指针输出数组的灵活性。功能:输出数组中全部元素

#include<stdio.h> void main() { int *p,i; int a[5]={1,2,3,4,5}; p=a; printf("\n"); for(;p<a+5;p++) printf("%d\t",*p); } 编程题:指针输出数组的灵活性.功能:输出数组中全部元素,布布扣,bubuko.com