1.二维数组:是一个特殊的一维数组

完全初始化:

1)int a[2][3]={{1,2,3},{2,3,4}};

2)连续赋值int a[2][3]={1,2,3,2,3,4};

3)可以省略第一维的长度,第二维不能省

int a[][3]={1,2,3,2,3,4};

部分初始化

int a[2][3]={1,2,3};

先定义后初始化

2.二维数组的遍历

两重循环

3.二维数组的存储,先行后列,连续存储

二维数组的首地址=数组名=&a[0]=&a[0][0]

通过数组名计算数组占用的总字节数sizeof(a);

每行的字节数sizeof(a[0]);

每行有多少列:上面的数/每个元素占用的字节数

行数:sizeof(a)/sizeof(a[0])

4.字符串(双引号引起来,以\0结束)

用字符数组来保存字符串

1)char str[4]={"Hello"};

2)char str[4]="Hello";

3)char str[]="Hello";

字符串输出

print("%s",str);//str是字符串的首地址

print("%s",&str[0]);//%s从给定的地址开始打印,直到\0结束

%s输入的话,如果字符串有空格,则空格之后的字符无法被接收保存

计算字符串的长度:

1)使用strlen(str);函数

2)遍历数组,遇到\0结束循环,返回个数

字符串处理函数

1)输入输出函数,包含stdio.h

puts输出一个字符串,puts(字符数组首地址);

gets输入一个字符串,gets(字符数组名)使用gets会给出一个警告,存在越界问题。可以接收空格,但不可以格式话输出。

2)字符串连接函数,包含string.h

strcat(oldstr,newstr);//把newstr连接到oldstr后面,oldstr要足够大

strcpy(oldstr,newstr);//用newstr覆盖oldstr,oldstr要足够大

strcmp(str1, str2);//比较str1和str的大小,str1>str2返回大于0

strlen(str1);//计算字符串的长度

C语言回顾-二维数组的更多相关文章

  1. C语言之二维数组

    二维数组 还是一个数组,只不过数组中得每一个元素又是一个数组 1). 声明语法 类型 数组名[行][列]; 例:  int nums[2][3];//2行3列的二维数组,保存的数据类型是int类型 c ...

  2. C语言 字符二维数组(多个字符串)探讨 求解

    什么是二维字符数组? 二维字符数组中为什么定义字符串是一行一个? “hello world”在C语言中代表什么? 为什么只能在定义时才能写成char   a[10]="jvssj" ...

  3. C语言中将二维数组作为函数参数来传递

    c语言中经常需要通过函数传递二维数组,有三种方法可以实现,如下: 方法一, 形参给出第二维的长度. 例如: #include <stdio.h> void func(int n, char ...

  4. C语言教学--二维数组和指针的理解

    对于初学者对二维数组和指针的理解很模糊, 或者感觉很难理解, 其实我们和生活联系起来, 这一切都会变得清晰透彻. 我们用理解一维数组的思想来理解二维数组, 对于一维数组,每个箱子里存放的是具体的苹果, ...

  5. C语言基础--二维数组

    二维数组概念: 数组中的每一个元素又是一个数组, 那么这个数组就称之为二维数组,二维数组是特殊的一维数组. 二维数组格式: 元素类型 数组名称[一维数组的个数][每个一维数组的元素个数]; 元素类型 ...

  6. 【C语言】二维数组做形参

    二维数组有两种形式: ①在栈上:         int a[4][4] = {...}; ②在堆堆上:          int ** a = new int *[4];           for ...

  7. 【学习笔记】【C语言】二维数组

    1. 什么是二维数组 一个数组能表示一个班人的年龄,如果想表示很多班呢? 什么是二维数组?int ages[3][10]; 三个班,每个班10个人 相当于3行10列 相当于装着3个一维数组 二维数组是 ...

  8. iOS,object-c传参c语言的二维数组

    有那么一瞬间,懒得用NSArray,NSNumber,NSValue等一大堆蛋疼的转换,所以就定义了一个C的二维数组,反正OC支持C混编,可是蛋疼往往是传递的,这里不疼了,哪里就要疼,想把一个c的二维 ...

  9. C语言 memcpy二维数组的复制

    今天在实现二维数组的复制功能时,竟然出现了好多问题,还是太不小心了. 我们知道,平时进行矩阵复制,无非是二重循环进行赋值操作,所以今天想改用利用memcpy进行复制操作,当然一维数组的复制在上一篇文章 ...

随机推荐

  1. Python标准异常topic

    Python标准异常topic AssertionError                            断言语句 (assert)                              ...

  2. HDU1541 树状数组

    Stars Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submi ...

  3. javascript中矩形的碰撞检测---- 计算碰撞部分的面积

    今天在做一个拖拽改变元素排序的东西的时候,在做被拖动元素同时碰撞到两个元素时,究竟应该与哪个元素交换位置的问题上,纠结到崩溃,实在是想不到别的办法去做了,只能去想办法计算碰撞的面积. 这应该不是最合适 ...

  4. [转载] Ubuntu 16.04 LTS 一键安装VNC

    安装 X11VNC: sudo apt install x11vnc -y 配置访问密码: sudo x11vnc -storepasswd /etc/x11vnc.pass 创建服务: vi /li ...

  5. VIM键盘映射 (Map)~转载

    VIM键盘映射 (Map) 设置键盘映射 使用:map命令,可以将键盘上的某个按键与Vim的命令绑定起来.例如使用以下命令,可以通过F5键将单词用花括号括起来: :map <F5> i{e ...

  6. Tomcat(多版本)安装注意!

    ♣电脑安装多个版本的tomcat和切换(解压版的apache-tomcat   -5.5.0/   -6.0.45/  -7.0.70  三个版本) ♣tomcat配置环境变量 ♣tomcat5.5. ...

  7. undefined reference to `libiconv_open 无法编译PHP

    解决方法:#wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz#tar -zxvf libiconv-1.13.1.tar. ...

  8. Mac OS X:禁止崩溃报告-CrashReport

    Mac OS X:禁止崩溃报告 崩溃报告就是CrashReport 至于官方的有关CrashReport的文档在Technical Note TN212 . 一般的默认情况下,当一个应用程序因为各种原 ...

  9. Self-Host Web API 学习笔记

    ASP.NET Web API 不需要 IIS,直接使用控制台程序可以实现. 一.创建一个新的控制台程序,项目名为 HostApi 二.设置目标框架为.NET Framework 4 三.NuGet添 ...

  10. 【Git学习笔记】初始化Git仓库和版本回退

    学习地址 http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 什么是版本库呢?版本库又 ...