首页 > 其他分享 >39.C语言数组学习的有关整理

39.C语言数组学习的有关整理

时间:2024-04-30 20:44:06浏览次数:14  
标签:39 数组 int C语言 str printf sizeof array

首先还是关于这两个东西

  • sizeof() 用于计算所占空间大小
  • strlen() 只用于求字符串长度
/**
 * sizeof 计算所占空间大小 \0也会计算
 * strlen 只能用来求字符串长度 直到找到字符串结束标志\0
 * */
char arr1[]={'a','b','c'};  // a b c
char arr2[]="abc";   // a b c \0
    printf("%d\n",sizeof(arr1));	3
    printf("%d\n",sizeof(arr2));	4
    printf("%d\n",strlen(arr1));    //随机值 找不到字符串结束标志\0
    printf("%d\n",strlen(arr2));	3

数组长度计算:
一维数组数= sizeof(array)/sizeof(array[0]);
二维数组行数 = sizeof(array)/sizeof(array[0]);
二维数组列数 = sizeof(array[0])/sizeof(array[0][0]);


数组下标从0开始
关于二维数组[][]第二个列不能省略

    int arr3[]={1,2,3,4};
    //取出的是首元素的sizeof(地址)
    printf("%p\n",arr3);
    printf("%p\n",&arr3[0]);
    //取出的是整个数组的地址
    printf("%p\n",&arr3);

还有一些练习题:

数组的下标

必须是整形常量表达式

注意注意:
其包含的元素不能超过其下标

是正确的
#define M 8
int a[M]
错误:
int M=8;
int a[M];
关于两个字符串比较不能使用关系运算符
要使用strcmp函数
关于字符之类的函数:

image

关于二维数组在内存中存放顺序 以行为主顺序存放

image

输出为9
a b \n \\ 0 1 2 2 \\ \0结束标志
   char s[] = "ab\n\\0122\\\0";
    printf("%d", strlen(s));

image

china直接复制到str数组里面  输出5
  char str[] = "String";
  printf("%d\n", strlen( strcpy(str, "China")));

image

   char str[10]="12345";
   读取覆盖原来的数组内容
    gets(str);
    strcat(str,"def");
    printf("%s",str);
注意注意for循环的对其两层互不影响
\t 缩进相当于Tab键
    int a[10] = {9, 8, 7, 6, 5, 4, 3, 2, 1, 0};
    for (int i = 0; i < 10; ++i)
        a[i] = add(a[i], i);
    for (int i = 0; i < 10; ++i)
        printf("%d\t", a[i]);

标签:39,数组,int,C语言,str,printf,sizeof,array
From: https://www.cnblogs.com/gaodiyuanjin/p/18168651

相关文章

  • 使用g开头的数组字符串的解析
    在做ofd的文件解析的时候,会遇到带有这种描述的数组"g22.03g31.20.2"。这个字符串通过空格进行分割得到一个["g",2,2.0,3,"g",3,1.2,0.2]这样的数组数据。这个是以g表示一个数组的开头,包含了2个元素,每个元素都是2.0的数组。整个字符串翻译成一个完整的数组就是这样......
  • useEffect中的deps数组经常依赖了好多变量,甚至包括对象,如何避免这样,假如某个变量变化
    避免在useEffect的依赖数组中包含大量变量或对象,可以通过以下几种策略来优化:拆分useEffect:如果不同的副作用依赖于不同的状态或变量,可以将它们拆分为多个useEffect调用。这样每个useEffect只关注自己关心的依赖项,使逻辑更加清晰且易于维护。useEffect(()=>{//仅当a变化......
  • 利用二分法删除数组中元素
    二分法的思想主要是要设定起始值和终点值,计算中值,和给定值进行比较,如果大于给定值,则将中值作为终点值,否则作为起始值,重新计算中值。#include<stdio.h>intmain(){intarray[10]={1,2,3,5,8,15,20,30,100,200};intfirst=0,end=9,middle=(first+end)/2,num,i;s......
  • 'org.springframework.web.filter.CharacterEncodingFilter' is not assignable to 'j
    问题描述:在写SSM项目中,配置前端控制器的时候发现错误'org.springframework.web.filter.CharacterEncodingFilter'isnotassignableto'javax.servlet.Filter,jakarta.servlet.Filter'一直爆红解决思路:在您的错误消息中,指出了org.springframework.web.filter.CharacterEn......
  • JavaScript数组
     JavaScript数组数组(Array)是属于内置对象,数组和普通对象的功能类似,都可以用来存储一些值。不同的是:普通对象是使用字符串作为属性名,而数组是使用数字作为索引来操作元素。索引:从0开始的整数就是索引。数组的存储性能比普通对象要好。在实际开发中我们经常使用数组存储......
  • 重新排列数组
    给你一个数组nums,数组中有2n个元素,按[x1,x2,...,xn,y1,y2,...,yn]的格式排列。请你将数组按[x1,y1,x2,y2,...,xn,yn]格式重新排列,返回重排后的数组。我写的:  publicint[]Shuffle(int[]nums,intn){      int[]newNums=newint[2*n];  ......
  • Go语言系列——数组和切片、可变参数函数、Maps、字符串、指针、结构体、方法、接口(一
    文章目录11-数组和切片数组数组的声明数组是值类型数组的长度使用range迭代数组多维数组切片创建一个切片切片的修改切片的长度和容量使用make创建一个切片追加切片元素切片的函数传递多维切片内存优化12-可变参数函数什么是可变参数函数语法通过一些例子理解可变参......
  • Radash库使用说明——数组方法篇(全)
    写在前面tips:点赞+收藏=学会!本文包含radash中数组相关的所有方法说明+使用示例+思维导图查看这边会整理出一份数组相关方法的使用大纲(不含源码解析),方便大家查阅使用;作者会按照大类进行整理分享,本次也会同步给出Array所有方法的思维导图;所有方法整理完毕后,作者会整......
  • 【Modelsim问题】# ** Error: (vsim-3170) Could not find 'lab1_tb'.
     #**Error:(vsim-3170)Couldnotfind'lab1_tb'. testbench文件名与其中module 后紧跟的名称不匹配......
  • Windows Server 下 IIS 申请部署 Let's Encrypt 证书实现 免费 HTTPS
    certbot命令行搞了半天一直失败找到个工具Certify简单方便1、首先下载Certify下载到服务器上并安装。下载地址:https://certifytheweb.com/2、第一次启动程序时会弹出对话框让我们填写个邮箱地址,等证书快要过期的时候我们会收到续订证书的提醒邮件。这里我们填上常用的ema......