sheflynn
发表于 2025-4-13 12:37
指针在使用前必须初始化,否则会导致未定义行为。
burgessmaggie
发表于 2025-4-13 14:29
参数传递时注意数组退化为指针。
bartonalfred
发表于 2025-4-13 16:11
访问未分配的内存区域,导致未定义行为
juliestephen
发表于 2025-4-13 20:14
在解引用之前,需要确保指针不为空且指向有效的内存地址。
wengh2016
发表于 2025-4-14 08:17
指向随机内存,可能导致程序崩溃或安全漏洞。
mattlincoln
发表于 2025-4-14 11:01
使用未初始化或已释放的指针。
lihuami
发表于 2025-4-14 12:50
局部数组如果不显式初始化,其内容是不确定的;全局或静态数组如果未初始化,会自动初始化为0。
macpherson
发表于 2025-4-14 14:39
当释放指针所指向的内存后,要将指针置为NULL,避免产生悬空指针。悬空指针指向已经被释放的内存,对其进行操作会导致未定义行为。
单芯多芯
发表于 2025-4-20 10:50
数组是连续存储的变量集合,指针是存储变量地址的变量。
LinkMe
发表于 2025-4-20 18:20
访问数组要小心,别超出范围
Amazingxixixi
发表于 2025-4-24 15:33
学习一下啊!感觉有点知识慌了
lamanius
发表于 2025-5-8 19:41
数组和指针是C语言中两种重要的数据结构,它们在概念、使用和内存管理上有显著的区别。
l1uyn9b
发表于 2025-5-8 20:53
数组属于一组连续存储的同类型元素集合。存储内存地址的变量。而指针静态分配的内存块,大小固定。动态指向内存地址,大小固定(指针变量本身)
tax2r6c
发表于 2025-5-8 21:45
数组是内存分配在编译时完成,大小固定,不能动态改变。存储在栈或全局数据区(取决于声明位置)。
su1yirg
发表于 2025-5-8 23:15
指针本身占用固定大小的内存(如32位系统占4字节),但指向的内存可以动态分配。
p0gon9y
发表于 2025-5-9 09:06
动态分配的内存(如malloc)存储在堆中。
q1d0mnx
发表于 2025-5-9 10:12
数组使用下标访问元素,如arr。下标访问等价于指针偏移:arr等价于*(arr + i)。指针使用解引用操作符*访问指向的值,如*p。指针可以指向任意地址(需确保地址有效)。
lix1yr
发表于 2025-5-9 13:09
数组名是常量指针,不能改变指向。指针变量可以重新赋值,指向不同的地址。
g0d5xs
发表于 2025-5-9 13:24
其实数组无法直接赋值给另一个数组(需逐元素复制)。
b5z1giu
发表于 2025-5-9 14:21
指针一般来说可以动态分配和释放内存,灵活性更高。