C-033.指针的运算
来源:互联网 发布:社区宽带是什么网络 编辑:程序博客网 时间:2024/05/16 12:47
指针变量:存放是内存字节的地址编号(无符号的整形数)
指针:是运算受限的无符号的整形数
指针运算:(我得理解就是所指向地址的运算)
指针 + 整形数 === 指针变量中值 + sizeof(其所指向数据类型)
指针 - 整数数 === 指针变量中值 - sizeof(其所指向数据类型)
pointer1 - pointer2 = (pointer1中值 - pointer2中值) / sizeof(其指向数据类型)
赋值运算:
=
+= 必须是一个整形数
==
!=
>
<
>=
p++; p = p + 1;
++p; p = p + 1;
--p;
指针:是运算受限的无符号的整形数
指针运算:(我得理解就是所指向地址的运算)
指针 + 整形数 === 指针变量中值 + sizeof(其所指向数据类型)
指针 - 整数数 === 指针变量中值 - sizeof(其所指向数据类型)
pointer1 - pointer2 = (pointer1中值 - pointer2中值) / sizeof(其指向数据类型)
赋值运算:
=
+= 必须是一个整形数
-= 必须是一个整形数
==
!=
>
<
>=
<=
p++; p = p + 1;
++p; p = p + 1;
--p;
p--;
void test1(){ //算数运算 int nums[5] = {1,2,3,4,5}; int * pointer1 = nums; int * pointer2 = &nums[4]; size_t size = pointer2 - pointer1; printf("%lu\n",size);//输出4}void test2(){ //赋值运算 int nums[] = {1,2,3,4,5}; int *p = nums; p += 2; p = p + 2; p -= 1; printf("%d\n",*p);//输出4 }int main(int argc, const char * argv[]) { //关系运算 int nums[] = {1,2,3,4,5};//创建一个数组 int *p = nums;//指针指向一个数组,指向的是数组首元素的地址,指向1 printf("%p\n",p);//地址0x7fff5fbff760 printf("%d\n",*p);//打印1 p++; //int类型的p++使它增加了4字节,使p指向2 printf("%p\n",p);//地址0x7fff5fbff764 printf("%d\n",*p);//打印2 int result = nums == p; //比较的是他们的地址,p现在指向的是2,所以打印0 printf("%d\n",result); return 0;}
0 0
- C-033.指针的运算
- c指针的运算
- C ~ 指针的运算
- C语言指针的运算
- C语言指针的运算
- C语言:指针的运算
- C指针运算的妙用
- C指针解析 ------ 指针的算术运算
- 【C++】指针(2):NULL指针、指针的算术运算
- 【c/c++】指针运算
- C中有效的指针运算
- C语言——指针的运算
- C 语言中指针变量的运算
- C语言指针的算术运算
- C语言指针变量的运算
- C语言指针变量的运算
- c语言 指针变量的运算
- C语言——指针的运算
- CSS 响应式 补充
- spark on yarn
- HDU1818 Floyd 最短路问题(模板)简单题
- OpenGL入门学习
- Eclipse选中变量名,相同变量都变色显示 的设置
- C-033.指针的运算
- linux 线程的缺点和线程池的必要性
- 【敏捷软件开发】读书笔记 中文序和代序
- C++下遍历文件夹内文件
- 幻方(奇数阶&&4*n阶&&4*n+2阶)
- OSG更新回调(UpdateCallback)与事件回调(EventCallback)的相似之处和不同之处
- 网络层:指引
- 读书笔记--青年文摘摘抄
- 常见汉字区位码