C语言指针学习笔记
来源:互联网 发布:同步带设计软件下载 编辑:程序博客网 时间:2024/05/22 15:55
一、指针变量
1、定义格式
- 类型名 *指针变量名
- “*”不是运算符,只是一个定义指针变量的标志
2、指针变量的引用
- “&”取地址运算符,int a =20, *p; p = &a;
- “*”取内容运算符。int b=*p
二、一维数组与指针
若数组为形参,则将数组名做指针变量来处理;
- &与*互逆
- *与[]等价
- &与[]互逆
1、指向数组元素的指针
- 指向数组元素的指针与指向普通元素的用法一样
2、指向一维数组的指针
数组名代表数组首地址,是不能被改变的常量
当指针变量指向数组中某一元素是,指针变量+1指向数组下一个元素。p±n表示前后移动n个元素,如:
float a[10]; float *p;p = &a[4];
则p-3指向a[1].
三、多维数组与指针
int a[3][4];
- a+1是跳一行
- a+i 是行指针,指向一整行
- *(a+i) 和 a[i] 一样,都是一个列指针,指向一个元素
- *(a+i)+j 和 a[i]+j 一样,都表示a[i][j]的地址,即&a[i][j]
- ((a+i)+j)、(a[i]+j )、((a+i)[j])和a[i][j]一样,都表示元素
一位数组名表示的是列指针
- 二维数组名表示的是行指针
- 只有列指针才是“真正”指向元素
1、指向二维数组元素的指针变量
int a[3][4];
// 这里p是一个列指针,所以画数组a要按列画。
// 行指针的定义在下面,行指针出现则把二维数组画成二维表
int *p = &a[0][3];
则:
p+1指向a[1][0]
p+4指向a[1][3]
注:p±n表示前后移动n个元素!
2、指向有m个元素组成的一维数组的指针变量
定义:类型名 (*指针变量名)[m]
int a[4][m];int (*p)[m];
四、字符串与指针
c语言中字符串就是首地址
char *p ="china";
这里p存的就是c的地址;
p="Chinese";
这里也是合法的,p存的就是大C的地址;
五、函数与指针
函数名是函数所占空间的起始地址。
不需要加形参
- 定义指向函数的指针变量的方式:
类型名 (*指针变量名)(); int min(int a,int b) { return a > b ? b : a } int max(int a,int b) { return a > b ? a : b } main() { int x = 6,y= 10; int (*p)(); p=max; printf("%d",p(x,y)) // 10 p=min; printf("%d",p(x,y)) // 6 }
六、返回指针的函数
类型名 *函数名(形参列表)
{
}
int *fun(int *x, int *y){ if(*x<*y) return x; else return y;}
七、指针数组
类型名 *数组名【常量表达式】
int *s[10] //这是一个指针数组常量,只能在赋值号右边int (*p)[10] //这是一个变量
指向指针的地址变量
类型名 **指针变量名;
int a = 3;int *p = &a; //指向内容的指针int **k = &p;//指向指针的指针,二级指针
八、空指针
int *p=NULL;
阅读全文
0 0
- c语言指针学习笔记
- C语言指针学习笔记
- C语言指针学习笔记
- C语言指针学习笔记
- c语言学习笔记--指针
- C语言学习笔记-指针
- C语言指针学习笔记
- C语言学习:指针(笔记)
- C语言学习笔记-指针
- C语言指针学习笔记
- C语言学习笔记——指针
- C语言学习笔记(12指针)
- C语言学习笔记(13指针)
- C语言学习笔记(14指针)
- C语言学习笔记(15指针)
- C语言学习笔记(16指针)
- C语言学习笔记(17指针)
- C语言学习笔记(18多级指针)
- 为自定View添加相应属性,在XML可以直接使用
- Java 多项式求值
- python os.stat() 和 stat模块详解
- node.js学习笔记2——querystring (查询字符串,参数处理)
- Git高频命令(长期更新)
- C语言指针学习笔记
- 数据结构编程笔记十七:第六章 树和二叉树 赫夫曼树的实现
- 史上最科学!Swift 3 UITableView最佳实践 XIB极速实现UITableViewCell,UITableViewHeaderFooterView
- requests库入门-5-带参数的请求类型
- 微服务的设计原则
- JVM笔记
- 冒泡排序法
- 狄克斯特拉算法(入门)
- Java 割圆术球π