C语言指针笔记 by STP
2015-12-04 17:36
423 查看
指针:存放变量地址的变量
作用:1.可修改函数形参的值(交换两个数的值);
2.可以利用指针让函数有N个返回值(例如用一个方法返回sum和minus等不同的计算结果);
3.把指向函数的指针当作参数传递给函数。
格式:
注意:*只是一个说明符,说明该变量为指针变量,不属于变量名的一部分
错误写法:
1.指针和字符串:
错误写法:
2.指针和函数:
指向函数的指针:
作用:1.可修改函数形参的值(交换两个数的值);
2.可以利用指针让函数有N个返回值(例如用一个方法返回sum和minus等不同的计算结果);
3.把指向函数的指针当作参数传递给函数。
格式:
int *i; char *c;
注意:*只是一个说明符,说明该变量为指针变量,不属于变量名的一部分
错误写法:
int *p; p=100;//指针变量用来存放地址,不能赋值常量 int *p; *p=200;//未指向确定地址前,不能对该指针变量赋值
1.指针和字符串:
char *p;//定义一个指针变量p char c[] = "kristy";//定义一个字符数组 p=c;//指向首字母"k" //省略定义字符数组,指针直接指向字符串 char *k = "kristy";正确写法:
char *p; p="kristy";
错误写法:
char k[6]; k="kristy";//k是一个数组地址常量,不能赋值 char *p = "kristy"; *p = "hello"; char c[]="kristy";//定义的是字符串变量!变量!变量! char *p = "kristy";//定义的是字符串常量!常量!常量!
2.指针和函数:
指向函数的指针:
//定义一个sum函数,返回两个数的和 int sum(int a,int b){ return a+b; } //定义一个指向sum函数的指针p int (*p)(int a,int b) = sum; int main(){ int result = (*p)(2,3); //int result = p(2,3); printf("结果为:%d",result); return 0; }将指向函数的指针作为参数传递:
#include <stdio.h> // 减法运算 int minus(int a, int b) { return a - b; } // 加法运算 int sum(int a, int b) { return a + b; } // 这个counting函数是用来做a和b之间的计算,至于做加法还是减法运算,由函数的第1个参数决定 void counting( int (*p)(int, int) , int a, int b) { int result = p(a, b); printf("计算结果为:%d\n", result); } int main() { // 进行加法运算 counting(sum, 8, 3); // 进行减法运算 counting(minus, 8, 3); return 0; }
相关文章推荐
- 如何组织构建多文件 C 语言程序(二)
- 关于指针的一些事情
- 如何写好 C main 函数
- Lua和C语言的交互详解
- C# Pointer指针应用实例简述
- 关于C语言中参数的传值问题
- 简要对比C语言中三个用于退出进程的函数
- 深入C++中API的问题详解
- 基于C语言string函数的详解
- C语言中fchdir()函数和rewinddir()函数的使用详解
- C语言内存对齐实例详解
- C语言编程中统计输入的行数以及单词个数的方法
- 使用C语言判断英文字符大小写的方法
- c语言实现的带通配符匹配算法
- C语言实现顺序表基本操作汇总
- C语言中计算正弦的相关函数总结
- 使用C语言详解霍夫曼树数据结构
- 探讨C语言的那些小秘密之断言
- C语言实现BMP转换JPG的方法
- 深入探讨C语言中局部变量与全局变量在内存中的存放位置