c和c++中a[]的见解
来源:互联网 发布:index是什么意思c语言 编辑:程序博客网 时间:2024/06/03 18:12
#include <iostream>
#include <stdlib.h>
using namespace std;
int main(void)
{
int a[] = {1, 2, 3};
int b[] = {4, 5, 6, 7, 8, 9, 0};
cout << sizeof(a) << endl;
for(int i = 0; i < 7; i++)
{
a[i] = b[i];
}
for(int i = 0; i < 7; i++)
{
cout <<a[i]<< endl;
}
cout << sizeof(a) << endl;
system("pause");
return 0;
#include <stdlib.h>
using namespace std;
int main(void)
{
int a[] = {1, 2, 3};
int b[] = {4, 5, 6, 7, 8, 9, 0};
cout << sizeof(a) << endl;
for(int i = 0; i < 7; i++)
{
a[i] = b[i];
}
for(int i = 0; i < 7; i++)
{
cout <<a[i]<< endl;
}
cout << sizeof(a) << endl;
system("pause");
return 0;
}
输出
12
4
5
6
7
8
9
0
12
没有报错, 但是数组越界了, 这就证明了 a[]的长度在初始化时已经确定了!
初始为3个 4*3 = 12
最后虽然输出了超出3个元素的数据, 而且正确显示, 但是,数组越界了!
重点:
也就是说, a[]的大小也是一开始就确定的, 不过是在运行期间决定的, 不是在编译期,
一经确定便不会再改变! 这点一定要注意,不然数组越界了你还不知道怎么回事
建议:
我的建议是尽量直接写a[10] a[N], 传参数时可以用a[]当形参
其他时候尽量弃用。
阅读全文
0 0
- c和c++中a[]的见解
- 对于C/C++中指针的见解
- scanf函数中%s和%c的简单区别——个人见解
- scanf函数中%s和%c的简单区别——个人见解
- 关于C语言中 rand()函数的一些个人积累和见解z
- C语言中Node * a,和Node* &a的区别
- 关于C语言中a++和++a的问题
- C语言中 a-- 和a-1 的区别
- 转载加自己的见解 之从编译器角度分析C语言中数组名和指针的区别
- C语言中 a++和++a
- C语言union类型和C语言 uchar类型的个人见解
- 个人学习C语言的见解
- C语言左值右值的个人见解
- c中有关char *p 和char a[6] ,char a[] char a[0] 的区别
- C++: A a() 和 A a 的区别。
- 对C语言一些个人见解系列:指针和一维数组的关系
- A.c 和B.c两个c文件中使用了两个相同名字的static变量
- A.c 和B.c两个c文件中使用了两个相同名字的static变量
- XML的基础知识
- spring结合hibernate的数据库操作
- git 快速入门 笔记
- 一位资深程序员大牛给予Java初学者的建议
- GYP使用技巧
- c和c++中a[]的见解
- Magento 2中文文档教程
- 打印沙漏
- AttributeMap类详解
- angularJs中表单的全选与反选
- JS简易运动框架
- awk
- QT学习笔记(4)对话框(1)
- ajax跨域问题(三种解决方案)