C语言——数组和指针 的基础知识(学习分享)(一)

简介: C语言——数组和指针 的基础知识(学习分享)(一)

一、数组


1.1 数组的定义

定义:数组是一组相同数据类型元素的集合。


1.2 数组的声明和表示

1)声明:任何变量都是先声明后使用。需要使用数组时,通过声明数组来告诉编译器数组中含有多少元素 和 这些元素的类型


PS: 普通变量可使用的类型,数组都可以使用


//下面是一些数组的声明
int main()
{
   int arr[];
   int arr[40];
   float money[200];
   char code[20];
   return 0;
}


2)表示: 变量类型+数组名+[ ]

( [ ]内部输入数字可指定数组大小,也可不写 )


这里要注意几点,

①数组大小必须是整数,必须>0

②如果指定数组大小,方括号[ ]里必须是一个大于零的整数常量或者常量表达式

③方括号[ ]内部不可以使用变量(C99之前的标准)


1.3 数组的初始化

1.可以只给部分元素赋初值。当{ }中值的个数少于元素个数时,只给前面部分元素赋值。

//给数组中部分元素赋值
int main()
{
  int arr[10]={0,1,2,3,4};
  return 0;
}
//表示只给arr[0]~arr[4]5个元素赋值,而后5个元素自动赋值为0


2.可以给元素逐个赋值,but,不能给数组整体赋值。

//给数组num中的十个元素全部赋1值
int main()
{
   int num[10]={1,1,1,1,1,1,1,1,1,1}
//但是不能写成:int num[10]=1
}


3.如果不给数组赋初值,全部元素均为0值。



相关文章
|
2月前
|
传感器 算法 安全
【C语言】两个数组比较详解
比较两个数组在C语言中有多种实现方法,选择合适的方法取决于具体的应用场景和性能要求。从逐元素比较到使用`memcmp`函数,再到指针优化,每种方法都有其优点和适用范围。在嵌入式系统中,考虑性能和资源限制尤为重要。通过合理选择和优化,可以有效提高程序的运行效率和可靠性。
186 6
|
3月前
|
存储 缓存 算法
在C语言中,数据结构是构建高效程序的基石。本文探讨了数组、链表、栈、队列、树和图等常见数据结构的特点、应用及实现方式
在C语言中,数据结构是构建高效程序的基石。本文探讨了数组、链表、栈、队列、树和图等常见数据结构的特点、应用及实现方式,强调了合理选择数据结构的重要性,并通过案例分析展示了其在实际项目中的应用,旨在帮助读者提升编程能力。
99 5
|
3月前
|
存储 程序员 编译器
C 语言数组与指针的深度剖析与应用
在C语言中,数组与指针是核心概念,二者既独立又紧密相连。数组是在连续内存中存储相同类型数据的结构,而指针则存储内存地址,二者结合可在数据处理、函数传参等方面发挥巨大作用。掌握它们的特性和关系,对于优化程序性能、灵活处理数据结构至关重要。
|
3月前
|
存储 C语言 计算机视觉
在C语言中指针数组和数组指针在动态内存分配中的应用
在C语言中,指针数组和数组指针均可用于动态内存分配。指针数组是数组的每个元素都是指针,可用于指向多个动态分配的内存块;数组指针则指向一个数组,可动态分配和管理大型数据结构。两者结合使用,灵活高效地管理内存。
|
3月前
|
容器
在使用指针数组进行动态内存分配时,如何避免内存泄漏
在使用指针数组进行动态内存分配时,避免内存泄漏的关键在于确保每个分配的内存块都能被正确释放。具体做法包括:1. 分配后立即检查是否成功;2. 使用完成后及时释放内存;3. 避免重复释放同一内存地址;4. 尽量使用智能指针或容器类管理内存。
|
3月前
|
存储 NoSQL 编译器
C 语言中指针数组与数组指针的辨析与应用
在C语言中,指针数组和数组指针是两个容易混淆但用途不同的概念。指针数组是一个数组,其元素是指针类型;而数组指针是指向数组的指针。两者在声明、使用及内存布局上各有特点,正确理解它们有助于更高效地编程。
|
C语言 容器 机器学习/深度学习
(1)巩固一下C语言基础知识,谁动手,谁收获。
参加的一个比赛里面的基础性的C语言小程序编写,大家可以练习一下,巩固一下基础知识。不要拷贝别人的代码,自己亲自动手写一下,别管是否简单。  问题1:   编程解决如下数学问题:有12升水,怎样利用一个8升和一个5升的容器将水分为两个6升?要求以如下格式打印出分水步骤。
1088 0
|
存储 C语言
(2)巩固一下C语言基础知识,谁动手,谁收获。
问题7: 编写一个程序,让它有以下功能:从键盘上输入一个五位数,对此整数中的五个数值进行从大到小排序,形成一个新的五位数,输出这个整数。(15分)   问题8: 输入年、月、日,输出该日期是该年的第几天。
1055 0
|
C语言 存储
(3)巩固一下C语言基础知识,谁动手,谁收获。
问题12: 编写一个简单的通讯录管理系统。通讯录包括:姓名、通讯地址、邮编、联系电话,现编写一个通讯录管理系统,可以对通讯录进行输入、显示、查找,通讯录保存到一个文件中。
1026 0
|
C语言
(4)巩固一下C语言基础知识,谁动手,谁收获。
问题13:  编程解决如下问题:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡,       问鸡翁,鸡母,鸡雏各几何?(20分) 问题14: 编程实现:有二维数组a[3][3]={{1.3,2.7,3.6},{2,3,4.7},{3,4,1.27}},将数组a的每一行元素均除以该行上绝对值最大的元素,按行输出新数组。
1168 0

热门文章

最新文章