淘宝的网站建设怎么建,多商户商城服务态度好,常州企业网站,有没有可以在网站上做试卷的目录
一.指针简介二.空指针 NULL三.void 指针四.重点总结五.猜你喜欢 零基础 C/C 学习路线推荐 : C/C 学习目录 C 语言基础入门 一.指针简介
在前面的文章有关于指针的介绍#xff1a;指针很灵活#xff0c;它可以指向任意类型的数据。指针的类型说明了它所指向地…目录
一.指针简介二.空指针 NULL三.void 指针四.重点总结五.猜你喜欢 零基础 C/C 学习路线推荐 : C/C 学习目录 C 语言基础入门 一.指针简介
在前面的文章有关于指针的介绍指针很灵活它可以指向任意类型的数据。指针的类型说明了它所指向地址空间的内存以下是有效的指针声明
int *p; /* 一个整型的指针 */
double *p; /* 一个 double 型的指针 */
float *p; /* 一个浮点型的指针 */
char *p; /* 一个字符型的指针 */注意不要忘记在指针类型和变量名中间还有一个 * 号没有这个 * 号只是定义了一个普通变量这也是普通变量声明和指针声明的区别之一
二.空指针 NULL
在 C 语言中如果一个指针不指向任何数据我们就称之为 空指针 用 NULL 表示。例如
int *p NULL;注意区分大小写null 没有任何特殊含义只是一个普通的标识符。NULL 是一个宏定义在 stdio.h 被定义为
#define NULL ((void *)0)我们知道变量一旦定义就要分配内存指针变量也是如此。当你还不清楚要把指针初始化为什么地址时请将它初始化为 NULL例如
int *p; //它不是空指针它的值是随机的是垃圾值如果不小心使用了它运行时一般会引起段错误导致程序退出甚至会不知不觉地修改数据。当你还不清楚要把指针初始化为什么地址时请将它初始化为 NULL;
三.void 指针
C 语言还有一种 void 指针类型即可以定义一个指针变量但不说明它指向哪一种类型数据。例如
void *p malloc(20);上面代码表示在内存中分配 20 个字节的空间但不确定它保存什么类型的数据有可能是 char也有可能是 int 或者 float double……
void 指针通常称为通用指针就是可以指向任意类型的数据。也就是说任何类型的指针都可以赋值给 void 指针例如
/******************************************************************************************/
//Author:猿说编程
//Blog(个人博客地址): www.codersrc.com
//File:C语言教程 - C语言 void 指针
//Time:2021/06/22 08:00
//Motto:不积跬步无以至千里不积小流无以成江海程序人生的精彩需要坚持不懈地积累
/******************************************************************************************/#includestdio.hint main()
{int num 1024;int *pi num;char *ps 猿说编程 - codersrc.com;void *pv;pvpi;printf(pi:%p\npv:%p\n,pi,pv);printf(*pv:%d\n,*(int *)pv);pvps;printf(pv:%p\nps:%p\n,pv,ps);printf(*pv:%s\n,(char *)pv);return 0;
}/*输出结果
pi:0060FEF0
pv:0060FEF0
*pv:1024
pv:00403064
ps:00403064
*pv:猿说编程 - codersrc.com
*/四.重点总结
NULL 用于指针和对象指向一个不被使用的地址而’\0’表示字符串的结尾NULL 指针 #define NULL ((void *)0)当你还不清楚要把指针初始化为什么地址时请将它初始化为 NULL ;在对指针进行解引用时先检查该指针是否为 NULL
五.猜你喜欢
C 语言逻辑运算符C 语言三目运算符C 语言逗号表达式C 语言 sizeof 和 strlen 函数区别C 语言 strcpy 和 strcpy_s 函数区别C 语言 memcpy 和 memcpy_s 区别C 语言 数组定义和使用C 语言 数组遍历C 语言 数组下标越界C 语言 数组内存溢出C 语言 数组下标越界和内存溢出区别C 语言 二维数组定义和使用C 语言 二维数组行数和列数计算C 语言 指针声明和定义C 语言 指针 p / p–C 语言 p/§/_(p)/_pC 语言 使用指针遍历数组C 语言 指针和数组区别C 语言 数组指针C 语言 指针数组C 语言 指针数组和数组指针区别C 语言 空指针 NULLC 语言 void 指针
未经允许不得转载猿说编程 » C 语言 void 指针