c 语言二维数组传址 指针方式
2011-04-08 16:00
357 查看
/*
Name: p79_4_3.cpp
Copyright:
Author:
Date: 2011年4月
Description:魔术方块的算法
Input :一个整数
Output:二维整数数组,(依据特定规则 ) 关于二维数组的传址很重要, int (*m)[]
,第一括号代表指针
*/
#include<stdio.h>
#include<stdlib.h>
#define n 3
void square(int (*m)
);
int main()
{
int m
={0};
int i,j;
square(&m[0]);
for (i=0;i<n;i++)
{
for (j=0;j<n;j++)
printf("M[%d][%d] = %2d ",i,j,m[i][j]);
printf("/n");
}
system("pause");
return 0;
}
void square(int (*m)
)
{
int p,q,k;
p=0;
q=(n-1)/2;
m[0][q]=1;
for (k=2;k<=n*n;k++)
{
p=(p-1+n)%n;
q=(q-1+n)%n;
if (m[p][q]>0)
{
p=(p+1)%n;
m[p][q]=k;
} else {
m[p][q]=k;
}
}
}
Name: p79_4_3.cpp
Copyright:
Author:
Date: 2011年4月
Description:魔术方块的算法
Input :一个整数
Output:二维整数数组,(依据特定规则 ) 关于二维数组的传址很重要, int (*m)[]
,第一括号代表指针
*/
#include<stdio.h>
#include<stdlib.h>
#define n 3
void square(int (*m)
);
int main()
{
int m
={0};
int i,j;
square(&m[0]);
for (i=0;i<n;i++)
{
for (j=0;j<n;j++)
printf("M[%d][%d] = %2d ",i,j,m[i][j]);
printf("/n");
}
system("pause");
return 0;
}
void square(int (*m)
)
{
int p,q,k;
p=0;
q=(n-1)/2;
m[0][q]=1;
for (k=2;k<=n*n;k++)
{
p=(p-1+n)%n;
q=(q-1+n)%n;
if (m[p][q]>0)
{
p=(p+1)%n;
m[p][q]=k;
} else {
m[p][q]=k;
}
}
}
相关文章推荐
- 用指针操作二维数组 C 语言
- C的二维数组理解指针以及存储的方式
- 【C/C++语言基础学习】在主函数的定义的指针数组、二维数组通过三级指针在被调用函数分配内存
- 指针数组的初始化方式和和用二维数组做形参
- 【C 语言】指针 与 数组 ( 指针 | 数组 | 指针运算 | 数组访问方式 | 字符串 | 指针数组 | 数组指针 | 多维数组 | 多维指针 | 数组参数 | 函数指针 | 复杂指针解读)
- C语言指针定义变量方式
- c语言动态指针"数组"--一种伪二维数组
- [C语言教程]指针转换方式实现C语言的指针操作安全代码
- 二维数组、数组指针、指针数组和指针的指针分析(另数组的内存分配方式)
- 采用new运算符创建一个指向二维数组的指针的两种方式
- 关于用指针方式访问二维数组的问题
- 指向二维数组的指针定义方式
- c语言指针类型参数的传递方式
- 一维数组,二维数组,三维数组,数组与指针,结构体数组,通过改变指针类型改变访问数组的方式
- cppTest-3.0:指针相关-3(二维数组的n种new方式)
- c 语言函数传参的三种方式及二级指针的理解
- 指针遍历二维数组的三种方式
- 汇编语言的寻址方式与C语言中的指针是一个东西。
- C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表
- C语言中的二级指针和二维数组问题