你的代码中进行了arr++,最后返回的指针可能已经越界了。 sizeof获取到的是类型的大小,不是整个链表的大小。 每次进入函数都是重新new,因此数组各个都是独立的,可以使用static int a 建议使用vector<int> ,把它传给函数,在函数中直接push_back()就行,都不需要管大小。