二维数组 字符串 指针

IOS学习第12天

二维数组

  • 二维数组在内存中的存储

1.二维数组在内存中也是”从高到低申请连续内存的”,一共有行 * 列 * sizeof(单个元素的数据类型)

2.第0行是在”低”字节

  • 二维数组的地址和行列计算

1.二维数组的地址 == 二维数组名 == 二维数组的低地址 == 二维数组中第0行的地址 == 二维数组中第0行第0个元素地址
== 二维数组第0行的低字节地址

2.二维数组的长度以及行列计算

长度:二维数组的总字节数 / 单个元素的字节数

sizeof(二维数组名) / sizeof(单个元素的字节数)

行数:二维数组的总字节数 / 每一行的字节数

sizeof(二维数组名) / sizeof(二维数组名[0])

列数:每一行的字节数 / 单个元素的字节数

sizeof(二维数组名[0]) / sizeof(单个元素的字节数)
  • 二维数组与函数

1.当二维数组作为函数的参数的时候,会丢失这个二维数组的行数和列数

2.当而为驻足作为函数的参数的时候,行数可以省略,要保证实参二维数组的列数必须要和形参二维数组的列数相同

3.写参数的时候,可以先写行数和列数,最后再写二维数组,然后二维数组的列数用参数的列数来决定

void fuZhi(int row,int col,int nums[][col])
{
    //函数体:给nums这个数组中的每一个元素赋值
    for (int i = 0; i < row; i++) {
        for (int j = 0; j < col; j++) {
            //nums[i][j]
            nums[i][j] = i*j+10;
    
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C语言中的二维数组字符串是由多个字符串组成的数组。可以使用循环输入一维字符串的方式来为二维数组赋值。例如,可以使用以下代码来实现: #include <stdio.h> int main() { int i,j; char a[10][10]; for(i=0; i<10; i++) { scanf("%s",a[i]); } return 0; } 其中,a是一个二维字符数组,每行可以存储一个字符串。通过循环输入的方式,可以逐行输入字符串,并将其赋值给二维数组。在上述代码中,使用了循环来输入10行字符串。 另外,也可以使用指针来实现输入效率的提高。例如,可以使用以下代码: #include <stdio.h> int main() { int i; char a[10][10], *p; p = a; // 定义一个指针指向数组,p+i就指向二维数组的第i行 for(i=0; i<10; i++) { scanf("%s",p+i); } return 0; } 在上述代码中,使用了指针p来指向二维数组a的首元素,这样可以通过p+i来访问二维数组的第i行。使用指针的方式,可以减少内存的使用和提高输入效率。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [C语言如何输入二维字符串数组](https://blog.csdn.net/weixin_45810064/article/details/109029536)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [13-二维数组字符串](https://blog.csdn.net/weixin_34023863/article/details/89659296)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值