c的指针
来源:互联网 发布:JSP删除数组 编辑:程序博客网 时间:2024/05/16 16:00
学习C语言也有一段时间了,是时候总结一下了。
定义:指针是一种保存变量地址的变量。
语句 p = &c; 将把c的地址赋值给变量p,我们称p为“指向”c的指针。地址运算符&只能应用于内存中的对象,即变量与数组元素,它不能作用于表达式、常量或register类型的变量。
一元运算符*是间接寻址或间接引用运算符。
int x = 1,y =2, z[10];
int *ip; // 将ip声明为指向int的指针
ip = &x //将x的地址赋值给ip,也就是ip指向x
y = *ip//*ip表示获取ip指针指向变量的值,也就是x的值,然后将它赋值给y
*ip = 0//*ip在等号的左边,以左值形式存在,也就是代表所指向的变量,类似于x = 0
ip = &z[0]//ip指向z数组的第一个元素,就是指向z[0] ,也可以写成ip = z,因为z就是默认第一个元素的地址
有效的指针运算:
1.相同类型指针之间的赋值运算
2.指针同整数之间的加法或减法运算
3.指向相同数组中元素的两个指针间的减法或比较运算
4.将指针赋值为0或指针与0之间的比较运算
指向指针的指针:
根据指针的定义,其实,指向指针的指针就是,一个指针保存了指向其他数的指针的地址.
#include <stdio.h> int main () { int var; int *ptr; int **pptr; var = 3000; /* take the address of var */ ptr = &var; /* take the address of ptr using address of operator & */ pptr = &ptr; /* take the value using pptr */ printf("Value of var = %d\n", var ); printf("Value available at *ptr = %d\n", *ptr ); printf("Value available at **pptr = %d\n", **pptr); return 0;}
输出结果是这样的:
Value of var = 3000Value available at *ptr = 3000Value available at **pptr = 3000
指针数组和数组指针:
指针数组指的是由指针构成的数组,里面的指针指向指针内存储的地址,也可以说数组的元素是地址。而数组指针却是一个指向数组的指针,指针的值是数组的地址。
0 0
- C指针的指针
- c 指针的指针
- c中指针的指针
- c 指向指针的指针
- C 指向指针的指针
- C指针---指向指针的指针(转)
- C指针和指针的指针
- c语言指针,指向指针的指针
- C指针传递,指向指针的指针。
- 【C++】指针(5):指向指针的指针
- C语言的指针
- C的指针
- C语言的指针
- C 指针的学习
- C-51的指针
- C语言的指针
- 指针->C的灵魂
- C指针的实质
- JVM内存区域划分Eden Space、Survivor Space、Tenured Gen,Perm Gen解释
- 深度学习概述
- 122.Oracle数据库SQL开发之 PLSQL编程——11g新增加的PLSQL特性
- BestCoder Round #64 (div.1) B.Array
- (第八周项目1)建立顺序串的算法库
- c的指针
- scanf-printf-simple note
- 南大软院大神养成计划——第十三天
- hdoj 偶数求和
- 123.Oracle数据库SQL开发之 数据库对象——对象创建
- Linux命令学习笔记(1)----cat命令
- 二叉排序树的基本操作(建立,中序遍历,查找,删除,插入)
- leetcode Editdistance
- Mac环境Android 6.0虚拟机启动黑屏解决办法