打印
[方案相关]

数组和指针的区别

[复制链接]
楼主: louliana
手机看帖
扫描二维码
随时随地手机跟帖
21
sheflynn| | 2025-4-13 12:37 | 只看该作者 回帖奖励 |倒序浏览
指针在使用前必须初始化,否则会导致未定义行为。

使用特权

评论回复
22
burgessmaggie| | 2025-4-13 14:29 | 只看该作者
参数传递时注意数组退化为指针。              

使用特权

评论回复
23
bartonalfred| | 2025-4-13 16:11 | 只看该作者
访问未分配的内存区域,导致未定义行为

使用特权

评论回复
24
juliestephen| | 2025-4-13 20:14 | 只看该作者
在解引用之前,需要确保指针不为空且指向有效的内存地址。

使用特权

评论回复
25
wengh2016| | 2025-4-14 08:17 | 只看该作者
指向随机内存,可能导致程序崩溃或安全漏洞。

使用特权

评论回复
26
mattlincoln| | 2025-4-14 11:01 | 只看该作者
使用未初始化或已释放的指针。              

使用特权

评论回复
27
lihuami| | 2025-4-14 12:50 | 只看该作者
局部数组如果不显式初始化,其内容是不确定的;全局或静态数组如果未初始化,会自动初始化为0。

使用特权

评论回复
28
macpherson| | 2025-4-14 14:39 | 只看该作者
当释放指针所指向的内存后,要将指针置为NULL,避免产生悬空指针。悬空指针指向已经被释放的内存,对其进行操作会导致未定义行为。

使用特权

评论回复
29
单芯多芯| | 2025-4-20 10:50 | 只看该作者
数组是连续存储的变量集合,指针是存储变量地址的变量。

使用特权

评论回复
30
LinkMe| | 2025-4-20 18:20 | 只看该作者
访问数组要小心,别超出范围

使用特权

评论回复
31
Amazingxixixi| | 2025-4-24 15:33 | 只看该作者
学习一下啊!感觉有点知识慌了

使用特权

评论回复
32
lamanius| | 2025-5-8 19:41 | 只看该作者
数组和指针是C语言中两种重要的数据结构,它们在概念、使用和内存管理上有显著的区别。

使用特权

评论回复
33
l1uyn9b| | 2025-5-8 20:53 | 只看该作者
数组属于一组连续存储的同类型元素集合。存储内存地址的变量。而指针静态分配的内存块,大小固定。动态指向内存地址,大小固定(指针变量本身)

使用特权

评论回复
34
tax2r6c| | 2025-5-8 21:45 | 只看该作者
数组是内存分配在编译时完成,大小固定,不能动态改变。存储在栈或全局数据区(取决于声明位置)。

使用特权

评论回复
35
su1yirg| | 2025-5-8 23:15 | 只看该作者
指针本身占用固定大小的内存(如32位系统占4字节),但指向的内存可以动态分配。

使用特权

评论回复
36
p0gon9y| | 2025-5-9 09:06 | 只看该作者
动态分配的内存(如malloc)存储在堆中。

使用特权

评论回复
37
q1d0mnx| | 2025-5-9 10:12 | 只看该作者
数组使用下标访问元素,如arr。下标访问等价于指针偏移:arr等价于*(arr + i)。指针使用解引用操作符*访问指向的值,如*p。指针可以指向任意地址(需确保地址有效)。

使用特权

评论回复
38
lix1yr| | 2025-5-9 13:09 | 只看该作者
数组名是常量指针,不能改变指向。指针变量可以重新赋值,指向不同的地址。

使用特权

评论回复
39
g0d5xs| | 2025-5-9 13:24 | 只看该作者
其实数组无法直接赋值给另一个数组(需逐元素复制)。

使用特权

评论回复
40
b5z1giu| | 2025-5-9 14:21 | 只看该作者
指针一般来说可以动态分配和释放内存,灵活性更高。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则