#include <stdio.h>
#include <stdlib.h> void main3()
{
int num = ;
int *p = &num;
p++;//不可预测的值 指针++就是按照指针的类型大小前进一个类型的大小
//如果是int就前进4个
printf("%d",*p);//指针++只有在数组才有意义
} //void main4()
//{
// int a[5];
// int i = 0;
// printf("%p",a);
//
// for(int *p=a;p<a+5;p++)//切记 指针++ 是移动sizeof指针类型的字节
// {
// *p = i;//对指针指向的值赋值
// i++;
// }
// system("pause");
//} void main5()
{
int a[] = {,,,,};
int *p5 = &a[];
printf("%d",a[]);
p5 = p5+ ;//相当于在数组内部向后移动两个元素的大小 //double *p = 0x300400
//p = p+2 0x300416
printf("\n%d",*p5);//5 &a[4]
getchar();
} void main6()
{
double num = ;
double *p = &num;
p = p-;//指针的加减法只能在数组有意义 而且容易越界
//一个exe不能读写其他exe
printf("%f",*p);
}
 #include <stdio.h>
#include <stdlib.h> //判断两个指针是否相等 就看是否指向同一个地址
void main()
{
int num = ;
int *p = &num;
int *p1 = &num;
if(p1==p2)
{
printf("指向同一个女人是情敌");
}else
{
printf("不是情敌了");
}
}
 #include <stdio.h>
#include <stdlib.h> //指针的赋值运算 一般就是传递地址
//根据地址改变内容
void main4()
{
int num = ;
int *p = &num;
printf("\n%p,%p",p,&num);//一样 *p = ;
printf("\n%d",num); int *px = p;
*px = ;
printf("\n%d",num);//同样等价操作num system("pause");
}
 #include <stdio.h>
#include <stdlib.h>
void main4()
{
int a[]={,,,,,,,,,};
int i;
printf("\n%d",*(a+));//5 &a[4] getchar(); }
void main3()
{
int a[]={,,,,,,,,,};
int i;
printf("%x",a);//被编译器为首地址 //此处断电查看数组元素
for(i=;i<;i++)
{
printf("\n%d,%d",a[i],*(a+i));
printf("%x,%x",&a[i],a+i);//等价关系
} //指针遍历
for(int *p=a;p<a+;p++)
{
*p = *p - ;
printf("\n%d,%x",*p,p);
}
getchar();
}
void main2()
{
int num = ;
int *p1 = &num;//地址的赋值
int *p2 = p1;//指针的赋值 *p2 = ;
printf("%d,%d,%d",num,*p1,*p2);//全是3
}
void main1()
{
int num = ;
//int *p = a;
//*p = a;//整数和指针最好不要直接运算 c只是警告 但是c++一定报错 }

c指针点滴三(指针运算)的更多相关文章

  1. const 指针的三种使用方式

    ///////////////////////const 指针的三种状态///////////////////// 注意:const 的前后顺序 const 在类型之前 ---可以修改指针包含的地址, ...

  2. [C和指针]第三部分

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  3. C++指针的操作和运算(转)

    既然指针是一种数据类型,那么它也应该有对应的操作或运算,正如整数能做加减乘除一样.但是每一种操作或运算都应该对这种数据类型有意义.比如两个实数可以用关系运算得知哪个大哪个小,而两个虚数却不能使用关系运 ...

  4. Android For JNI(三)——C的指针,指针变量,指针常见错误,值传递,引用传递,返回多个值

    Android For JNI(三)--C的指针,指针变量,指针常见错误,值传递,引用传递,返回多个值 C中比较难的这一块,大概就是指针了,所以大家还是多翻阅一下资料,当然,如果只是想了解一下,看本篇 ...

  5. void *指针的加减运算

    1.手工写了一个程序验证void *指针加减运算移动几个字节: //本程序验证空类型指针减1移动几个字节 #include <stdio.h> int main(int argc, cha ...

  6. C语言中指针的加减运算

    参考文章,值得一看 char arr[3]; printf("arr:\n%d\n%d\n%d\n", arr, arr + 1, arr + 2); char *parr[3]; ...

  7. C语言提高 (3) 第三天 二级指针的三种模型 栈上指针数组、栈上二维数组、堆上开辟空间

    1 作业讲解 指针间接操作的三个必要条件 两个变量 其中一个是指针 建立关联:用一个指针指向另一个地址 * 简述sizeof和strlen的区别 strlen求字符串长度,字符数组到’\0’就结束 s ...

  8. PCL智能指针疑云 <三> 智能指针作为函数的传值参数和传引用参数

    一 函数的参数传递可以简单分类为“传值”和“传引用”. 声明函数时,形参带引用“&”,则函数调用时,是把实参所在的内存直接传给函数所开辟的栈内存.在函数内对形参的修改相当于对实参也进行修改. ...

  9. [LeetCode题解]86. 分隔链表 | 三指针 + 虚拟头节点

    解题思路 三指针,一个指向前半部分待插入位置,一个指向后半部分待插入位置,最后一个从前往后遍历 代码 /** * Definition for singly-linked list. * public ...

随机推荐

  1. Linux下使用虚拟网卡的ingress流控(入口流控)

    Linux内核实现了数据包的队列机制,配合多种不同的排队策略,可以实现完美的流量控制和流量整形(以下统称流控).流控可以在两个地方实现,分别为egress和ingress,egress是在数据包发出前 ...

  2. Weka算法Clusterers-DBSCAN源代码分析

    假设说世界上仅仅能存在一种基于密度的聚类算法的话.那么它必须是DBSCAN(Density-based spatial clustering of applications with noise).D ...

  3. 如何解决svn图标不显示呢?

    svn图标不显示解决 确保设置正确: 右键->TortoiseSVN->setting->Icon Overlays->Status cache->default/She ...

  4. mybatis 与 反射

    Mybatis是个优秀的ORM框架,所以它的反射层一定不会让我们失望 图比较大,可以开新页面查看 可以看到,Mybatis对这一块抽象的比较复杂,我们可以看到有几个比较主要的部分:Reflector. ...

  5. 在Ubuntu下的Apache上建立新的website,以及enable mono

    1. 在Apache下建立新的web site a. $>cd /etc/apache2/ b. $>vi ports.conf 填加Listen 8090(注意不要打开8080,因为To ...

  6. python challenge 待续中

    网址:http://www.pythonchallenge.com/解答好文:http://story.iteye.com/blog/730466 0:2^38 reduce(lambda x,y:x ...

  7. JavaWeb三大组件(Servlet,Filter,Listener 自己整理,初学者可以借鉴一下)

    JavaWeb三大组件(Servlet,Filter,Listener 自己整理,初学者可以借鉴一下) Reference

  8. Linux_x64安装Oracle11g(完整版)

    一.修改操作系统核心参数 在Root用户下执行以下步骤: 1)修改用户的SHELL的限制,修改/etc/security/limits.conf文件 输入命令:vi /etc/security/lim ...

  9. C#中的TCP通讯与UDP通讯

    最近做了一个项目,主要是给Unity3D和实时数据库做通讯接口.虽然方案一直在变:从开始的UDP通讯变为TCP通讯,然后再变化为UDP通讯;然后通讯的对象又发生改变,由与数据库的驱动进行通讯(主动推送 ...

  10. (六)backbone - API学习 - Backbone路由

    Backbone路由本质 Backbone路由分为两个大块,Router以及History用户在Router中定义相关规则,然后开启history.start进行路由监控,执行默认的回调所以,Rout ...