c指针点滴三(指针运算)
#include <stdio.h>
#include <stdlib.h> void main3()
{
int num = ;
int *p = #
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 = #
p = p-;//指针的加减法只能在数组有意义 而且容易越界
//一个exe不能读写其他exe
printf("%f",*p);
}
#include <stdio.h>
#include <stdlib.h> //判断两个指针是否相等 就看是否指向同一个地址
void main()
{
int num = ;
int *p = #
int *p1 = #
if(p1==p2)
{
printf("指向同一个女人是情敌");
}else
{
printf("不是情敌了");
}
}
#include <stdio.h>
#include <stdlib.h> //指针的赋值运算 一般就是传递地址
//根据地址改变内容
void main4()
{
int num = ;
int *p = #
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 = #//地址的赋值
int *p2 = p1;//指针的赋值 *p2 = ;
printf("%d,%d,%d",num,*p1,*p2);//全是3
}
void main1()
{
int num = ;
//int *p = a;
//*p = a;//整数和指针最好不要直接运算 c只是警告 但是c++一定报错 }
c指针点滴三(指针运算)的更多相关文章
- const 指针的三种使用方式
///////////////////////const 指针的三种状态///////////////////// 注意:const 的前后顺序 const 在类型之前 ---可以修改指针包含的地址, ...
- [C和指针]第三部分
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- C++指针的操作和运算(转)
既然指针是一种数据类型,那么它也应该有对应的操作或运算,正如整数能做加减乘除一样.但是每一种操作或运算都应该对这种数据类型有意义.比如两个实数可以用关系运算得知哪个大哪个小,而两个虚数却不能使用关系运 ...
- Android For JNI(三)——C的指针,指针变量,指针常见错误,值传递,引用传递,返回多个值
Android For JNI(三)--C的指针,指针变量,指针常见错误,值传递,引用传递,返回多个值 C中比较难的这一块,大概就是指针了,所以大家还是多翻阅一下资料,当然,如果只是想了解一下,看本篇 ...
- void *指针的加减运算
1.手工写了一个程序验证void *指针加减运算移动几个字节: //本程序验证空类型指针减1移动几个字节 #include <stdio.h> int main(int argc, cha ...
- C语言中指针的加减运算
参考文章,值得一看 char arr[3]; printf("arr:\n%d\n%d\n%d\n", arr, arr + 1, arr + 2); char *parr[3]; ...
- C语言提高 (3) 第三天 二级指针的三种模型 栈上指针数组、栈上二维数组、堆上开辟空间
1 作业讲解 指针间接操作的三个必要条件 两个变量 其中一个是指针 建立关联:用一个指针指向另一个地址 * 简述sizeof和strlen的区别 strlen求字符串长度,字符数组到’\0’就结束 s ...
- PCL智能指针疑云 <三> 智能指针作为函数的传值参数和传引用参数
一 函数的参数传递可以简单分类为“传值”和“传引用”. 声明函数时,形参带引用“&”,则函数调用时,是把实参所在的内存直接传给函数所开辟的栈内存.在函数内对形参的修改相当于对实参也进行修改. ...
- [LeetCode题解]86. 分隔链表 | 三指针 + 虚拟头节点
解题思路 三指针,一个指向前半部分待插入位置,一个指向后半部分待插入位置,最后一个从前往后遍历 代码 /** * Definition for singly-linked list. * public ...
随机推荐
- yii 分页 (ajax)
Controller:class MemberController extends Controller { public function actionmember_list() { ...
- [RxJS] Observables can throw errors
Whenever we are writing code, we need to remember that things may go wrong. If an error happens in a ...
- POJ 2752 Seek the Name, Seek the Fame(next数组的理解)
做此题,只要理解好next数组就行....................... #include <cstdio> #include <cmath> #include < ...
- 大数据笔记13:Hadoop安装之Hadoop的配置安装
1.准备Linux环境 1.0点击VMware快捷方式,右键打开文件所在位置 -> 双击vmnetcfg.exe -> VMnet1 host-only ->修改subnet ip ...
- C#Transfrom
代码如下: private void btnConvertType_Click(object sender, EventArgs e) { if (rdo_btn_ConvertObject.Chec ...
- linux生成随机密码
通常情况下大家生成密码都好困惑,一来复杂程度不够会不安全,复杂程度够了又不能手动随便敲击键盘打出一同字符(但通常情况下这些字符是有规律的), 使用1password 或者 keepass 这种软件生成 ...
- 忘记 mysql5.5.24 数据库 root 密码
兹整理如下,供网友参考 第一步:关闭mysql服务 第二步:新建txt 写入如下内容 UPDATE mysql.user SET Password=PASSWORD('blog.const.net.c ...
- JavaScript中函数参数的按值传递与按引用传递(即按地址传递)
首先声明一句:JavaScript中所有函数的参数都是按值传递的!不存在按引用传递! 在讲传递参数之前我们先来讲一下指针. 学过C指针的应该都知道,指针变量中保存的是一个地址,程序可以根据所保存的地址 ...
- HTML与CSS入门——第五章 使用文本块和列表
知识点: 1.在页面上对齐文本的方法 2.三种HTML列表的使用方法 3.在列表中放置列表的方法 5.1 在页面上对齐文本: 父元素内子元素文本的居中:在控制父元素的text-align:center ...
- Edwin windows下基本命令:
Ctrl-Alt-z: 对区域内所有代码求值. Ctrl-x Ctrl-e: 对光标左边或上一个表达式求值. Ctrl-c Ctrl-x: 中断当前求值. Ctrl-a: 移动到行首. Ctrl-e: ...