C语言指针系列
来源:互联网 发布:好用的男士爽肤水 知乎 编辑:程序博客网 时间:2024/06/14 07:55
C语言指针系列
综述:
1.指针的类型
从语法的角度看, 你只要把指针声明语句里的指针名字去掉, 剩下的部
分就是这个指针的类型。 这是指针本身所具有的类型。 让我们看看例一中各
个指针的类型:
(1)int*ptr;//指针的类型是 int*
(2)char*ptr;//指针的类型是 char*
(3)int**ptr;//指针的类型是 int**
(4)int(ptr)[3];//指针的类型是 int()[3]
2.指针所指向的类型
当你通过指针来访问指针所指向的内存区时, 指针所指向的类型决定了
编译器将把那片内存区里的内容当做什么来看待。
从语法上看, 你只须把指针声明语句中的指针名字和名字左边的指针声
明符*去掉, 剩下的就是指针所指向的类型。 例如:
(1)int*ptr; //指针所指向的类型是 int
(2)char*ptr; //指针所指向的的类型是 char
(3)int**ptr; //指针所指向的的类型是 int*
(4)int(*ptr)[3]; //指针所指向的的类型是 int()[3]
(5)int*(ptr)[4]; //指针所指向的的类型是 int()[4]
数组和指针
int arr[10] = {1,2,3,4};int(*p)[10]; //这里定义了一个指针,指向的是一个10个元素的数组。p = &arr;int temp = *p[0]; //这里首先取盘p[0],然后取*p[0] 结果是1.int temp2 = **p;printf("the first value is %d\n", **p); //这里首先*p指向arr,然后*(*p)指向了arr[0]printf("the first value is %d\n", *(*p+1));//这里首先*p指向arr,然后*(*p+1)指向了arr[1]
指针与函数
int max(int x, int y){ return x > y ? x : y;}void main(){ int(*p)(int ,int); //定义了一个函数指针 p = max; //函数指针指向max。 int z = (*p)(3, 4); printf("the value is %d\n", z);}
阅读全文
0 0
- C语言指针系列
- C语言指针系列
- C语言系列--指针1
- 一句话C系列:C语言指针内幕
- c语言解析系列(5)指针
- IOS开发系列--C语言之指针
- IOS开发系列--C语言之指针
- iOS开发系列--C语言之指针
- IOS开发系列--C语言之指针
- C语言大杀器系列 ①函数指针
- iOS开发系列--C语言之指针
- C语言笔记系列(六)--指针
- C语言指针系列1——指针基本概念
- C语言指针系列二——指针与数组
- C语言指针系列三——指针运算本质
- C语言指针系列四——指针与函数
- C语言学习笔记系列(3)指针
- C语言指针系列——并不可怕的声明
- 常用linux命令jps
- IIC 通讯协议
- Java基础--抽象类和接口的区别
- MySQL INSERT插入多字段条件判断,如果不存在则插入
- 网络隧道Tunnel技术
- C语言指针系列
- 友元
- HOWTO: Debug Visual Studio assemblies with .NET Reflector. Author:Carlos J. Quintero (Microsoft
- [vijos1057]盖房子
- js中给函数传参函数时,函数加括号与不加括号的区别
- CodeVS 1018 单词接龙 题解
- tar: Removing leading '/' from member names
- 【链表】判断两个链表是否相交,并求出交点
- 字符设备驱动基础篇5——驱动如何操控硬件(动静态映射操作LED)