C语言指针大杂烩
By francis_hao Oct 31,2016
指针数组和数组指针
指针数组本身是个数组,数组的内容是指针。形如char *pa[]。由于[]优先级高于*,pa先于[]结合表示pa是一个数组,pa[]再与*结合表示pa[]是指针。比如pa[0]放了一个指针。
数组指针本身是个指针,指针指向的是数组。形如char (*ap)[6]。ap与*结合表示ap是个指针,(*ap)再和[6]结合表示(*ap)是个数组名,含有6个元素,可以把(*ap)[6]想成a[6],那么可以把(*ap)看成数组首地址a,而ap就是指向一个含有6个元素的数组的指针。
|
#include <stdio.h> |

指针常量和常量指针
首先共同点是他俩都是指针,只不过侧重点不同,放在前面的就是侧重的。
指针常量侧重于指针,说明指针本身是一个常量性质的,也就是说指针的值是不能改变的,指针常量的形式如:int *const a; 英语读作a const point to int。const放在谁后面就是修饰谁,说明*是const的,不能被修改,如下所示
|
#include <stdio.h> |

只能在定义处赋初值
|
#include <stdio.h> |
常量指针侧重于常量,说明指针指向的内容是常量,指针本身可以改变但是指向的内容不能改变,形式如:const int *a;或者int const *a;
英语读作a point to const int,记住,还是const在谁后面就修饰谁,如果在最前面就后移一位。
|
#include <stdio.h> |

在上例中,并不是说aa所在地址的值不能改变了,只是不能通过指针p进行改变,更多的是向编译器进行的说明。
指针函数和函数指针
指针函数本身是个函数,具有一个指针类型的返回值.
函数指针本身是个指针,指向一个函数
函数指针由返回值确定类型,和参数无关,下面两段代码展示了这种特性
|
#include <stdio.h> pf=fun2; pf=fun3; |

只与返回值有关
|
#include <stdio.h> pf=fun1; pf=fun2; ff=fun3; |


本文由 刘英皓 创作,采用 知识共享 署名-非商业性使用-相同方式共享 3.0 中国大陆 许可协议进行许可。欢迎转载,请注明出处:
转载自:http://www.cnblogs.com/yinghao1991/p/6017894.html
参考
【1】 K&R C程序设计语言
C语言指针大杂烩的更多相关文章
- C语言指针转换为intptr_t类型
1.前言 今天在看代码时,发现将之一个指针赋值给一个intptr_t类型的变量.由于之前没有见过intptr_t这样数据类型,凭感觉认为intptr_t是int类型的指针.感觉很奇怪,为何要将一个指针 ...
- [转]C语言指针学习经验总结浅谈
指针是C语言的难点和重点,但指针也是C语言的灵魂 . 这篇C语言指针学习经验总结主要是我入职以来学习C指针过程中的点滴记录.文档里面就不重复书上说得很清楚的概念性东西,只把一些说得不清楚或理解起来比较 ...
- 不可或缺 Windows Native (7) - C 语言: 指针
[源码下载] 不可或缺 Windows Native (7) - C 语言: 指针 作者:webabcd 介绍不可或缺 Windows Native 之 C 语言 指针 示例cPointer.h #i ...
- C语言指针学习
C语言学过好久了,对于其中的指针却没有非常明确的认识,趁着有机会来好好学习一下,总结一下学过的知识,知识来自C语言指针详解一文 一:指针的概念 指针是一个特殊的变量,里面存储的数值是内存里的一个地址. ...
- (转载)c语言指针学习
前言 近期俄罗斯的陨石.四月的血月.五月北京的飞雪以及天朝各种血腥和混乱,给人一种不详的预感.佛祖说的末法时期,五浊恶世 ,十恶之世,人再无心法约束,道德沦丧,和现在正好吻合.尤其是在天朝,空气,水, ...
- 关于C语言指针的问题
在学习关于C语言指针的时候,发现这样一个问题,代码如下: #include<stdio.h> #include<stdlib.h> #include<string.h&g ...
- C语言指针类型 强制转换
关于C语言指针类型 强制转换 引用一篇文章: C语言中,任何一个变量都必须占有一个地址,而这个地址空间内的0-1代码就是这个变量的值.不同的数据类型占有的空间大小不一,但是他们都必须有个地址,而这个 ...
- C语言指针和数组知识总结(上)
C语言指针和数组知识总结(上) 一.指针的基础 1.C语言中,变量的值能够通过指针来改变,打印指针的语句符号可以是: %08x 2.指针的本质 指针的本质就是变量,那么既然是变量,那么一定会分配地址 ...
- C语言指针操作
欢迎访问我的新博客:http://www.milkcu.com/blog/ 原文地址:http://www.milkcu.com/blog/archives/pointer-manipulation. ...
随机推荐
- 密码发生器 南阳acm519
密码发生器 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 在对银行账户等重要权限设置密码的时候,我们常常遇到这样的烦恼:如果为了好记用生日吧,容易被破解,不安全:如 ...
- STL 一些常用的STL函数(持续更新
先说一下 一边要用到算法的东西一般要加#include<algorithm>头文件 一.栈和队列 1 栈 :一种线性表 特点 后进先出 头文件 #include<stack&g ...
- leetcode笔记--2 reverse string
my answer: 出错点:new_list[s] = list_s[u-1-s] 这样会出错, 重点:(1) map(str, s) 函数的使用,例:ls = [1,2,3]rs = map(st ...
- 【功能笔记】Ubuntu查看系统资源占用(内存,cpu和进程) {转载}
转载自http://bluexp29.blog.163.com/blog/static/33858148201071534450856/ linux真是太强大了. 查看ubuntu的资源占用的命令为$ ...
- Qt 实现脉搏检测-1-心跳曲线部分
最新的想法就是写一个显示脉搏的东西,主要就是通过串口读取硬件(检测心跳的)传来的数据,在显示一下. 先实现画心跳曲线 如下图 先来电干货, 首先,在这个代码中,第一次用到了list这个东东 所以,关于 ...
- ZooKeeper完全分布式安装与配置
Apache ZooKeeper是一个为分布式应用所设计开源协调服务,其设计目是为了减轻分布式应用程序所承担的协调任务.可以为用户提供同步.配置管理.分组和命名服务. 1.环境说明 在三台装有cent ...
- 监控memcache服务
监控memcache服务是否正常,模拟用户(web客户端)检测. 使用nc命令加上set/get来模拟检测,以及监控响应时间及命中率. #!/bin/bash #################### ...
- Word2Vec词向量(一)
一.词向量基础(一)来源背景 word2vec是google在2013年推出的一个NLP工具,它的特点是将所有的词向量化,这样词与词之间就可以定量的去度量他们之间的关系,挖掘词之间的联系.虽然源码是 ...
- [leetcode-609-Find Duplicate File in System]
https://discuss.leetcode.com/topic/91430/c-clean-solution-answers-to-follow-upGiven a list of direct ...
- 使用ValueOperations操作redis
方法 c参数 s说明 void set(K key, V value); key :字段key value:key对应的值 设置一个key和value void set(K key, V v ...