利用指针初始化一个三维数组,只使用一层循环

#define  _CRT_SECURE_NO_WARNINGS

#include <Windows.h>
#include <stdio.h>
#include <stdlib.h>

void main() {

    int a[3][5][3];
    int num = 0;
    for (int * b = &a[0][0][0]; b < (&a[0][0][0] + 45); b++) { // 45 = 3*5*3
        * b = ++num;
    }

    for (int i = 0; i < 3; i++) {
        for (int j = 0; j < 5; j++) {
            for (int k = 0; k < 3; k++) {

            printf("%-3d ", a[i][j][k]);
            }
        }
    }
    getchar();
时间: 2024-12-22 02:15:07

利用指针初始化一个三维数组,只使用一层循环的相关文章

关于数组的a和&amp;a的区别:一个是普通的指针,一个是数组的指针

这个问题是我和同学讨论时,产生的思考,后来做的实验性解答. 先来看一段小程序 1. #include<iostream> 2. using namespace std; 3. 4. int main() 5. { 6. int a[5]={1,2,3,4,5}; 7. int *ptr=(int *)(&a+1); 8. cout<<*(a+1)="<<*(a+1)<<"*(ptr-1)="<<*(ptr-1

关于C语言: 初始化一个指向数组的指针变量为什么不需要&amp;符号?

C语言中数组名就是第一个元素的地址,所以可以直接把它赋给一个指针,不需要取地址. 1 void InitBiTree(SqBiTree T) 2 { // 构造空二叉树T.因为T是数组名,故不需要& 3 int i; 4 for(i=0;i<MAX_TREE_SIZE;i++) 5 T[i]=Nil; // 初值为空(Nil在主程中定义) 6 } 上述初始化代码中T是一个数组名,也就代表了数组的首地址,是一个地址,就不需要取地址符. 如下边初始化就不一样 1 void InitString(

C中怎么利用指针实现一个函数输入一个数组且输出一个数组

1 #include<stdio.h> 2 3 int num[]={1,3,5,45,67,18,64,82,34,62}; 4 5 int *pnum; 6 7 int *Fun(int *num);//该函数可以实现输入一个数组且输出一个数组的功能 8 9 void main() 10 { 11 char i=0; 12 //num=Fun(num);//这样写是错误的,因为num是一个指针常量,不能被赋值 13 pnum=Fun(num); 14 for(i=0;i<10;i++

C语言编程 子函数中利用指针输出二维数组

一般输出方式:void print1(int arr[][3], int row, int col){int i, j;for (i = 0; i < row; i++){for (j = 0; j < col; j++){printf("%d", arr[i][j]);}printf("\n");}} 指针输出方式:void print2(int arr, int row, int col){int i, j;for (i = 0; i < ro

课后作业09 -- 定义一个三维数组并输出

int[, ,] arr3 = new int[3, 2, 4] {{{1,2,3,4},{5,6,7,8}}, {{9,10,11,12},{13,14,15,16}},{{17,18,19,20},{21,22,23,24}}}; //使用foreach语句 Console.WriteLine("使用foreach语句遍历数组:"); foreach (int i in arr3) Console.Write(i + " "); //使用for循环 Consol

遍历一个三维数组

int[, ,] a = new int[2, 3, 4]{{{1,2,3,4},{5,6,7,8},{9,10,11,12}},{{13,14,15,16},{17,18,19,10},{21,22,23,24}}}; foreach (int m in a) { Console.Write(" " + m); } int l = a.Length; Console.WriteLine("\n数组总字符数 " + l); Console.ReadLine();

图解c/c++多级指针与多维数组

声明:本文转自 chenyang_yao ,欢迎阅读原文. 指针与数组是C/C++编程中非常重要的元素,同时也是较难以理解的.其中,多级指针与“多维”数组更是让很多人云里雾里,其实,只要掌握一定的方法,理解多级指针和“多维”数组完全可以像理解一级指针和一维数组那样简单. 首先,先声明一些常识,如果你对这些常识还不理解,请先去弥补一下基础知识: 1.实际上并不存在多维数组,所谓的多维数组本质上是用一维数组模拟的. 2.数组名是一个常量(意味着不允许对其进行赋值操作),其代表数组首元素的首地址. 3

利用滤镜做一个太阳

这篇文章主要给大家讲解的是如何利用滤镜做一个太阳,只需要照着本教程操作一遍,你就可以做出一样的效果,想学的朋友一起来看看吧.

think 多表 分组三维数组

public function businessDraftShow(){                $model = D('business');// 实例化Data数据对象        $data = $model->search(2);        $shuju = $data['data'];        $page = $data['page'];        $count = $data['count'];          foreach($shuju as $n =>