在C语言中有如下结论:
一、在表达式中数组名都是其首元素的地址
但有两种情况除外:
(1)当数组名作为sizeof操作符的操作数时,sizeof返回的是整个数组长度,而不是指向数组的指针长度
(2)当数组名作为&操作符的操作数时,所产生的是一个指向数组的指针,而不是一个指向指针常量的指针
二、在任何变量的前面加&,就是取这个变量的地址。
三、举例:
若有二...
分类:
编程语言 时间:
2015-05-29 00:54:49
阅读次数:
189
常量指针:const int* x 说明被指的x是常量,指针本身是变量。如果指针指向常量,必须使用常量指针指针常量:int* const y 说明指针本身是常量,指向的内容可改变数组指针的引用: 指针[] 表示数组元素,括号提示为数组1 int list[6]={1,2,3,4};2 int *.....
分类:
编程语言 时间:
2015-05-25 18:06:50
阅读次数:
127
1查看系统调用函数的信息2编写代码3测试编译程序··············1查看系统调用函数的信息查看系统调用函数rename()的信息。寻找函数使用方法,函数返回值情况。#man2rename函数有两个实参,是两个字符指针(常量);原始文件名在前,新文件名在后。成功执行后返回..
分类:
其他好文 时间:
2015-05-23 06:40:57
阅读次数:
289
数组与指针生来就是双胞胎,多数人就是从数组的学习开始指针的旅程的。在学习的过程中,很自然就会经常听到或见到关于数组与指针的各种各样的看法,下面我节选一些在各种论坛和文章里经常见到的文字:“一维数组是一级指针”“二维数组是二级指针”“数组名是一个常量指针”“数组名是一个指针常量”..............
分类:
编程语言 时间:
2015-05-21 10:28:23
阅读次数:
145
数组名是一个指针常量这种观点来源于数组名在表达式计算中与指针的结果等效性。例如下面的代码:int a[10], *p = a, *q;q = a + 1;q = p + 1;在效果上看,a + 1与p + 1是相同的,这很容易给人一种a就是p的假象,但,这仅仅是假象。鉴于指针常量包含了指针和常量两类...
分类:
编程语言 时间:
2015-05-21 10:22:15
阅读次数:
167
C++11使用nullptr关键字,是表达更准确,类型安全的空指针
指向常量的指针
不能通过指向常量的指针改变所指对象的值,但指针本身可以改变,可以指向另外的对象。
例
int
a;
const
int *p1 = &a; //p1是指向常量的指针
int
b;
p1
= &b; //正确,p1本身的值可以改变
...
分类:
编程语言 时间:
2015-05-20 09:49:02
阅读次数:
96
说一下常量指针和指针常量 的区别。常量指针 指向常量的指针,也就是说指针指向的对象是常量,指向的常量不能修改。指针不是一个常量,可以把指针指向别一个常量。常量指针是我们最常用的,一般声明形式如下: const int *p; int const *p;例: int a(1...
分类:
其他好文 时间:
2015-05-19 23:59:06
阅读次数:
264
如何是一个指针变量成为空指针:
如果 p 是一个指针变量,则 p = 0;、p = 0L;、p = ‘\0’;、p = 3 - 3;、p = 0 * 17; 中的任何一种赋值操作之后(对于 C 来说还可以是 p = (void*)0;), p 都成为一个空指针,由系统保证空指针不指向任何实际的对象或者函数。
NULL: 是一个标准规定的宏定义,用来表示空指针常量。用 p = NULL; 来使 p...
分类:
编程语言 时间:
2015-05-19 21:01:38
阅读次数:
153
案例1:
#include
using namespace std;
void main(void)
{
// char* a 与 char a[] 的区别
char* a = "abcdef"; // a为一指针,其值可以改变。现在a指向的是一常量字符串
cout << a << endl;
a = "ghijkl"; // a现在指向另一常量...
分类:
其他好文 时间:
2015-05-19 19:11:02
阅读次数:
118
关键词 const ?表示为只读 也就是常量 const?int??*aa??=?new?int(5);//*aa的值为常量和int?const*aa?等价
aa?=?new?int(3);//ok
*aa?=?7;//error
int??*?const?bb?=?new?int(5);//bb...
分类:
其他好文 时间:
2015-05-18 14:52:05
阅读次数:
96