函数内的局部变量的存储有内存限制,是没错的,这个限制是堆栈的大小:64K
一般来说,你很难定义这么多变量,除非使用了大数组,在多数编译器下,int a[1000000]的定义是不可实现的,这种情况可以使用指针来解决,所以,编程中只要不使用大数组,不必考虑太多变量的问题。
解决变量多的方法,拆分多个函数是一方面,C++封装、作用域、以及指针的应用,都可以避免堆栈溢出的问题。
一般情况下足够了,变量不能太大,比如定义一个100000的float数组等,如确实需要可以定义在外部,通过全局变量或指针操作。
函数内的局部变量,函数被调用一次,放在栈里面一次,调用结束后就释放了,不用太担心这个问题
首先,C语言可以跨平台,你打算编写一个用在哪里的程序呢?电脑上? 还是芯片上? 不同的硬件的存储单元是大小和堆栈的方向是不同的