• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

深入了解C语言指针

c语言 搞代码 4年前 (2022-01-06) 24次浏览 已收录 0个评论
文章目录[隐藏]

这篇文章主要介绍了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 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; } 

标准规定:允许指向数组元素的指针与指向数组最后一个元素后面的那个内存位置的指针比较,但是来源gaodai$ma#com搞$代*码*网不允许与指向第一个元素之前的那个内存位置的指针进行比较。

总结

以上就是深入了解C语言指针的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:深入了解C语言指针

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址