ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

C语言指针

2022-11-10 13:55:36  阅读:334  来源: 互联网

标签:java 函数 学习 系统 语言 平台 方法 安装 QML c++ 数据


今天是进筑梦实验室的第一天,心里很开心,希望这里会是我绽放光彩的一个舞台,也希望我能以后一直待在这里为实验室做出一些小小的贡献。今天是进筑梦实验室的第一天,心里很开心,希望这里会是我绽放光彩的一个舞台,也希望我能以后一直待在这里为实验室做出一些小小的贡献。

今天上了程序设计课,在课上学到的知识来和大家分享了哦!

1.指针变量作为函数参数

例题:用指针的方法将两个数按照从大到小的顺序输出

在做这个题的时候,一开始把主函数写在了前面,然后一直是编译错误;但是我把主函数放前面就是对的,认为是我函数声明有误。下面这个是我写错的:

后来我终于知道哪错了,我在主函数里面声明swap函数的时候忘记打分号;了,真的好粗心啊,这次记住,记得一定不要再犯了。下面正确答案:

老师上课还告诉了我们一个写法是错误的,要我们注意一下:

void swap(int *p1,int *p2)

{int *temp; //*temp是指针变量temp所指向的变量

*temp=*p1;

*p1=*p2; //*p1,*p2分别都是a,b;为整型变量

*p2=*temp;

}

注1:因为未给temp赋值,因此temp中无确定的值,所以它所指向的存储单元也是无法预见的

注2:在执行完这个函数后,a和b的值发生了变化,但是p1和p2的值不变

后来老师又在这个基础上让我们想想将3个数按从大到小的顺序输出,我写对了,嘿嘿

2.在引用数组元素时指针的运算

数组元素的指针(数组元素的地址)

这两个语句等价:p=&a[0] //p的值是a[0]的地址

p=a; //p的值是数组a首元素(即a[0]的地址)

如果p的初值为&a[0],则p+i和a+i就是数组元素a[i]的地址,即指向a数组序号为i的元素

老师让我们手动运行一个题目来找出答案,看看你能不能做对撒:

#include<stdio.h> void fun(char *a,char *b) //a和b分别指向p1和p2,即指向c1和c2 { a=b; //a指向b中的值a (*a)++; //a指向的值+1,变为b } int main() { char c1=A,c2=a,*p1,*p2; p1=&c1; //p1指向c1即A p2=&c2; //p2指向c2即a fun(p1,p2); //调用函数fun printf("%c%c ",c1,c2); //c1中的值仍不变依然为A,c2中的值变为了b return 0; } 程序运行后的输出结果是___A____ A.Ab B.aa C.Aa D.Bb

有一个整型数组a,有10个元素,要求输出数组中的全部元素。

法一:下标法(不详细说明,很了解)

法二:通过数组名计算数组元素地址,找出元素的值:

法二输入还可以写成:for(p=a;p<a+10;p++) scanf("%d",p);

法三:用指针变量指向数组元素:

3.用指针的方法将一个数组中的数前面的数与后面的数进行交换值:

4.用指针的方法进行选择排序 :

总结:今天上课对老师说的内容大概听明白了,但是对于指针我觉得今天的这几个题目没能够对指针的运用很好理解,觉得这些题用指针只是为了理解这个知识,在这些题用指针感觉是多余的,遇到的有关这种题不是很多吧。

其余:今天上午上了两节课,程序设计课和高数课。高数课上老师今天带我们学习了微积分中的第二类积分,并把分部积分的内容也大概让我们了解一部分,我懂得差不多,可能还有点不太熟练。中午的时候,为班级办事去了;下午的时候,就在写今日学习总结,还和班长一块去为班级办事。

标签:java,函数,学习,系统,语言,平台,方法,安装,QML,c++,数据
来源:

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有