多维数组问题 int (*a)[] int []
今天做调整方阵这道题: 第一遍提交没有通过, 又gdb 重新温故了
交换二维数组中的两行数据:
void swap(int *a, int *b)
{
int t = *a;
*a = *b;
*b = t;
}
//这里必须加上[10], 不加的话,本机测试是可以通过的,但是OJ提交会报这个错误, 编译不会通过
void swap_first(int (*a)[10], int (*b)[10], int n)
{
for (int i = 0; i < n; i++)
swap( &(*a)[i], &(*b)[i] );
} 调用:
swap_first(a+0, a+1, n);
这里需要注意 二维数组中的第一位的数据类型:
#include <stdio.h> int main(void)
{
int a[10][10] = {{1, 2, 3, 4}, {5, 6, 7, 8}};
int b[10] = {0};
return 0;
} gdb --> start --> n ... >
ptype(a) -- > int [10][10]
ptype(a+0) --> int (*)[10]
ptype( *(a+0)+1 ) --> int *
p *( *(a+0)+1 ) --> 2
ptype(b) ---> int [10]
注意二维数组中操纵其中第一维是的方法,int (*)[10]
是指向数组的指针, 和他的纬度10。
以及去它中元素地址的方式: & (*a)[i]
多维数组问题 int (*a)[] int []的更多相关文章
- C/C++二维数组的用法
二维数组在存储时按行优先连续存储,数组名是一个二维指针,如 int a[3][2] 中,a 是一个二维指针,而a[0],a[1],a[2]都相当于普通的一位数组的数组名,是一个固定值的指针. 二维数组 ...
- Java的二维数组的应用及杨辉三角的编写
(1) 编写一个程序,生成一个10*10的二维随机整数数组,并将该数组的每行最大值保存于一个一维数组中,将每列平均值保存于另外一个一维数组中并分别输出. (2) 编程输出杨辉三角的前10行. 找出一个 ...
- C语言教学--二维数组和指针的理解
对于初学者对二维数组和指针的理解很模糊, 或者感觉很难理解, 其实我们和生活联系起来, 这一切都会变得清晰透彻. 我们用理解一维数组的思想来理解二维数组, 对于一维数组,每个箱子里存放的是具体的苹果, ...
- C# 数组、多维数组(矩形数组)、锯齿数组(交叉数组)
数组是变量的索引列表,可以在方括号中指定索引来访问数组中的各个成员,其中索引是一个整数,从0开始. 一维数组 多维数组(矩形数组) 数组的数组(锯齿数组) 数组必须在访问之前初始化,数组的初始化有两种 ...
- (一)二维数组&&指针数组与数组指针
一.首先我们从字面意思理解一下什么是指针数组什么是数组指针 1.指针数组:本质是一个数组,数组中的每一个元素是一个指针. 2.数组指针:本质是一个指针,而指针指向一个数组. 二.我们该怎么区分指针数组 ...
- C#部分---二维数组、split分割;
二维数组定义方式: int[,] array = new int[3, 4]{ {1,2,3,4}, {3,4,5,6}, {5,6,7,8} }; 3表示,有三个一 ...
- C语言 数组输出,冒泡排序法,沉底排序法,二维数组输出,输出字母列长度,从随机数组中找重复数
#include <stdio.h> #define sum 3+4//宏定义是原封不动的使用used for test4 #include <time.h>//used fo ...
- C++二维数组动态内存分配
对于二维数组和二维指针的内存的分配 这里首选说一下一维指针和一维数组的内存分配情况. 一维: 数组:形如int a[5];这里定义了一个一维数组a,并且数组的元素个数是5,这里的a是这五个元素的整体 ...
- C#的switch与二维数组.....
今天由于工作上的需要, 改了几行C# 的代码, 发现有一些细微的语法区别,与C++, 像switch语句那样, 我一般不会在default后面加上break,语句, 可是发现如果不加上的话,就会报下 ...
- [java学习笔记]java语言基础概述之数组的定义&常见操作(遍历、排序、查找)&二维数组
1.数组基础 1.什么是数组: 同一类型数据的集合,就是一个容器. 2.数组的好处: 可以自动为数组中的元素从零开始编号,方便操作这些数据. 3.格式: (一 ...
随机推荐
- 试听笔记:技术狂人nodejs
nodejs概念: 让javascript运行在服务端的开发平台.不是一种语言,不是框架,不是库.特点:单线程异步.事件驱动. PHP.JAVA既是语言也是平台. 创始人:Ryan nodejs cm ...
- ios开发学习笔记(这里一定有你想要的东西,全部免费)
1,Search Bar 怎样去掉背景的颜色(storyboard里只能设置background颜色,可是发现clear Color无法使用). 其实在代码里还是可以设置的,那就是删除背景view [ ...
- 我的c++学习(2)比较两个数字大小
#include "stdafx.h" #include<iostream> using namespace std; int max(int i, int j){ / ...
- Tomcat 配置 Context
在 conf/Catalina/localhost/ 下添加 xml配置文件,文件名和站点名一致. 配置文件示例 <?xml version='1.0' encoding='utf-8'?> ...
- Oracle执行计划
建立与oracle的web程序,经常性出现sql性能不高导致的问题,比如程序好好的突然数据库查询变得很慢,几乎加载不了,这时候就有可能是oracle查询计划出错的原因. <sql id=&quo ...
- OA
OA(政府) http://zw.wuzhitong.com/oa_wuzhitong/index.asp http://www.wuzhitong.com/Information_ZW.html O ...
- ACM 疯牛
疯牛 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 农夫 John 建造了一座很长的畜栏,它包括N (2 <= N <= 100,000)个隔间,这些小 ...
- 转:js-sdk探索之微信网页分享
原文地址 微信是一个很不错的传播平台,最近公司需要做一个新年贺卡,使用html5制作一个很小的动画,然后发送给客户,不需要和后台有任何的联系,一个很简单的功能,需要利用微信的分享功能,毕竟微信分享的带 ...
- 【BZOJ1003】1003: [ZJOI2006]物流运输trans SPFA+DP
Description 物流公司要把一批货物从码头A运到码头B.由于货物量比较大,需要n天才能运完.货物运输过程中一般要转停好几个码头.物流公司通常会设计一条固定的运输路线,以便对整个运输过程实施严格 ...
- Log4cplus使用
Log4cplus使用¶ 1.1 简介 log4cplus是C++编写的开源日志系统,前身是java编写的log4j日志系统.log4cplus具有线程安全.灵活.以及多粒度控制的特点,通过将信息划分 ...