指针细节整理

2017年12月16日15:49:06
1.
p++;
*p;
p++使p指向下一个元素a[1].然后执行*p,则是a[1]的值

2.
*p++;
++和* 的优先级是一样的
也就是先引用p的值,然后在增加

3.
(若p的初始值为&a[0])
*(p++)和*(++p)作用不一样。
*(p++):先取出*p的值,然后使p+1 ==>a[0]==>线引用后增加
*(++p): 先p+1,然后取出*p的值 ====>a[1]==>先增加,后引用。

4.
++(*p)
表示p所指向的元素值加1,
eg:p = a
则++(*p)相当于++a[0],若a[0]=3,则执行完后a[0]=4
注意:是a[0]元素的值加一,而不是指针p加1.

5.
如果p当前指向a数组中第i个元素a[i]则:
*(p--)===>a[i--]先运算*,再运算--
*(++p)===>a[++i]先运算++,后运算 
*(--p)===>a[--i]先运算--,后运算

时间: 2024-10-12 13:39:44

指针细节整理的相关文章

指针细节整理2

/*指针的细节汇总 2017年12月15日14:59:34 */ #include <stdio.h> int main(void) { int a[10]={1,2,3,4,5,6}; int b[20]={1,2,3,4,5,6,7,8}; int *p = a;//指针变量指向a的地址. int * q1 = &b[5];//指针变量指向b[5]的地址. int * q2 = &b[3];// printf("--------\n"); printf(

指针细节整理3

/* 思考问题: 1.执行完Afor循环后指针指向哪里? 2. B重新初始化的目的 3. 假设没有B,试想下p的初始值为多少? */ #include <stdio.h> int main(void) { int a[10],i; int * p = a; printf("请输入10个数字:"); for(i = 0;i <= 9;i++)//A scanf("%d",p++); // p = a;//B for(i = 0;i <= 9;i

2017年 1月 15日 指针 学习整理

有关指针的概念: 指针是一个特殊的变量,它里面存储的数值被解释为内存里的一个地址. FIrst of all:我们需要明确目标 关于指针的学习以及使用我们需要搞清楚有关指针的四个内容:指针的类型,指针所指向的类型,指针的值(或者说叫指针所指向的内存区),还有指针本身所占用的内存区(指针也是一个特殊的变量吗,它肯定也是占据内存的).接下来让我们分别进行学习. 我们先来申明几个指针的例子: 1 int *ptr; 2 char *ptr; 3 int **ptr; 4 int (*ptr)[3];

PHP7版本改动细节整理翻译完毕

自从鸟哥发布PHP7相关的版本以来,就一直关注PHP7的进展.PHP7是非常值得期待的一个版本,性能获得了极大的提升,语法也更加合理规范.最近就花了一些时间,整理翻译了PHP7版本的改动记录文件.主要包括了以下部分: 2 非兼容性改动 2.1 语言修改 2.1.1 变量处理机制修改 2.1.2 list()修改 2.1.3 foreach 修改 2.1.4 参数处理机制修改 2.1.5 整型处理机制修改 2.1.6 字符串处理机制修改 2.1.7 错误处理机制修改 2.1.8 其他语言层面的修改

react 细节整理

前言: 在使用react时针对于其的大面的语法,规范等是有了解的,可能会忽略了些细节的东西导致在调试的时候会很麻烦,今天我将针对其中的细节点进行下整理,希望能够让大家更加深入,全面地地去了解react. 细节 1. 组件类的render中只能包含一个顶级标签 // 错误写法 var ErrorComponent = React.createClass({ render: function() { return <span>test1</span> <span>test2

测试细节整理

回想起测试工作的点点滴滴,对于在做的项目管理app ,将容易忽视的bug或细节记录出来,不断去提高自己 1.列表数据量比较大时,进入数据详情界面,返回的列表界面需要停留在用户之前停留的地方,否则体验会很差,一般开发会设置为手动刷新 (eg:项目列表中存在很多个项目,假如用户进入列表的第二页,点击其中一个项目,进入项目详情界面,返回项目列表时,页面停留在第二页) 2. 搜索记录列表上下滑动进行刷新,数据会错误显示为空 3.对于删除数据的历史数据处理 (eg:对成员a分配任务,任务列表显示成员a的任

指针 (整理版)

指针是C/C++编程中的重要概念之中的一个,也是最easy产生困惑并导致程序出错的问题之中的一个. 利用指针编程可以表示各种数据结构,通过指针可使用主调函数和被调函数之间共享变量或数据结构.便于实现双向数据通讯.指针可以灵活的操作内存,合理的操作内存可以使程序更高效. 1.指针的概念 本质上讲指针也是一种变量,普通的变量包括的是实际的数据,而指针变量包括的是内存中的一块地址,这块地址指向某个变量或者函数,指针就是地址.指针是一个指示器,它告诉程序在内存的哪块区域能够找到数据. 2.指针的内容 指

C/C++指针知识整理(一)

1.指针(变量)的类型 把指针声明语句里的指针名字去掉,剩下的部分就是这个指针的类型.这是指针本身所具有的类型. (1)int*ptr; //指针的类型是 int* (2) char*ptr;//指针的类型是 char* (3) int**ptr;//指针的类型是 int** (4) int(*ptr)[3];//指针的类型是 int(*)[3] (5) int*(*ptr)[4];//指针的类型是 int*(*)[4] 2.指针所指向的类型 把指针声明语句中的指针名字和名字左边的指针声明符*去

Shell操作之细节整理(未完结)

在学习Linux过程中,曾经遇到过一些小问题,虽然可能微不足道,但是在追求细节的时候往往会比较纠结(强迫症犯了),空出一个博客文章空间,记录一些细节上的内容,都是很小很简单的东西,不喜勿喷. 01.bc计算时浮点问题 记的用bc计算数字的时候,如果结果出现小数点,则小数点后内容默认不显示,当时没太在意. [[email protected] wangdong]# echo "1500/1024" | bc 1 [[email protected] wangdong]#  [[email