重学C语言-基础学习总结3(第6周-第8周)

第六课
  1. 概要:本周开始学习数组,函数及其相关概念,包括数组的定义,数组赋值,函数的定义,函数原型声明,void无值类型
  2. 细节回顾:
    1. 数组必须要声明类型,表示数组中元素类型,同时也需要声明长度,长度声明完成后,不可变更(C99标准中可以使用变量表示长度)
    2. C语言执行时会顺序执行,如果没有提前声明函数,执行过程中会猜想假定声明,可能造成冲突导致编译失败,此时可以使用函数原型声明来解决,也可以把函数定义的代码块,写到引用函数之前来解决。
    3. 原型声明是指:包含函数定义的类型,函数定义的参数类型,分号,如void func(int a, double, int c);,注意,可以不用定义具体参数,只需要参数类型
    4. 函数有返回值时,声明的返回类型要保持一致。
    5. 二维数组,声明方式比如:int a[][3]; int arr[3][3];,一定要注意声明列的长度
    6. 函数f(),可以接受参数,f(void)才明确表示不接受参数
第七课
  1. 概要:本周内容学习数组相关计算,主要包括了,长度计算,搜索,排序
  2. 细节:
    1. 长度计算:函数sizeof();比如int a[]; 长度len=sizeof(a)/sizeof(a[0]),就是由于数组元素有一致性,总大小/单个元素大小==长度*
    2. 二维数组可以有连续赋值的形式,比如int a[][2]={1,2,3,4};等效于int a[][2]={ {1,2},{3,4}};
    3. 数组赋值时可以指定位置,其他没有指定下标位置的用0填充替代,比如int a[3] = {[1]=1,2}等效于int a[3]={0,1,2};
    4. 结构体struct{},可以自定义元素数据类型,让不同的数据类型归属同一个结构
第8课
  1. 概要:本周主要学习C语言指针与字符串相关基础知识
  2. 细节:
    1. 指针,表示数据的内存地址,使用 char *p;这种方式定义
    2. 数组变量是特殊的指针,数组第一个元素的内存位置与数组指针的内存位置一致
    3. 指针内存位置可以使用 %p占位符打印出来
    4. ‘&’+变量名可以表示已存在变量的指针地址,而*是间接运算符,是指针的引用,表示指针指向的对象或者函数
    5. 字符串在内存中的表达形式是字符数组,其中最后一个元素为’\0’;
    6. 字符串操作函数,strlen,strcmp,strncpy,strncat等等,需要引入头文件 include "string.h"(tips: 双引号标识先搜索当前目录,再搜索标准库目录,而<>号表示直接搜索标准库目录)
    7. 字符串定义可以使用指针形式 char *s=“abc”;数组形式 char s[]=“abc”;

Guess you like

Origin blog.csdn.net/qinmin1/article/details/105499324