指针的范例

来源:互联网 发布:北京编程培训 编辑:程序博客网 时间:2024/06/05 01:17

编写程序,通过指针访问变量并输出变量的值

  • 问题:如何通过指针访问值?

把变量的地址赋值给指针,通过指针访问值

#include <stdio.h>int main(){    int x, y; //声明变量    int *p1 = NULL;//声明并初始化指针    int *p2 = NULL;    x = 20;//给变量赋值    y = 30;    p1 = &x;//把变量的地址赋值给指针,指针指向变量的值    p2 = &y;    printf("p1 = %d p2 =%d\n",p1,p2);//指针存储地址的,指针名代表地址    printf("p1 = %d p2 = %d\n",*p1,*p2);//指针指向的值}

范例8.2
从键盘输入两个数x和y,将这两个数从小到大输出

#include <stdio.h>int main(){    int x, y;    int *p1, *p2, *p3;    scanf("%d %d",&x,&y);    p1 = &x;    p2 = &y;    if (x > y)    {        p3 = p1;        p1 = p2;        p2 = p3;    }    printf("x=%d y=%d\n",x,y);    printf("*p1 = %d,*p2 =%d\n",*p1,*p2);}

范例8.3
从键盘输入两个数,利用指针交换两个数后输出。

大佛i额快女

范例8.5
通过指针输出二维数组每个元素的值。
定义一个指针变量指向二维数组的首地址。

#include <stdio.h>int main(){    int x[2][4] = { 1,2,3,4,5,6,7,8 };    int *p = NULL;    for (p = x[0]; p < x[0] + 8; p++)    {        if ((p - x[0]) % 4 == 0)            printf("\n");        printf("%d",*p);    }    return 0;}
  • 如何计算二维数组的元素?
  • p = x[0] 把一维数组的地址赋值给指针
  • 声明一个二维数组,并对二维指针进行赋值
  • 把二维数组看成一维数组的数组(二维数组有两个元素,每个元素又有4个元素)
  • 给地址值加1表示访问下一个元素
  • 声明一个指针
  • 定义一个指针
  • -

范例8.6
从键盘输入一个二维数组,利用指针输出该数组的任意一个元素。
定义一个指针变量指向二维数组的首地址

0 0
原创粉丝点击