C语言实验中遇到的问题
- 格式:docx
- 大小:13.85 KB
- 文档页数:2
C语言实验报告
C语言实验报告1
一周的C语言实训,虽然时间略显仓促,但却让我学到了很多实际运用的技能!
一、心得与感想
首先,在实训中的第一步是编写功能较为单一的小程序,虽然是小程序,但所用的知识却都是我们本学期学习的重点知识。在做题的过程中让我们把这些知识复习了一遍,强化了知识!
其次,这次作中所碰到的题目,在实训中已经接触过,所我们都比较深知这些题目的要求和算法,因次在编写小程序时比较快,而且算法也是比较简化,运算准确。鉴次我明白很多编程题要经过多次编写修改与调试,才会得到最简略的算法。
再次,平时我们学C语言视乎都是为了考试或者做一些比较常规的题目,而这次实训却给我们的将所学知识运用于解决实际问题的机会,让人更有激情,这就是编写软件的在雏形,也让我们感受到了编写软件程序的乐趣。但是不仅仅是如此,更为重要的是在运用所学知识的过程中,记住这些知识,并能够广泛的运用!
虽然我这次是编写一个菜单的程序,但是如果我么留心的话,我们身边有许多电子设备都是内置有程序的,我们也可以在此次专题实训过后,自行确定其他的专题进行编写程序,这样可以让我们的知识更加深化丰富!
这次实训似乎是对我巨大的考验,程序在不慌不忙的进行着,按照我自身的进度,提前完成是没有问题的,但是很多客观条件让我不得不在最后的时间里才
上交的作业。每当我把程序写完以后,却由于每一台电脑的识别格式不一样而导致我所写的文件一次次的被损坏,尽管这样,我仍然没有放弃,最后还赶在截止时间到来之前上交了我的作业!
这一次编写大作业的程序又让我感受到学程序可以锻炼缜密的思维了。因为平时练习的都是小程序,所以句段比较少,一些错误都很容易被检查出来,但是这次实训却是上百段的语句,难以检查,似乎也没有经验去怎么检查,那一刹那感觉到很急,但又不知如何是好,可是又不轻易的向老师询问,因为好像蛮简单,相信自己能够检查出来,所以我一般都是独立思考的完成的,只有少部分是在老师和与同学讨论下完成的。
C语⾔程序设计实验实验报告
《C语⾔程序设计实验》实验报告实验九⽂件编程(⼀)
班级:_07某某专业1班_
学号:______
姓名:___实验样例_____
⽇期:___2008.6.10_____
台州学院数信学院计算机系制作
⼀、实验⽬的和要求
综合使⽤基本结构、基本算法、函数、指针、结构体、链表等知识设计程序。
⼆、实验指导
1、注意:本次实验为综合性实验,需要综合本课程以前所学内容,完成编制⼀个⼩型应⽤程序。需要复习课本以前所学内容,浏览上课讲解的相关内容。
2、实验时间安排:准备实验⽅案,上课时上机编程,课余完成整个设计并完成实验报告。
3、实验具体要求:以⼀张假想的学⽣期中成绩表为实验对象,编制⼀个⼩型应⽤程序,可以考虑实现以下功能:(1)成绩修改;(2)成绩查询;(3)成绩统计;(4)成绩输⼊。也可以实现其他⾃定义的功能。界⾯采⽤简易菜单形式,可以分级显⽰。实验需要进⾏以下步骤:需求分析、程序设计、程序调试、程序运⾏,并对程序运⾏效果进⾏分析,提出改进⽅案。初步锻炼学⽣的程序设计能⼒、程序调试能⼒、对实验结果进⾏综合分析的能⼒。
4、实验成绩评价标准:参见成绩评定表。
四、实验报告内容(参见样本,请另附页)
实验报告必须包含以下内容:
1、对你设计的程序功能进⾏的较详细描述。
2、画出程序测试⽤的学⽣期中成绩表(包含:表头、若⼲⾏包含学⽣成绩等信息的数据⾏)。
3、给出程序清单(包含结构体的声明与定义、所有的函数声明、所有的全局变量、所有的函数定义、必要的注释。注:如果程序过长,可以不⽤给出所有的函数定义,只给出主要的函数定义)。
C语言程序设计实验试验参考指导书及答案
实验一熟悉C程序运行环境
班级学
号
姓
名
成
绩
一、实验目的
1. 熟悉C语言Visual C++。
2. 掌握C程序的编辑、调试及运行。
二、实验内容
项目1. 调试并运行下面程序,并写出运行结果:#include <>
int main()
{
printf(“Good morning!\n”);
printf(“Hello,world!\n”);
return 0;
}
运行结果(注意,按照屏幕输出格式写):
项目2. 调试并运行下面程序,并写出运行结果:
#include <>
int main()
{
int a , b , sum; /*定义变量*/
a=23; b=56; /*为变量赋值*/
sum=a+b; /*计算两个变量的和*/ printf(“sum is %d\n”,sum); /*输出计算结果*/ return 0;
}
运行结果:
项目3. 调试并运行下面程序,并写出运行结果:
#include <>
int max(int,int);
int main()
{
int a , b , c; /*定义变量*/
a=23; b=56; /*为变量赋值*/
c=max(a,b); /*调用max函数,将得到的值赋给c*/
printf(“max is %d\n”,c); /*输出c的值*/
return 0;
}
int max(int x,int y) /*定义max函数,函数值为整型*/
{
int z; /*定义变量*/
if(x>y)
z=x;
else
实验一C程序设计入门
1.编程输出‚我的信息‛;
#include <stdio.h>
main()
{
printf("My Information:\n");
printf("姓名:李坤\n性别:女\n专业名称:通信工程\n课程名称:高级语言程序设计实验\n");
}
2.编程:定义一个名为all的整型变量并为其赋值100。分别计算all 的两倍及其平方,用文字什么的输出结果;
#include <stdio.h>
main()
{
int all=100;
int x,y;
x=2*all;
y=all*all;
printf("all的两倍是:%d\n all的平方是:%d\n",x,y);
}
3.编程求以下表达式的值;
#include <stdio.h>
#include <math.h>
main()
{
float x;
x=23+(pow(16,2)-15)/(9+14);
printf("x=%.4f\n",x);
}
4.编程计算以下表达式的值(要求:分别定义一个int和float类型的变量,计算的结果存入该二变量并输出,分析结果)
#include <stdio.h>
main()
{
int x;
float y;
x=3/2+4/3+5/4+6/5;
y=3.0/2+4.0/3+5.0/4+6.0/5;
printf("x=%d\ny=%.4f\n",x,y);
}
实验二数据类型、常量变量及顺序结构程序设计1.输入两个人的身高,计算并输出他们的平均身高。(结果保留两位小数)
C语言实验教学常见问题探讨
在编程语言中,C语言使用的比较广泛,很多高校都以C语言程序设计作为程序设计的入门教材,许多初学者在学习编程时,都会首先选择C 语言,C语言是面向过程的编程语言,在软件开发中也被广泛应用,其功能强大,程序的编写比其他许多高级语言简洁,书写形式比较灵活,使用起来很方便,多样化的表达式类型,以及运算符的灵活应用,使得许多在其他语言中难以实现的的复杂运算在C语言中得以实现。C语言还是许多计算机专业课程的前导课程,例如数据结构,嵌入式程序设计,编译原理,计算方法等都可以在C语言的基础上得以实现。
1 C语言实验教学中的常见问题及其应对策略
在学习程序设计语言的过程中,编程实践是最重要的一个组成部分,基本的语法学习,语句的掌握,结构化设计的概念,都需要在程序的编写中得以实现和检验,现在的本科教学中,实验课程是实践教学的重要环节,但目前的实验教学普遍存在如下一些实际问题。
(1)初次接触编程语言,学生没有程序设计的概念,对于写代码一无所知。在实验教学中,应引导学生从简单的程序入手,然后再进行扩充,例如,要求在屏幕上显示“你好!”,只需要在主函数体写入语句printf (“你好!”)即可,运行此程序可以让学生了解到printf函数最基本的用法,然后对程序进行扩充,在主函数函数体最开始部分定义一个整形变量i,且为其赋初值0,要求输出i的值,此时的printf语句为:printf (“%d”,i);通过此语句的书写,向学生介绍格式控制符的用法,和printf函数的更多用法。随着实验内容的加深,逐渐加大难度,让每一次
篇一:《C语言上机实验心得》
C语言上机实验心得
在科技高度发展的今天,计算机在人们之中的作用越来越突出。而C语言作为一种计算机的语言,学习它将有助于我们更好的了解计算机,与计算机进行交流,因此,我们一定要学好C语言,这对我们以后的发展是十分重要的。
说到这,上机实验当然就是一个必不可少的环节了,C语言灵活、简洁的特点,只有通过编程实践才能真正了解,真正说懂。为了更好地学习语法规定、掌握程序设计方法、提高程序开发能力,我们必须实际上机、编写程序。
通过实验我也发现了自己不少的问题,这都是只看书上的程序而没有自己亲身上机编写程序而无法得知的,假如我们只因看熟书上的程序就以为自己已经掌握了C语言那就大错特错了。
我主要存在以下的这些缺点
1、学习耐心与细心不足,如scanf(“%d”,&n);中的“&”有时候会忘了。而在最后
输出时又错写成printf(“%d”,&n);从而错误得输出了地址而不是我原来想要的答案。
2、编程思想不够发散,看着题目有时想不出解答的方法,更不用说编写程序来解
题了。
3、
4、基本功不够,有些函数的表达不太精通,需要看书来核实,以致耗时较多。知识不够广,有些内容没有学好,不能要用到时及时反映出来,认识程度不够
深刻。
5、
6、有时候不够精简,有一点用处不大或者说没有也可以的文字存在。英语水平较差,对错误的地方虽然电脑有说,但由于是英文,理解上还是存在
一点问题。
为了能更好地学好C语言,在今后学习中我要更多的动脑,综合运用所学,多看相关东西,多上机练习,提高电脑水平,增强自学能力,把已会的东西掌握好。
c语言实验报告结论
在本次C语言实验中,我们完成了多个程序的设计和开发,包括计算字符串中元音字母和辅音字母的个数,求解一个数的平方根,以及设计一个简单的计算器。
同时,本次实验也让我们意识到了程序设计的重要性,程序需要清晰的逻辑思维和良好的代码风格,才能实现高效、可靠的功能。在实验中,我们不断优化程序设计,从算法和代码结构等方面提高了程序的可读性和可维护性。
在实验中出现的一些问题,如溢出和类型转换错误,也提醒我们在编程过程中要注意数据类型的选择和边界情况的处理,以确保程序的正确性和稳定性。
综上所述,通过本次C语言实验的学习和实践,我们深刻认识到了C语言的重要性和广泛性,也提高了自己的编程能力和实战经验。在今后的学习和工作中,我们将不断加强自己的编程素养,熟练掌握C语言的应用,为未来的发展打下坚实的基础。
c语言实验报告分析总结
在这个星期里,我们专业的学生在专业老师的带领下进行了c语言程序实践学习。在这之前,我们已经对c语言这门课程学习了一个学期,以下是小编为大家整理分享的c语言实验报告分析总结。欢迎阅读。
c语言实验报告分析总结1
在科技高度发展的今天,计算机在人们之中的作用越来越突出。而c语言作为一种计算机的语言,我们学习它,有助于我们更好的了解计算机,与计算机进行交流,因此,c语言的学习对我们尤其重要。
在这个星期里,我们专业的学生在专业老师的带领下进行了c语言程序实践学习。在这之前,我们已经对c语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生,的在运用起来的时候还是感到很棘手,毕竟,万事开头难嘛。
由于时间的关系,我们的这次实践课程老师并没有给我们详细的介绍,只是给我们简单的介绍了几个比较重要的实际操作。包括了程序模块处理.简单界面程序.高级界面程序.程序的添加修改.用程序做一元线性回归处理以及用c语言程序来画粒度分布图等这几样比较重要的时间操作。
上机实验是学习程序设计语言必不可少的实践环节,特别是
c语言灵活、简洁,更需要通过编程的实践来真正掌握它。对于程序设计语言的学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。
学习c程序设计语言除了课堂讲授以外,必须保证有不少于课堂讲授学时的上机时间。因为学时所限,课程不能安排过多的统一上机实验,所以希望学生有效地利用课程上机实验的机会,尽快掌握用c语言开发程序的能力,为今后的继续学习打下
c语言实验报告总结
在大学的计算机科学与技术专业中,学习C语言是一个非常重要的环节。通过实验的方式,我们可以更好地理解和掌握这门编程语言。在此次实验中,我对C语言的基本语法、数据类型、控制结构以及函数等方面进行了深入学习和实践,并取得了一定的成果。
首先,在实验中我通过编写简单的程序,掌握了C语言的基本语法规则。C语言是一门结构化的编程语言,具有严格的语法要求。通过实验,我深刻理解了C语言的语法规则对编写正确程序的重要性。在每个实验环节中,我都会根据实验要求,遵循正确的语法结构,确保程序能够顺利运行。
其次,在实验过程中,我掌握了C语言的各种数据类型。C语言中的数据类型包括整型、浮点型、字符型等多种类型,每一种类型都有其特定的用途和限制。通过实验,我学会了如何定义不同类型的变量,并能够利用这些变量进行各种运算和操作。这为我后续的程序设计提供了基础。
另外,在实验中我学习了C语言的控制结构。控制结构在程序设计中起到了重要的作用,可以通过条件判断和循环控制实现不
同的功能。在实验中,我通过编写程序,学会了使用if语句、switch语句以及for、while、do-while等循环语句。这些控制结构的灵活运用使我的程序更加健壮和实用。
在实验的过程中,我还学习了C语言中的函数。函数是C语言中的一种代码模块,可以将一段具有特定功能的代码封装起来,提高代码复用性和可维护性。通过实验,我了解了函数的定义、声明和调用等基本概念,并学会了如何自己编写函数,并在主程序中调用这些函数。函数的使用使我的程序模块更加清晰,减少了代码的重复性,提高了代码的可读性和可维护性。
c语言实验报告函数总结心得
本次实验是关于C语言函数的学习和实践,通过对各种函数的手动实现和调用掌握了
函数的概念、定义、声明、调用以及传参等知识点。在实验过程中,我遇到了许多问题,
但是通过自己的努力以及与同学和老师的交流,最终解决了这些问题,获得了许多收获和
体会。
首先,函数的概念是我们学习的第一个重要知识点。函数是一段可重用的代码,可以
通过函数名进行调用,可以在程序的不同位置多次使用,提高了代码的可读性和维护性。
在函数的定义中,需要指定返回值类型、函数名、参数数量和类型等信息。在调用函数时,需要按照函数定义中规定的参数类型和顺序传递实参,并根据需要保存函数返回值。
其次,函数的参数传递方式是我们需要掌握的难点之一。C语言中有多种参数传递方式,包括传值、传址(指针)和传数组等。函数参数的传递方式会对函数的运行效率和代
码结构产生影响。在实验中,我们通过手动实现字串反转、矩阵转置和选择排序等算法,
深入理解了参数传递方式的运用和区别。
另外,在实验中我们还需要学习函数的声明和调用方法。函数的声明是在不同文件中
搭建合理的程序框架所必需的,在函数声明中需要指定参数类型与返回值类型。函数的调
用是在程序具体实现过程中使用的,调用函数时需输入实参,确保函数的正确调用。在函
数的声明和调用中,需要注意参数与返回值的匹配问题,以保证程序的正确性。
最后,在函数实现的过程中,可以使用循环、条件语句、指针和递归等方法,实现各
种复杂的算法和操作。循环语句可以对数据进行重复操作,条件语句可以根据不同条件选
择不同的分支,指针可以提高数据的操作效率和灵活性,而递归则可以实现更复杂的算法
c语言实验报告分析总结
实验是科学研究和学习的重要手段之一,通过实验可以验证理论,探索问题的解决方案,并提取实验数据进行分析和总结。本次实验是关于C语言的,以下是对这次实验进行分析和总结的报告。
一、实验目的及原理:
本次实验的目的是通过编写C语言程序来实现特定的功能,进一步了解和掌握C语言的基本语法和编程思想。具体的实验内容包括:实现简单的算术运算、条件判断、循环结构以及函数调用等基本操作。
C语言是一种广泛应用的程序设计语言,具有简单、高效、灵活的特点。它使用结构化编程方法,支持面向过程和面向对象的编程风格。C语言的核心思想是利用变量、表达式、控制流结构和函数等基本元素来构建程序。
二、实验过程和方法:
1. 编写算术运算的C程序。
2. 编写条件判断的C程序。
3. 编写循环结构的C程序。
4. 编写函数调用的C程序。
5. 运行程序,观察输出结果。
三、实验结果分析与讨论:
通过对实验所编写的C程序进行运行,可以得到相应的输出结果。下面对实验结果进行分析和讨论。
1. 算术运算的C程序
算术运算是C语言的基本操作之一,可以实现加、减、乘、除等数学运算。在实验中,我们编写了一段简单的算术运算的C 程序,实现了两个数的加法、减法、乘法和除法运算,并输出相应的结果。
通过运行实验程序,可以观察到加法、减法、乘法和除法运算的结果是正确的,符合数学运算规则。这说明我们编写的算术运算的C程序是正确的。
2. 条件判断的C程序
条件判断是C语言中一种重要的控制结构,可以根据特定条件的成立与否来执行不同的操作。在实验中,我们编写了一段简单的条件判断的C程序,根据输入的数字判断其正负性,并输出相应的结果。
C语言实验中碰到的问题
1 格式必然要对尤其注意空格做题可以的直接复制粘贴即可不对也粘贴过来进行对照
2 ;&不能忘
3 3/4应用4才能取得
4 ==和=的区别
5 乘号不能省略
6 b==2||3和b==2||b==3的区别
7 注意回车输入形式时前面要加空格
8( b*b)/2*a和( b*b)/(2*a)的区别
9 define后面没有;
10 增加率别忘加1
11 while(ans!=a*b)
{
scanf("%d",&ans);
if(ans==a*b)
break;
printf("Wrong! Please try again.\n");
}
printf("Right!\n");
若是scanf后面没有if break的话,即便输出是对的,会有wrong在前right在后若把if break去掉把scanf放到while前面的话会形成死循环一直出现wrong。。。
12 break在任何循环中都是跳出作用
c语言实验设计心得与总结
经过一个星期的上机实践学习,使我对c语言有了更进一步的认识和了解,要想学好
它要重在实践,要透过不断的上机操作才能更好地学习它,透过实践,我也发现我的好多
不足之处,首先是自己在指法上还不行,经常按错字母,透过学习也有所改善;再有对c
语言的一些标准库函数不太了解,还有对函数调用的正确使用不够熟悉,还有对c语言中
经常出现的错误也不了解,透过实践,使我在这几个方面的认识有所提高。
借由课堂教学的自学,我认到努力学习计算机必须注重课堂教学操作方式,不仅仅仅
就是自学c语言,还是其它的语言,以及其它的计算机方面的科学知识都必须轻在课堂教学,所以后在自学过程中,我会更加凝视课堂教学操作方式,并使自己便好地努力学习计
算机。
经过一个学期的自学,我对C语言存有了必须的介绍。C语言就是自学计算机科学的
基础,做为一名计算机专业学生,掌控C语言更是毋庸置疑。在听课之前,就经常听到同
学说道,C语言很难学,的确,刚开始听讲时真的老师不知所云。但是,辨认出对时程资
料的复习后,前面的疑团都迎刃而解,这使我对C语言的自学更存有信心。
计算机最重要的就是上机操作,自己编写程序,在VisualC++运行,刚开始经常会出
现错误,经过分析改正后,最后能够运行了,就觉得个性激动。
课程设计就是一个把需求分析、程序撰写、程序调试、编写报告融合为一体的过程。
在这个过程中,不仅仅锻炼身体了我们周密的思维和秉持疑惑的毅力,更磨练了一个队伍
的团结互助的精神。只有借由大家一齐不懈努力就可以将课程设计的所有环节都成功的顺
利完成。另外程序设计中我们碰到问题并解决问题的过程,使我们独自积极探索并解决问
c语言实验报告分析总结3篇
c语言实验报告分析总结1
在科技高度发展的今天,计算机在人们之中的作用越来越突出。而c语言作为一种计算机的语言,我们学习它,有助于我们更好的了解计算机,与计算机进行交流,因此,c语言的学习对我们尤其重要。
在这个星期里,我们专业的学生在专业老师的带领下进行了c语言程序实践学习。在这之前,我们已经对c语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生,的在运用起来的时候还是感到很棘手,毕竟,万事开头难嘛。
由于时间的关系,我们的这次实践课程老师并没有给我们详细的介绍,只是给我们简单的介绍了几个比较重要的实际操作。包括了程序模块处理.简单界面程序.高级界面程序.程序的添加修改.用程序做一元线性回归处理以及用c语言程序来画粒度分布图等这几样比较重要的时间操作。
上机实验是学习程序设计语言必不可少的实践环节,特别是c语言灵活、简洁,更需要通过编程的实践来真正掌握它。对于程序设计语言的学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。
学习c程序设计语言除了课堂讲授以外,必须保证有不少于课堂讲授学时的上机时间。因为学时所限,课程不能安排过多的上机实验,
所以希望学生有效地利用课程上机实验的机会,尽快掌握用c语言开发程序的能力,为今后的继续学习打下一个良好的基础。为此,我们结合课堂讲授的内容和进度,安排了12次上机实验。课程上机实验的目的,不仅仅是验证教材和讲课的内容、检查自己所编的程序是否正确,课程安排的上机实验的目的可以概括为如下几个方面:1.加深对课堂讲授内容的'理解
C语言实验报告
说明
1;所有程序均用VC6.0编译运行;文件名命名为姓名+日期;因为实验存在补做;所以并不是按照日期先后排列的..
2;为了使截图清晰;手动将运行窗口由“黑底白字”改为了“白底黑字”..
实验2 数据类型、运算符和表达式
一、实验目的:
1掌握C语言数据类型;熟悉如何定义一个整型、字符型、实型变量、以及对它们赋值的方法..
2学会使用C的有关算术运算符;以及包含这些运算符的表达式;特别是自加++和自减――运算符的使用..
3掌握C语言的输入和输出函数的使用
4进一步熟悉C程序的编辑、编译、连接和运行的过程..
三、程序调试与问题解决:
1输人并运行下面的程序
include<stdio.h>
void main
{
char c1;c2;
c1='a';
c2='b';
printf"%c %c\n";c1;c2;
}
错误!运行此程序..
错误!在上面printf语句的下面再增加一个printf语句.. printf"%d %d\n";c1;c2;
再运行;并分析结果..
输出结果如图;编译成功;无错误..
错误!将第3行改为
int c1;c2;
再运行;并分析结果..
错误!再将第4、5行改为
c1=a;
c2=b;
再运行;并分析结果..
a;b没有定义;编译报错..
错误!再将第4、5行改为
c1=‘’a‘’;
c2=‘’b‘’;
再运行;并分析结果..
错误!再将第4、5行改为
c1=300;
c2=400;
再运行;并分析结果..
以字符型输出时;输出的将是300;400对应的字符.. 2输人并运行教材第3章习题3. 6给出的程序
C语⾔实验报告答案
南京信息⼯程⼤学实验(实习)报告
实验(实习)名称:指针及其应⽤⽇期:得分:指导⽼师:院系:应⽤⽓象学院专业:班次:姓名:学号:实验⽬的(1)掌握变量的指针及其基本⽤法。
(2)掌握⼀维数组的指针及其基本⽤法。
(3)掌握指针变量作为函数的参数时,参数的传递过程及其⽤法。
⼀.实验内容
(1)运⾏以下程序,并从中了解变量的指针和指针变量的概念。
(2)运⾏以下程序,观察&a[0]、&a[i]和p的变化,然后回答以下问题:
1.程序的功能是什么?
2.在开始进⼊循环体之前,p指向谁?
3.循环每增加⼀次,p的值(地址)增加多少?它指向谁?
4.退出循环后,p指向谁?
5.你是否初步掌握了通过指针变量引⽤数组元素的⽅法?
(3)先分析以下程序的运⾏结果,然后上机验证,并通过此例掌握通过指针变量引⽤数组元素的各种⽅法。
(4)编写函数,将n个数按原来的顺序的逆序排列(要求⽤指针实现),然后编写主函数完成:
①输⼊10个数;
②调⽤此函数进⾏重排;
③输出重排后的结果。
⼆.分析与讨论
(1)指针的定义⽅法,指针和变量的关系。
定义⽅法:
数据类型 *指针变量名;
如定义⼀个指向int型变量的指针——
int *p;
则我们可以继续写如下代码——
int a = 4;
p = &a
printf("%d", *p);
在这⾥,我们定义了⼀个变量a,我们把它理解为内存空间连续的4个字节(int型占⽤4字节),则这4个字节的空间保存着⼀个数4。&是取地址符号,即把变量a的地址(即这4个字节的⾸地址)赋给指针p (记住指针p的类型和变量a的类型要保持⼀致,否则的话,要进⾏类型转换)。这样⼦,指针p就保存着变量a的地址。我们如果把指针p当做内存空间⾥⾯另外⼀个连续的4个字节,那么这4个字节保存的数就是变量a的地址。printf("%d",*p)和printf("%d",a)的结果是⼀样的。这⾥的*是取变量符号(与&刚好作⽤相反,通过变量的地址找到变量),与定义时int *p的*号作⽤不同(定义时的*表⽰该变量是个指针变量,⽽⾮是取它指向的变量)。