dfkt.net
当前位置:首页 >> 在C语言的指针运算中*(p+1)与p+1有什么区别 p是指针 >>

在C语言的指针运算中*(p+1)与p+1有什么区别 p是指针

*(p+1)表示具体的数值,指针p所指向的内存地址单元的下一个内存地址单元中的值; p+1 表示地址,指针p所指向的内存地址的下一个内存地址。 可以通过下面的实例来理解*(p+1)与p+1之间的区别: int *p; // 定义一个int类型的指针pint a[3]={1,2,3}...

呵呵,程序中出现这种用法说明这个程序员比较自我。一般不见以这样用。 要根据上下文判断才知道,不过从字面意思来说就是去p所代表的内存地址的前一块。 比如: int num[10] = {0,1,2,3,4,5,6,7,8,9}; int *p = num+2;//此时p代表的是num[2]的地...

假设p = a; 则*p = a[ 0 ] = 1 *p + 1 = a[ 0 ] + 1 = 2; p + 1 = &a[ 1 ] //这里的 p + 1 是指针p的指向往后挪了一位 因此 *(p + 1) = a[ 1 ] = 3

第一句应该是p = p+1吧。 这2句的结果是一样的,相信楼主也是知道的,都表示p+1然后结果存储在p中。 但是所有的研发还是实验,如果碰到自加1的运算都会选择p++,这里面的关键点是p++的运算速度比p=p+1快,虽然一条语句说快能块多少呢?但是运算步...

P++的快。 可以这样理解,对于 i = i + 3; 这个表达式,有两个指令即+和=,所以计算机需要做两件事,先算出i + 3的值,再把这个值赋给i。 而 i += 3; 这个表达式只有一个指令+=,计算机只需要做一件事让i自增3。所以你看,只做一件事当然要比做...

p++是变量p的值自加1,p+1虽然比p大一但p值不变。不只是指针,所有变量都一样。

指针本质就是存储内存地址的一个变量。所以指针可以指向某个变量在内存中存储的单元格嘛。变量去访问单元格最后也是编译器通过变量名和地址一一对应去查找的。而指针里面直接存储的就是地址,所以直接可以访问地址所对应的单元格。 不知道楼主说...

自增就是+1的意思,地址+1就是指向下一个元素。例如 int array[3]={1,2,3}; int*p=array;//此时p指向array[0] p++;//这里的p自增,执行后p指向array[1]

猜得出,一般情况下,*(*(p+i)+1)表示二维数组第i行第1个元素的值(i和1都是下标)

区别为:Windows 7,中文名称视窗7,是由微软公司(Microsoft)开发的操作系统,内核版本号为Windows NT6.1。Windows 7可供家庭及商业工作环境:笔记本电脑、平板电脑、多媒体中心等使用。 c语言是比较基础的编程语言,是学好汇编语言的基础,所...

网站首页 | 网站地图
All rights reserved Powered by www.dfkt.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com