这篇文章主要介绍“C语言指针的详细介绍”,在日常操作中,相信很多人在C语言指针的详细介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C语言指针的详细介绍”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
指针是什么?
指针和指针类型
指针运算
总结:指针就是个变量,变量里面是地址,指针就是地址。(存放在指针的值都被当成地址处理)。
注:指针的大小在32位平台是4个字节,在64位平台是8个字节。
通过前面的知识我们知道,变量有不同的类型,如:整形,浮点型等。
同理:指针也有不同的类型。
**指针的定义方式:
变量类型 + *
比如:
int * pi=NULL char * pc=NULL short * ps=NULL long *pl=NULL float *pf=NULL double *pd=NULL …
指针类型的意义?
指针±整数
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> int main() { int n = 10; char *pc = (char*)&n; int *pi = &n; printf("n=%p\n", &n); printf("pc=%p\n", pc); printf("pi=%p\n", pi); printf("pc+1=%p\n", pc + 1); printf("pi+1=%p\n", pi + 1); return 0; }
总结:指针的类型决定了指针向前或者向后走一步有多大(距离)。
指针的解引用
指针±整数
指针-指针
指针的关系运算
注:指针相减前提,指向的地址相等
指针±整数
#define MAX 5 int arr[5]; int *p; //指针+-整数 for(p=&arr[0] ;p<&a[MAX]; ) { *p++ =0; }
指针-指针
int my_strlen(char *s)//没有指针减指针 { char *p = s; while (*p != '\0') p++; return p - s; }
指针的关系运算
for (p = &arr[MAX]; p > &arr[0]) { *--p; }
标准规定:允许指向数组元素的指针与指向数组最后一个元素后面的那个内存位置的指针比较,但是不允许与指向第一个元素之前的那个内存位置的指针进行比较。
到此,关于“C语言指针的详细介绍”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。