彻底搞定C语言指针 第五篇

一、三道考题

开讲之前,我先请你做三道题目。(嘿嘿,得先把你的头脑搞昏才行 ……唉呀,谁扔我鸡蛋?)

1.考题一:程序代码如下:

void Exchg1(int x, int y)
{
int tmp;
tmp=x;
x=y;
y=tmp;
printf (“x=%d,y=%d\n”,x,y)
}
void main()
{
int a=4,b=6;
Exchg1 (a,b) ;
printf(“a=%d,b=%d\n”,a,b)
}

输出的结果 :

x=____, y=____

a=____, b=____

问下划线的部分应是什么,请完成。

2.考题二:代码如下。

Exchg2(int *px, int *py)
{
int tmp=*px;
*px=*py;
*py=tmp;
print(“*px=%d,*py=%d\n”,*px,*py);
}
main()
{
int a=4;
int b=6;
Exchg2( &a,&b);
Print (“a=%d,b=%d\n”, a, b);
}

输出的结果为:

*px=____, *py=____

a=____, b=____

问下划线的部分应是什么,请完成。

3.考题三:

Exchg2(int &x, int &y)
{
int tmp=x;
x=y;
y=tmp;
print(“x=%d,y=%d\n”,x,y);
}
main()
{
int a=4;
int b=6;
Exchg2(a,b);
Print(“a=%d,b=%d\n”, a, b);
}

输 出的结果:

x=____, y=____

a=____, b=____

问下划线的部分输出的应是什么, 请完成。

你不在机子上试,能作出来吗?你对你写出的答案有多大的把握?

正确的答案 ,想知道吗?(呵呵,让我慢慢地告诉你吧!)

好,废话少说,继续我们的探索之旅了。

我们都知道:C语言中函数参数的传递有:值传递,地址传递,引用传递这三种形式。题一为值 传递,题二为地址传递,题三为引用传递。不过,正是这几种参数传递的形式,曾把我给搞得晕头转向 。我相信也有很多人与我有同感吧?

下面请让我逐个地谈谈这三种传递形式。

时间: 2025-01-21 05:45:37

彻底搞定C语言指针 第五篇的相关文章

彻底搞定C语言指针 第四篇

1 int i 说起 你知道我们申明一个变量时象这样int i :这个i是可能在它处重新变赋值的. 如下: int i=0: //- i=20://这里重新赋值了 不过有一天我的程 序可能需要这样一个变量(暂且称它变量),在申明时就赋一个初始值.之后我的程序在其它任何处都 不会再去重新对它赋值.那我又应该怎么办呢?用const . //************** const int ic =20: //- ic=40://这样是不可以的,编译时是无法通过,因为我们不能对 const 修饰的ic

彻底搞定C语言指针 第六篇

指向另一指针的指针 一.针概念: 早在本系列第二篇中我就对指针的实质进行了阐述 .今天我们又要学习一个叫做指向另一指针地址的指针.让我们先回顾一下指针的概念吧! 当我 们程序如下申明变量: short int i: char a: short int * pi: 程序会 在内存某地址空间上为各变量开辟空间,如下图所示. 内存地址→6 7 8 9 10 11 12 13 14 15 ------------------- --------------------------------------

彻底搞定C语言指针 第七篇

函数名与函数指针 一 数调用 一个通常的函数调用的例子: //自行包含 头文件 void MyFun(int x); //此处的申明也可写成:void MyFun( int ); int main(int argc, char* argv[]) { MyFun(10); //这里是调用MyFun(10);函数 return 0; } void MyFun(int x) //这里定义一个MyFun函数 { printf ("%d\n",x); } 这个MyFun函数是一个无返回值的函数,

彻底搞定C语言指针 第三篇

1.数组元素 看下面代码 int i,a[]={3,4,5,6,7,3,7,4,4,6}; for (i=0;i<=9;i++) { printf ( "%d", a[i] ); } 很显然,它是显示a 数组的各元素值. 我们还可以这样访问元素,如下 int i,a[]={3,4,5,6,7,3,7,4,4,6}; for (i=0;i<=9;i++) { printf ( "%d", *(a+i) ); } 它的结果和作用完全一样 2. 通过指针访问数

彻底搞定C语言指针 第一篇

1.语言中变量的实质 要理解C指针,我认为一定要理解C中"变量"的存储实质, 所以我就从"变量"这个东西开始讲起吧! 先来理解理解内存空间吧!请看下图: 内存地址→ 6 7 8 9 10 11 12 13 ----------------------------------------------------------------- ... | | | | | | | |.. ------------------------------- ------------

彻底搞定C语言指针 第二篇

二.指针是什么东西 想说弄懂你不容易啊!我们许多初学指针的人都要这样的感慨.我常常在思索它,为什么呢?其实生活中处处都有指针.我们也处处在使用它.有了它我们的生活才更加方便 了.没有指针,那生活才不方便.不信?你看下面的例子. 这是一个生活中的例子:比如说你要 我借给你一本书,我到了你宿舍,但是你人不在宿舍,于是我把书放在你的2层3号的书架上,并写了一 张纸条放在你的桌上.纸条上写着:你要的书在第2层3号的书架上.当你回来时,看到这张纸条.你就 知道了我借与你的书放在哪了.你想想看,这张纸条的作

搞定APP重设计的五个关键要点

  Material Design的东风吹过一波,但市场上根据Material Design进行设计的产品仍寥寥可数,今天好不容易捕捉到一枚@Teambition,惊喜的是,设计和产品团队在重设计的过程中总结了五个关键要点,亲测都很实用,想跟上潮流的设计师来借鉴学习吧! 导语 @Teambition :Material Design 主张将现实世界中的交互体验,应用到界面设计中来,以求用户的经验能够迁移,并更快习惯新系统.Teambition 已经根据 Material Design 重新设计了

德歌:PostgreSQL独孤九式搞定物联网

[直播预告]5月27日,阿里云高级技术专家德歌将在直播<云数据库RDS for PostgreSQL最佳实践>:https://yq.aliyun.com/webinar/join/15 ,为你分享阿里云云数据库PostgreSQL的最佳技术实战,包括PostgreSQL使用技巧.上云实战.数据迁移与同步.插件使用等内容,纯干货. 物联网行业不再仅仅只是设备的接入,设备接入后数据的采集和融合,以及融合后的分析,会为整个社会带来重要的价值.数据,让我们更真实的了解社会与自然,让人与自然.与社会更

开发unity插件——一次搞定unity编辑器常用功能

开发unity插件--一次搞定unity编辑器常用功能 这篇文章主要分享unity中与editor插件等相关的使用,比较基础,不过如果都掌握了就可以扩展写一些unity插件了,平时开发中也会提升工作效率. editor相关脚本一定要放在Editor文件夹下,继承monobehaviour的文件不要放到Editor文件夹下. monobehaviour相关的编辑器功能 首先常用的在继承monobehaviour类中写public变量可以在inspector中序列化可编辑一般人都知道了,下面是一些可