C语言及程序设计提高例程-35 使用指针操作二维数组

贺老师教学链接  C语言及程序设计提高 本课讲解

使用指向二维数组元素的指针

#include <stdio.h>
int main( )
{
    int a[3][4]= {1,3,5,7,9,11,13,15,17,19,21,23};
    int *p;
    for(p=a[0]; p<a[0]+12; p++)
    {
        printf("%3d  ",*p);
    }
    return 0;
}

使用指向一维数组的指针

#include <stdio.h>
int main( )
{
    int a[3][4]= {1,3,5,7,9,11,13,15,17,19,21,23};
    int i,j,(*p)[4];
    for(p=a,i=0; i<3; i++,p++)
    {
        for(j=0; j<4; j++)
            printf("%3d ",*(*p+j));
        printf("\n");
    }
    return 0;
}

使用指向一维数组的指针之二

#include <stdio.h>
int main( )
{
   int a[3][4]= {1,3,5,7,9,11,13,15,17,19,21,23};
   int (*p)[4], i, j;
   p=a[0];
   for (i=0; i<3; i++)
   {
      for(j=0; j<4; j++)
          printf("%d\t", *(*(p+i)+j));
       printf("\n");
   }
   return 0;
}

使用指针数组

#include <stdio.h>
int main()
{
    int b[2][3]= {{1,2,3},{2,4,6}};
    int *pb[2];
    int i,j;
    pb[0]=b[0];
    pb[1]=b[1];
    for(i=0; i<2; i++)
    {
        for(j=0; j<3; j++,pb[i]++)
            printf("%2d",*pb[i]);
        printf("\n");
    }
    return 0;
}
时间: 2024-08-17 12:45:54

C语言及程序设计提高例程-35 使用指针操作二维数组的相关文章

C语言及程序设计提高例程-7 返回指针的函数

贺老师教学链接  C语言及程序设计提高 本课讲解 返回指针的函数 #include <stdio.h> int *max(int *x, int *y) { int *t; if(*x > *y) t = x; else t = y; return t; } int main() { int a, b, *p; scanf("%d %d", &a, &b); p = max(&a, &b); printf("max = %d

c语言中怎么把一个大小不确定的二维数组当作参数传入函数中

问题描述 c语言中怎么把一个大小不确定的二维数组当作参数传入函数中 c语言中怎么把一个大小不确定的二维数组当作参数传入函数中,取大神,取大神,取大神 解决方案 用VC++新建一个程序,默认生成的main函数定义如下 int mian(int argc, char* args[]) 这就是一个例子. 解决方案二: 一个表示长度的参数,一个指向二维数组的指针 解决方案三: fun(args[][],int rows,int cols) 解决方案四: void Func(int array[][10]

C语言 指针与二维数组详解_C 语言

二维数组在概念上是二维的,有行和列,但在内存中所有的数组元素都是连续排列的,它们之间没有"缝隙".以下面的二维数组 a 为例: int a[3][4] = { {0, 1, 2, 3}, {4, 5, 6, 7}, {8, 9, 10, 11} }; 从概念上理解,a 的分布像一个矩阵: 0   1   2   3 4   5   6   7 8   9  10  11 但在内存中,a 的分布是一维线性的,整个数组占用一块连续的内存: C语言中的二维数组是按行排列的,也就是先存放 a[

C语言及程序设计提高例程-15 小小型应用系统开发指导(三)

贺老师教学链接  C语言及程序设计提高 本课讲解 说明:     本程序在学习者仅掌握了基本数据类型和控制结构.函数的前提下设计,模拟银行储蓄系统的基本功能.     程序运行前,请在程序所在文件夹中,自建文件password.txt,保存123456作为初始密码,自建文件balance.dat,保存1000,作为初始的余额.    运行结束后,对数据所做的所有修改均可以利用文件保存下来.     与上一个版本相比,我们学习了模块化程序设计及用函数的实现方法,所以有能力重构了整个软件的结构.本程

C语言及程序设计提高例程-25 指针作函数参数

贺老师教学链接  C语言及程序设计提高 本课讲解 例:冒泡排序函数的新写法 #include <stdio.h> void bubblesort(int*, int); int main( ) { int i,a[10]= {3,5,9,1,3,6,-9,-7,10,12}; bubblesort(a,10); for(i=0; i<10; i++) printf("%d ", a[i]); return 0; } void bubblesort(int *p, in

C语言及程序设计提高例程-16 数组的引入

贺老师教学链接  C语言及程序设计提高 本课讲解 引子:求5位同学的平均成绩 #include <stdio.h> int main( ) { int a1, a2, a3, a4, a5; int total=0, ave; scanf("%d %d %d %d %d", &a1,&a2,&a3,&a4,&a5); total+=a1; total+=a2; total+=a3; total+=a4; total+=a5; ave=

C语言及程序设计提高例程-36 多维数组作函数参数

贺老师教学链接  C语言及程序设计提高 本课讲解 用多维数组名作函数参数 #include <stdio.h> int max_value(int array[][4]); int main( ) { int a[3][4]= {{11,32,45,67},{22,44,66,88},{15,72,43,37}}; printf("max value is %d\n", max_value(a)); return 0; } int max_value(int array[]

C语言及程序设计提高例程-12 变量的存储类别

贺老师教学链接  C语言及程序设计提高 本课讲解 用extern声明外部变量:一个文件内的全局变量 #include <stdio.h> int max(int,int); int main( ) { extern int a,b; //对全局变量a,b作提前引用声明 printf("%d\n", max(a,b)); return 0; } int a=15,b=-7; //定义全局变量a,b int max(int x,int y) { int z; z=x>y?

C语言及程序设计提高例程-2 模块化程序设计及C语言中的函数

贺老师教学链接  C语言及程序设计提高 本课讲解 我们写过这样的程序 #include <stdio.h> int main() { int iChioce; do { printf("* 1. 吃饭\n"); printf("* 2. 睡觉\n"); printf("* 3. 打豆豆\n"); printf("* 0. 退出\n"); printf("* 请选择(0-3):"); scanf(