【C语言基础知识(终)】

提示:本篇文章为初识C语言的基础知识的个人总结,内容如若有误,请及时联系我更正。

  • 转载请注明原创,谢谢。


前言

大家好,我是小明,今天总结的是初识C语言的相关基础知识。


在这里插入图片描述

提示:以下是本篇文章正文内容:

一、数组

1.数组的定义

我们存储一个数时,我们可以创建一个变量 ,例如 int x = 6; 但如果要存储十个甚至几百个时,就需要用到数组了。

那么,让我们来看一下数组的格式:

数据类型 变量名 [ 数组个数 ] = { 数据内容 } ;

或者

数据类型 变量名 [ 数组个数 ] = { 数据内容 } ;
// 数组定义时,可以省略数组个数

例如:

#include <stdio.h>
int main()
{
	int arr1[5] = {1,2,3,4,5};
	int arr2[] = {4,5,6,7,8};
	
    return 0;
}

arr1 定义一个整形的数组,最多放 5 个元素,改动时需根据数据内容调整数组个数。
arr2 定义一个整形数组,放 5 个元素,省略了数组个数,后续更改可以不用调整数组个数。

2.数组的下标

当我们知道了数组的格式时,又该怎么去取值呢?
在C语言当中, 数组的每个元素都有一个下标,且下标是从0开始的

如下图:
在这里插入图片描述

数组中的元素可以通过下标来访问,如果我们想取数组中的 2 ,则需要使用arr1 [1] 来访问。

例如:

#include<stdio.h>
int main()
{
	int arr[4] = { 12, 345, 678, 999 };
	printf("%d\n",arr[2]);

	return 0;
}

运行结果:
在这里插入图片描述

如上图,我们在输出时,所用的下标是 2 ,则打印时会在屏幕打印数组中下标为 2 的数据 678 。

二、函数

函数是一组一起执行一个任务的语句。每个 C 程序都至少有一个函数,即主函数 main( ) ,所有简单的程序我们都可以定义其他额外的函数。

代码的划分通常是根据每个函数执行一个特定的任务来划分的。

我们可以把代码划分到不同的函数中。并且如何划分代码到不同的函数中是由我们来决定的。

例如:

#include<stdio.h>
int Add(int m, int n)
{
    return m + n;
}
int main()
{
    int x = 11;
    int y = 22;

    printf("%d\n", Add(x, y));

    return 0;
}

运行结果:
在这里插入图片描述

我们首先声明了一个 Add( ) 的函数,其作用是可以返回两位数相加的值,当程序运行时,先进入 主函数main( ) 中,然后定义了 x 和 y 的值,在使用printf( )函数时,将 xy 的值传给了 Add( )函数mn ,并返回了两数相加的值,然后打印在了屏幕上。

三、操作符

1.常见算术操作符

在这里插入图片描述

例如:

#include<stdio.h>
int main()
{
    int x = 10;
    int y = 3;

    int a = x + y; //加
    int b = x - y; //减
    int c = x * y; //乘
    int d = x / y; //除
    int e = x % y; //取余、取模

    printf("%d\n%d\n%d\n%d\n%d\n", a, b, c, d, e);

    return 0;
}

运行结果:
在这里插入图片描述

2.其他常见操作符:

在这里插入图片描述

除了这些常见的操作符外,我们还会用到一些其他的操作符,这些我会在详解里给大家细说他们的作用。

四、指针

在 C 语言中,指针是一种特殊的变量,它用来存储一个变量的内存地址。换句话说,指针内存就是用来存放指针变量的内存空间。

1.内存

内存是电脑上特别重要的存储器,计算机中程序的运行都是在内存中进行的。

  • 为了有效的使用内存,就把内存划分成一个个小的内存单元,每个内存单元的大小是 1 个字节。
  • 为了能够有效的访问到内存的每个单元,就给内存单元进行了编号,这些编号被称为该内存单元的地址。
    在这里插入图片描述
  • 变量是创建内存时分配空间的,每个内存单元都有地址。
    取出变量地址如下:
#include <stdio.h>
int main()
{
    int num = 0;
    // &num;//取出num的地址
    //取出的是第一个字节的地址(首地址)
    printf("%p\n", &num);//打印地址,%p是以地址的形式打印
    return 0;
}

运行结果:在这里插入图片描述

2.指针的定义

那么地址又该如何存储呢?这里就需要定义指针变量了。

int num = 0;
int *p;
p = &num;

指针的使用:

#include <stdio.h>
int main()
{
    int num = 10;
    int *p = &num;
    *p = 99;
    //修改*p就修改了num的值
    
    return 0;
}

3.指针的大小

#include <stdio.h>
int main()
{
    printf("%d\n", sizeof(char*));
    printf("%d\n", sizeof(short*));
    printf("%d\n", sizeof(int*));
    printf("%d\n", sizeof(double*));
    return 0;
}

运行结果:
在这里插入图片描述

指针大小 在32位平台是4个字节,64位平台是8个字节。

五、结构体

C 语言中的结构体(struct)是一种自定义的数据类型,它可以将不同类型的数据组合在一起形成一个新的数据类型。

结构体主要应用于以下场景:

1. 当程序中需要表示多种不同类型的变量时,如字符型、浮点型、整型等类型,可以用结构体将这些数据作为一个整体使用。
2. 结构体可以方便地实现数据打包,从而简化程序的编写和阅读。
3. 结构体在嵌入式编程中尤为重要,因为它可以提高代码的效率。

结构体的定义形式为:

struct 结构体名{
结构体所包含的变量或数组 ;
} ;

结构体和数组类似,也是一组数据的集合,整体使用没有太大的意义。数组使用下标[ ]获取单个元素,结构体使用点号 . 获取单个成员。

获取结构体成员的一般格式为:

结构体变量名 . 成员名 ;

例如:
描述学生,学生包含: 名字 + 年龄 + 身高的信息。
结构体可以把不同类型的数据联系起来

#include <stdio.h>
struct Stu
{
	char name[20];
	int age;
	float height;
};
int main()
{
	int num;
	struct Stu stu1 = { "张三", 20, 175.2 };
	struct Stu stu2 = { "李四", 19, 181.9 };
	struct Stu stu3 = { "王五", 21, 168.4 };
	printf("姓名:%s 年龄:%d 身高%.1f\n", stu1.name, stu1.age, stu1.height);
	printf("姓名:%s 年龄:%d 身高%.1f\n", stu2.name, stu2.age, stu2.height);
	printf("姓名:%s 年龄:%d 身高%.1f\n", stu3.name, stu3.age, stu3.height);

	return 0;
}

运行结果:
在这里插入图片描述

需要注意的是,结构体是一种自定义的数据类型,是创建变量的模板,不占用内存空间;结构体变量才包含了实实在在的数据,需要内存空间来存储。

完结

好啦,阅读到这里就已经看完了本期博客的全部内容了
在这里插入图片描述

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

敲键盘的小明

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值