指针与数组的对比
来源:互联网 发布:儿童学围棋软件 编辑:程序博客网 时间:2024/05/01 08:38
、数组的地址与容量在生命期内保持不变,只有内容可以改变;指针可以随时指向任意类型的内存块.
2、不能对数组名进行直接复制与比较。如不能用语句b=a,把数组a的内容复制给数组b.否则产生编译错误.
应该用strcpy,同理比较b和a的内容是否相同,不能用if(b==a)来判断,应该用标准库函数strcmp进行
比较.
语句p = a 并不能把a的内容复制给指针p,而是把a的地址赋给了p。要想复制a的内容,可以先用库函数
malloc为p申请一块容量为strlen(a) + 1 个字符的内存,再用strcpy进行字符串复制。同理,语句
if(p==a) 比较的不是内容而是地址,应该用库函数strcmp来比较。
3、用运算符sizeof可以计算出数组的容量(字节数)。如: char a[] = "hello world"; char *p = a;
sizeof(a)的值是12,但sizeof(p)的值却是4。这是因为sizeof(p)得到的是一个指针变量的字节数,
相当于sizeof(char *),而不是p所指的内存容量。C++/C语言没有办法知道指针所指的内存容量,除
非在申请内存时记住它。
4、如果函数的参数是一个指针,不要指望用该指针去申请动态内存。
- 指针与数组的对比
- 指针与数组的对比
- 指针与数组的对比
- 指针与数组的对比
- 指针与数组的对比
- 指针与数组的对比
- 指针与数组的对比
- 指针与数组的对比
- 指针与数组的对比
- 【对比】指针与数组
- [zt] 指针与数组的对比
- 7.3 指针与数组的对比
- c++中内存的分配,指针与数组的对比
- 指针和数组的对比
- 指针和数组的对比
- 指针和数组的对比
- 指针数组与数组指针对比及简单测试
- C语言数组与指针对比
- C++中extern “C”含义深层探索
- 在Eclipse RCP中实现控制反转(IoC)
- CString、char*、string、_bstr_t、CTime、DateTime相互转换
- SOA的十大技术理论体系
- CString,string,char*的综合比较(一)
- 指针与数组的对比
- 方便 Ajax 与 Java EE 的集成
- 可以通过BIOS控制鼠标吗?
- MyEclipse 5.0 M2 注册码及下载地址 (2006-9-1WORK)
- ABAP--SAP显示处理进度的函数
- 怎样判断一个程序是用C编译程序还是用C++编译程序编译的?
- 什么是标准预定义宏?
- struts中文乱码
- 你能指定在编译时包含哪一个头文件吗?