本篇文章帮大家学习c语言指针,包含了C语言指针使用方法、操作技巧、实例演示和注意事项,有一定的学习价值,大家可以用来参考。

C语言中的指针是变量,也称为定位符或指示符,指向值的地址。

注意:指针是C语言的灵魂,如果指针不能熟练使用,那意味着你的C语言学得不咋地。

指针的优点

指针减少代码并提高性能,用于检索字符串,树等,并与数组,结构和函数一起使用。

可以使用指针从函数返回多个值。

它使您能够访问计算机内存中的任何位置。

指针的使用

C语言中有很多指针的使用。

动态内存分配在C语言中,可以指针使用malloc()和calloc()函数动态分配内存。

数组,函数和结构C语言中的指针被广泛应用于数组,函数和结构中。它减少代码并提高性能。

指针中使用的符号

符号

名称

说明

&

地址运算符

确定变量的地址。

*

间接运算符

访问地址上的值

地址运算符

地址运算符'&'返回变量的地址。 但是,我们需要使用%u来显示变量的地址。创建一个源代码文件:address-of-operator.c,其代码实现如下 -

#include

void main() {

int number = 50;

printf("value of number is %d, address of number is %u", number, &number);

}

执行上面示例代码,得到以下结果 -

value of number is 50, address of number is 15727016

指针示例

下面给出了使用打印地址和值的指针的例子。如下图所示 -

如上图所示,指针变量存储数字变量的地址,即fff4。数字变量的值为50,但是指针变量p的地址是aaa3。

通过*(间接运算符)符号,可以打印指针变量p的值。

我们来看一下如上图所示的指针示例。

创建一个源代码文件:pointer-example.c,其代码实现如下 -

#include

void main() {

int number = 50;

int *p;

p = &number;//stores the address of number variable

printf("Address of number variable is %x \n", &number);

printf("Address of p variable is %x \n", p);

printf("Value of p variable is %d \n", *p);

}

执行上面示例代码,得到以下结果 -

Address of number variable is b3fa4c

Address of p variable is b3fa4c

Value of p variable is 50

NULL指针

未分配任何值的指针称为NULL指针。 如果在声明时没有在指针中指定任何地址,则可以指定NULL值,这将是一个更好的方法。

int *p=NULL;

在大多数库中,指针的值为0(零)。

指针的应用示例:

指针程序来交换2个数字而不使用第3个变量

创建一个源代码文件:swap2numbers.c,其代码实现如下 -

#include

void main() {

int a = 10, b = 20, *p1 = &a, *p2 = &b;

printf("Before swap: *p1=%d *p2=%d\n", *p1, *p2);

*p1 = *p1 + *p2;

*p2 = *p1 - *p2;

*p1 = *p1 - *p2;

printf("\nAfter swap: *p1=%d *p2=%d\n", *p1, *p2);

}

执行上面示例代码,得到以下结果 -

Before swap: *p1=10 *p2=20

After swap: *p1=20 *p2=10

c语言指针大全,C语言指针相关推荐

  1. 健康调查系统c语言代码大全,C语言问卷调查(示例代码)

    你对自己的未来有什么规划?做了哪些准备?努力做一名程序员,课余时间看看代码. 你认为什么是学习?学习有什么用?现在学习动力如何?为什么?学习可以了解许多东西.现在学习动力不足.因为懒. 你感觉自己什么 ...

  2. c语言试卷大全,C语言试题大全

    C语言试题大全 引导语:c语言相关的试题都会考察什么内容呢?以下是小编整理的C语言试题大全,欢迎参考阅读! 一.填空题(10分,第1小题4分,其余每空1分) 1.设有下列登记表,请采用最佳方式定义一种 ...

  3. c++语言关键字大全,C++语言const 关键字使用方法图文详解

    之前一直在学习C/C++,关于const的使用,这里出现一点,那里出现一点.知识用时方恨少,这一段时间正好各种笔试题,其中关于const的用法也是层出不穷,所以疲于在书本上各种翻,这里汇总一下,加深自 ...

  4. 语c语言用语大全,C语言常用语总结.doc

    C语言常用语总结 C语言常用语句总结 一:常用函数 1.putchar函数: putchar函数(字符输出函数):向终端输出一个字符. 一般形式为: putchar(c) // 输出字符变量c的值. ...

  5. 医院信息管理系统c语言代码大全,C语言程序设计医院信息管理系统附源代码.doc...

    实用文档 PAGE 文案大全 专业设计报告 课程名称: C 语 言 程 序 设 计 课题名称: 医院信息管理系统 专业班别: 11本计算机科学与技术二班 姓 名: 学 号: 指导教师: 设计日期: 2 ...

  6. c语言优先级大全,C语言运算符及其优先级汇总表口诀

    C语言运算符及其优先级汇总表口诀 C语言运算符及其优先级汇总表口诀 圆下箭头一顿号 非凡增减富强针地长 三乘除,四加减,五移位 千万别把鱼忘记,它在盛饭的厨子里 小灯大灯灯灯不等 爸喂鱼,舅疑惑,裸鸡 ...

  7. c语言难题大全,C语言50道问题

    2015-08-30 06:30:02 阅读( 175 ) 第一题:完成下面的分段函数的计算,程序运行时用户从键盘输入一个数值X,在屏幕上输出Y值. Y= (这里有个大括号) X的2次方 X>0 ...

  8. 高校人事档案c语言代码大全,c语言人事档案管理程序

    c语言大作业,关于人事档案管理方面的 #include #include #include #include /*函数声明*/ void readFile(); void display(); voi ...

  9. C语言函数手册:c语言库函数大全|C语言标准函数库|c语言常用函数查询

    http://see.xidian.edu.cn/cpp/u/hanshu/ 本函数手册涵盖了常用的C语言函数,从函数功能.参数和返回值三方面做了详细的说明,并且给出了大量实例,加深读者的理解. 为了 ...

最新文章

  1. CUBRID学习笔记 1 简介 cubrid教程
  2. 3D图形图像处理软件HOOPS介绍及下载
  3. 每日一博 - 延时任务的多种实现方式解读
  4. 并发新特性—Executor 框架与线程池
  5. phpword 模板 多页_高中数学:各题型答题模板,吃透,灵活运用数学公式,解题更快!...
  6. js使用深度优先遍历实现getElmentById(id)
  7. 编程大白给编程小白的四点建议
  8. 如何建立MSSQL数据库
  9. CSS实现标题文字过长部分显示省略号的方法
  10. openid4java 使用记录[转载]
  11. Javascript数据类型转换第六课
  12. java的css的块_CSS基础知识(概念、块级元素、行内元素、选择器)
  13. Oracle的分析函数over()
  14. 6-15 基于顺序表的直接选择排序 (10分)
  15. 大文件上传解决方案-支持断点续传的文件上传插件(转)
  16. 【小月电子】ALTERA FPGA开发板系统学习教程-LESSON8 LCD1602液晶显示
  17. fantastic组需求分析
  18. 阿里巴巴达摩院夺得首届“马栏山杯”国际音视频算法优化大赛【画质损伤修复赛道】冠军
  19. error:The calling thread cannot access this object because a different thread owns it解决方法
  20. 计算机工程与科学是sci,系统科学与系统工程有哪些sci期刊

热门文章

  1. 处理数字_6_NULL值的列的个数
  2. 处理字符串_9_合并多行到一行
  3. python2和python3的不同点_Django python2和python3的区别
  4. 神奇的计算机技术 教案,神奇的笔记本教学设计
  5. OpenCV学习笔记之扫描图像
  6. 深度学习论文翻译--Deep Residual Learning for Image Recognition
  7. Windows+VS2015编译caffe+py-faster-rcnn
  8. 使用Faster-Rcnn进行目标检测(实践篇)
  9. Dropout_layer.cpp(防止过拟合)
  10. [深度学习基础] 4. 卷积神经网络