C语言之数组的定义及其使用方法

数组是一组相同类型元素的集合,数组的创建方式: 数组类型 数组名 数组长度的大小(常量表达式)

例如:int arr[10]; √

int count=10;

int arr2[count];×(必须是常量表达式)

Char arr3[10];√

Float arr4[11];√

Double arr5[20];√

数组元素的初始化

int arr[10]={1,2,3};这种叫做不完全初始化,剩下没有给定初始值的元素默认初始值为0.,字符数组同理也是如此。

不过字符串数组比较特殊,在部分初始化之后,没有初始化的部分第一个存放的是/0,而不是0.

例如:char arr[]=”abncsan”; char arr2[10];如果没有对数组的元素进行初始化,那么必须指定他的长度,反之,初始化之后可以不写长度。

char arr[]=“abcdefg”;1:无论求字符串长度还是字节的大小都直接引用数组名。

​ printf(“%d”,sizeof(arr));计算字节的过程中字符串的结束标志/0的字节大小也会被计算进去。

​ printf(“%d”,strlen(arr));而在计算字符串长度的过程中,/0的长度并不会被计算进去。

关于s

在C语言中,可以通过编写一个数组去重函数来实现对数组中重复元素的去除。以下是一个示例的数组去重函数调用的介绍: 假设我们有一个整型数组`arr`,长度为`n`,我们想要对该数组进行去重操作。可以按照以下步骤进行: 1. 定义一个新的数组`result`,用于存储去重后的元素。 2. 遍历原始数组`arr`,逐个检查每个元素是否已经存在于`result`数组中。 3. 如果当前元素不存在于`result`数组中,则将其添加到`result`数组中。 4. 最后,`result`数组中存储的就是去重后的元素。 下面是一个示例的C语言代码,展示了如何调用一个数组去重函数: ```c #include <stdio.h> // 数组去重函数 int* removeDuplicates(int* arr, int n, int* resultSize) { int* result = (int*)malloc(n * sizeof(int)); // 分配内存空间 int count = 0; // 记录去重后的元素个数 for (int i = 0; i < n; i++) { int j; for (j = 0; j < count; j++) { if (arr[i] == result[j]) { break; // 当前元素已存在于result数组中,跳出内层循环 } } if (j == count) { result[count++] = arr[i]; // 当前元素不存在于result数组中,添加到result数组中 } } *resultSize = count; // 更新去重后的元素个数 return result; } int main() { int arr[] = {1, 2, 3, 2, 4, 1, 5}; int n = sizeof(arr) / sizeof(arr[0]); int resultSize; int* result = removeDuplicates(arr, n, &resultSize); printf("去重后的数组:"); for (int i = 0; i < resultSize; i++) { printf("%d ", result[i]); } free(result); // 释放内存空间 return 0; } ``` 运行上述代码,输出结果为: ``` 去重后的数组:1 2 3 4 5 ```
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

从未止步..

谢谢你的打赏,我会继续努力!

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

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

打赏作者

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

抵扣说明:

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

余额充值