• 数组(1)


    数组

    一数组的概念

    一组具有相同数据类型的元素的集合

    元素:组成数组的基本单位

    注意:同一个数组只能存储同一种数据类型的元素

    可以是任意类型的数据

    数组大小

    又叫数组长度

    数组里可存储的元素个数

    定义数组时:常量,宏定义

    宏定义——替换

    define shi 10;

    之后的代码中所有的10都可以用shi来表示

    const修饰符==》常量

    const int n=10;

    //n就是常量了,一般不能修改

    C语言与c++中const的区别

    C语言的const是假的

    因为是可以通过指针来修改这个常量

    c++的const是真的

    而c++中的就不能被修改

    数组的内存

    1.数组的内存是连续的

    2.数组的长度是有限的

    3.数组元素类型是相同的

    4.数组长度可以用sizeof()求出来,求得的是字节数,而不是元素个数

    元素个数=数组正题所占的字节数/单个元素所占的字节数

    数组的初始化与赋值

    数组赋值:——四种方式
    //第一种全部给初始值
    	int a[4] = { 1,2,3,4 };
    	
    	//第二种给部分初始值
    	int a[4] = { 1,2 };
    	//未赋值的就是0
    
    	//第三种全部不给值
    	int a[4] = {};
    	//全部为0
    
    	//第四种不定义数组长度
    	int a[] = {1,2};
    	//必须给值初始化
    	//给多少个数,长度就是多少
    

    数组元素的访问

    int a[] = { 1,2,3 };
    	int str[3] = { 4,5,6 };
    	printf("%d
    ",sizeof(str));//输出12
    	printf("%d
    ",sizeof(str)/sizeof(int));//输出3
    	printf("%d
    ",a[0]);
    	printf("%d
    ",a[1]);
    	printf("%d
    ",a[2]);
    	printf("%d
    ", a[3]);
    

    使用循环,遍历数组

    遍历:将整个数组过一遍
    //第一种遍历方式
    int a[5] = { 2,6,7,3,4 };
    	for (int i = 0; i < 5; i++)
    	{
    		printf("%d ", a[i]);
    	}
    
    //第二种遍历方式
    int a[5] = { };
    	for (int i = 0; i < sizeof(a) / sizeof(int); i++)
    	{
    		a[i] = i;
    	}
    	for (int i = 0; i < 5; i++)
    	{
    		printf("%d ", a[i]);
    	}
    
    

    size_t == unsigned int

    typedef ——给类型取别名

    typedef int kiss;

    typedef int xxx;
    xxx a=10;
    //意思就是 int a=10
    
    typedef int str [5];
    str a={1,2,3,4,5};
    
    

    字符数组

    字符数组也是数组,只不过元素类型是字符

    1.初始化与赋值

    普通数组形式

    2.可以使用字符串初始化,可以省略大括号

    char arr[10]={'a','s'}
    //和普通数组赋值一样
    
    char arr2[5]="addw";
    char arr3[5]="12345"//是错的
    //因为在结尾默认加上要占一个位
    //  :结束符,标记字符串结束
    //每一个字符串数组都会在末尾加上
    char arr4[4]="abc"
    
    printf("%d",sizeof("abc"));
    //输出结果为4,加了的
    
    

    3.直接打印整个字符数组

    char arr[6] = { 'a','d','5',68,'101' };
    	printf("%s
    ", arr);
    	cout << arr << endl;
    //打印结果为:ad5DA
    //从头开始到''结束
    char arr[7] = { 'a','d','5','',68 ,'101'};
    	printf("%s
    ", arr);
    //打印ad5
    	
    
    char arr[]="abcdo1234fr";
    printf("%s",arr);
    //输出 abcd
    //     34fr
    // 因为12对应的ASCII码是
    ,换行符
    

    123——后面跟三位数字,表示一个八进制数

    ——转义字符,要跟后面的东西

  • 相关阅读:
    使用图形化技术完成电子相册程序的开发
    本周新学的 GUI绘图技术
    不如今日来说 有关StringBufferr类和字符串格式化的内容~
    PHP的身份证号码工具类
    在网页中嵌入带标识的百度地图
    PHP正则表达式使用详解
    Spicy Chicken GDI in C#
    [C++] Running time and Integer to String
    the difference between const int *, int * const, int const *
    [C# WPF]MoeEroViewer Developing Log
  • 原文地址:https://www.cnblogs.com/Kissfly123/p/14002876.html
Copyright © 2020-2023  润新知