美文网首页
C之数组

C之数组

作者: 箫声_筱昇 | 来源:发表于2016-06-25 20:20 被阅读8次
#import<Foundation/Foundation.h>#include<stdbool.h>#include<string.h>//字符串的操做需要引入string.h 头文件
  • 数组:具有相同类型的元素组成的有序序列.
    注:数组是一种构造类型不属于基本类型.
    //定义一位数组的几种不同表现形式
    //int 代表数组保存的元素的类型为整型
    //[3]代表数组所能保存的元素的个数也称为长度
    //{0}是为数组赋初值,写一个0,就可以让数组的三个元素全部赋值为0,即为初始化数组
int array1[3] = {0};
//数组在定义时可以省略长度的定义,数组的具体长度可以根据初始值的个数确定.   
int array2[] = {1,2,3};   
//数组定义式长度确定,但是初值的个数小于实际长度,则数组最终会以0补足.{1,2,3,0,0,0}   
int array3[6]={1,2,3}
  • 注意问题
    //数组里面的所有成员必须相同
    //[ ]里面是元素的个数.只能是常量表达式,不能使用变量,(也可以省略,这时候根据初始值的个数系统会自动添加个数)
    //下标的范围从0开始道n-1.(至于为什么从0开始,要学习指针).
    //数组越界会引起 crash (崩溃)问题,越界就是访问数组的时候 超出了数组的个数.bounds(边界) beyound compare(无与伦比).
  int array[10] = {0};
  int max = 0;
   for(int i = 0;i < 10;i++){
        i[array] = arc4random()%(100-10+1)+10;//赋值
       printf("%d ",i[array]);
       //c 语言语法糖(syntax sugar)
        max = max > i[array] ?  max: i[array];//最大值
   
}
    printf("max=%d ",max);
   printf("\n");
    //冒泡排序,升序
    for(int i = 0;i < 10;i++){
        for(int j = 0;j < 10-1-i;j++){
            if(a[j] > a[j+1]){
              int temp = a[j];
               a[j] = a[j+1];
                a[j+1] = temp;
            }
       }
    }
    printf("\n");
   int array[7]={3,5,2,1,6,7,4};
    //外层循环控制冒泡排序比较的趟数,一共比较数组长度-1躺
    for(int i = 0;i < 6;i++){
//        内层循环控制一次比较的次数,每一次比较要比上一次的比较次数少一次/因为上一趟已经将目标元素排在数组最后一个.
        for(int j = 0;j < 6-i; j++){
            if(array[j]<array[j+1]){
                int temp = array[j];
                array[j] = array[j+1];
                array[j+1] = temp;
            }
        }
    }
    //*****选择排序*****
    int array[7] = {7,3,2,6,1,4,5};
    for(int i = 0;i < 7-1 ;i++){
        int index = i;
        for(int j = i + 1;j < 7; j++){
            if (array[j] < array[index]){
                index = j;
            }
        }
        if(i != index){
            int temp = array[i];
            array[i] = array[index];
            array[index] = temp;
        }
    }
    for(int i = 0;i < 7 ;i++){
        printf("%d ",array[i]);
    }
   charstr1[]={'a','b','c'};   
//字符数组以其数组元素为特定字符类型和数组元素有序的特征可用来标识字符串,如果赋值时义 str2 的方式赋值,才能称为字符串,因为字符串的结尾必须有'\0'字符.   
//strlen函数求出的字符串的长度不包括\0;   
//strlen()  字符串长度  
 //strcpy()  字符串拷贝   
//strcat()  字符串拼接   
//strcmp()  字符串比较  
 //**********栈内存,从高到低分配,从低到高存取.   charstr2[]="abc";
//    long length = strlen(str1);
//    printf("%ld\n",length);   
    char str3[] = "i love you";    char str4[11] = {0};    
//strcpy 是将第二个字符串的内容拷贝到第一个参数字符串中.第一个参数字符串的长度要大于第二个长度才可以正常拷贝.    
strcpy(str4,str3);    
//%s 格式控制符如果跟 printf 函数去可打印字符串,也是通过\0作为结束标志.    printf("%s\n",str4);       
char str5[200]="happy new year ";   
 //将第二个字符串拼接在第一个参数字符串的末尾,第一个字符串要拥有足够大的空间,否则拼接失败.    
strcat(str5,str4);   
 printf("%s \n",str5);       
char str6[] = "abc";    
char str7[] = "abd";    
//字符串比较函数是通过比较两个给定字符串的对应位字符串的 ascii 码差值来做比较的,函数的返回值为0说明两个字符串相同    
int result =strcmp(str6,str7);
    printf("%d\n",result);

相关文章

  • 再学C语言之指针要点

    C之字符数组 C之指针引用字符串 C语言之数组指针 数组指针:首先它是一个指针,它指向数组指针数组:首先它是一个数...

  • 慕课网-C++远征之封装篇(下)-学习笔记

    C++远征之封装篇(下) c++封装概述 类 & 对象 对象+数据成员 = 对象成员 对象 + 数组 = 对象数组...

  • C之数组

    数组:具有相同类型的元素组成的有序序列.注:数组是一种构造类型不属于基本类型.//定义一位数组的几种不同表现形式/...

  • 数组和字符串

    title: c++之管理数组和字符串tags: 语言工具-c++categories: c++date: 201...

  • JavaScript数组的简化

    JavaScript中数组的常用操作之数组的简化 Array.reduce() 方法 Array.reduce(c...

  • Objective-c之NSArray(NSMutableArr

    Objective-c之NSArray(NSMutableArray) 1、创建数组 NSArray *array...

  • Kotlin学习之数组

    Kotlin学习之数组 @(Kotlin学习) Kotlin中的数组采用Array类定义,抛弃了类C语言中“...

  • C语言杂谈:指针与数组 (下)

    思维导图 介绍 前接上文C 杂谈之 指针与数组 (一),接续往下谈指针和数组。 指针与数组 ——承接上文进行扩展 ...

  • C语言

    C 指针、指针变量、函数指针、指针函数、指针数组、数组指针、C 数组

  • 数组笔记

    #数组 一.C#中的数组 (一)数组的存储 在C...

网友评论

      本文标题:C之数组

      本文链接:https://www.haomeiwen.com/subject/zfeadttx.html