#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. 解决Xcode8 输出一对字符串问题

    在Product->Scheme->Edit Scheme->Run->Environment Variables下添加键:OS_ACTIVITY_MODE, 值:Disabl ...

  2. C++编程规范之17:避免使用“魔数”

    摘要: 程序设计并非魔术,所以不要故弄玄虚,要避免在代码中使用诸如42和3.1415926这样的文字常量.它们本身没有提供任何说明,并且因为增加了难于检测的重复而使维护更加复杂.可以用符号名称和表达式 ...

  3. Servlet问题:servlet cannot be resolved to a type解决办法

    工程里的路径权限高,并且eclipse并到classpath里寻找jar位置,所以我就到我的java项目里 项目名-->右键 Property-->选择 Java Build Path-- ...

  4. php form表单post提交获取不到数据,而使用get提交能获取到数据 的解决办法

    开发环境:xampp,mac,phpstorm 其实出现这个问题的原因就是在于phpstorm,它默认使用的是自带的内部服务器,这个服务器使用63342端口,而且服务器内部有问题,导致POST方法异常 ...

  5. Web Service那点事

    出现 如今基于浏览器的client应用程序越来越流行,而从开发角度来看,一方面是client浏览器的安装配置不再须要我们再去花费非常大的精力.还有一方林则是由于client和server之间通信的问题 ...

  6. Android --------- 命名规范

    工程 软件名称,最好是英文首字母大写:如MobileSafe. 包 企业单位网址的倒序+软件名称:如com.baidu.mobilesafe. 类 类中分为:(头字母小写,其他每个单子首字母大写) 1 ...

  7. T-SQL 一次插入多行数据

    使用 INSERT SELECT 向表中插入数据 --将t1中查询到的数据插入添加到t2中(t2表必须存在,且顺序.数据类型必须与t1一致) INSERT INTO t2(USERNAME,PASSW ...

  8. Java system.getproperty获取环境属性

    序号 属性 说明 1 java.version Java 运行时环境版本 2 java.vendor Java 运行时环境供应商 3 java.vendor.url Java 供应商的 URL 4 j ...

  9. Dalvik指令集

    类型 语法 含义 V void,只用于返回值类型 Z boolean B byte S short C char I int J long F float D double L Java类类型 [ 数 ...

  10. mysql在linux的安装