C语言指针
来源:互联网 发布:淘宝如何设置花呗支付 编辑:程序博客网 时间:2024/06/15 19:56
此处分析四种类型的指针:
1,指向单个地址的指针
int a = 12;
int *b = &a;//b中是a的地址,所以b指向a
int **c = &b;//c中是b的地址,b又指向a,所以c指向a
----------------------------------------------------------------------------------------------------------
2,指向数组的指针
int array[10];
int *ap = array;//ap是个地址,而且ap这中的值与array中的值相同
int *ai = array+2;
ap[3];
ai[-1];
-----------------------------------------------------------------------------------------------------------
3,指向二维数组的指针
(1)
int matrix[3][10];
int *p = &matrix[0][0];
int *p = matrix[0];
int **p = matrix;
以上是逐个访问而不是逐行在数组中移动;
增加这个指针的值使他指向下一个整形元素。
(2)
int (*p)[10] = matrix;//注意:有括号,不推荐
P是一个指向拥有10个整形数组的指针,p指向数组的第一行,p+1指向数组的第二行,以此类推。
-----------------------------------------------------------------------------------------------------------
4,指针数组
int *api[10];
首先 [] 的优先级大于 * ,先取下标,说明api是个数组;
其次对api[i]间接引用,说明api中存的是地址
综上推出api是个指针数组。
注意跟int (*p)[10]不一样。
指针数组的一个小例子:
功能:遍历整个关键字列表,查找是否存在与参数字符串相同的匹配。当他找到一个匹配时,函数就返回这个匹配在列表中的偏移量。
#include "stdio.h"#include "string.h"//*keyword[]指向整形的指针,keyword是一维数组char const *keyword[] = {"do","for","if","register","return","switch","while"};#define N_KEYWORD (sizeof(keyword))/(sizeof(keyword[0]))int lookup_keyword(char const * desired_word,char const *keyword_table[],int const size){char const **kwp;for(kwp = keyword_table;kwp<keyword_table+size;kwp++){if(strcmp(desired_word,*kwp) == 0){printf("yes\n");return kwp - keyword_table;}}return -1;}int main(){int num = 0;char a[] = "if";num = lookup_keyword(a,keyword,N_KEYWORD);printf("N_KEYWORD = %d\n",N_KEYWORD);printf("%d",num);getchar();return 0;}
- C语言中的指针
- C语言指针问题
- C语言野指针
- C语言之指针
- C语言指针简介
- C语言的指针
- c语言指针点滴
- C语言的指针
- c语言指针简介
- c语言 数组 指针
- c语言指针详解
- 理解C语言指针
- c语言函数指针
- C语言指针
- C语言之指针
- c语言指针详解
- c语言中的指针
- C语言--指针,数组
- Select COUNT(*) and COUNT(column) are different things!
- Libsvm和Liblinear的使用经验谈<转>
- 孤儿进程与僵尸进程
- Chrome 和 Firefox下获取图片大小和尺寸
- U-Boot下的I2C设备的读写
- C语言指针
- Redis 在新浪微博中的应用
- redis监控软件---RedisLive
- LVS+Keepalived搭建服务器集群
- MOdBUS RTU 下计算校验码的代码
- 学习一下IOS的签名
- PCB設計規範
- QQ农场
- Git分支模型 最佳实践