关闭

C语言小知识总结1

151人阅读 评论(0) 收藏 举报

函数的实参和形参之间是如何进行数据传递的?

当调用函数的时候,实参的值复制给了形参,形参的值参加运算。即这便是“单项传递”。

但是,如果采用数组名和指针作为函数参数的时候,情况就大不一样,因为数组名或者指针作为函数参数的时候并不是传递 的数据的值,而是地址!!!即,这个便是双向传递了~~


c语言:调用函数,交换两个变量的值。

//程序1,使用整型参数: #include <stdio.h> void swap(int x , int y) { int temp; temp=x; x=y; y=temp; //交换形参x,y的值 } void main() { int a,b; printf(“请输入两个整数a和b:”); scanf("%d%d",&a,&b); printf("调用函数...
这个无法交换数据。
C语言函数参数的基本规则是值传递,所以传递时只能实现实参向形参的单向的、值的传递。这就是为什么需要使用指针才能实现值交换的原因。
类似这种,这种参数传递关系称为“传值调用”

当一数组作为函数参数调用一个函数的时候,传递到函数中的是该数组的内存地址的首地址,即传地址调用,这个是有很大区别的~~~



求大神帮忙 int i= *(int *)&x这行代码是什么意思
float x=1.1f;
int i= *(int *)&x;  //这行代码是什么意思

int i= *(int *)&x; 将变量x的地址强制转换为“指向整型的指针”,然后对其进行间接访问。



如果希望在函数撤退后,其中的某些变量的值仍然被保留,以备以后的函数继续调用继续使用,则应变量定义为“”static“”存储类别,即“”静态存储类别“”

而“”动态存储类别“”每次调用的时候,都需要重新定义变量,重新为其分配内存


函数不可以嵌套定义,可以嵌套调用~~


C语言有三种预处理命令:

(1)宏

(2)文件包含

(3)条件编译



条件编译的三种格式:

(1)标识符#ifdef

          程序段一

#else 程序段2

#endif

如果定义的标识符为名称的宏,则编译程序段一,否则编译程序段2.

(2 )#ifndef 标识符

程度段一

#else 程序段二

#endif


(3)#if 表达式程序段一

#else 程序段2

#endif

如果表达式为真,则编译程序段一,否则编译程序段2。



与结构体不同的是,共用体中的各数据成员共用相同的一片内存区,一个共用体变量所需要的内存空间取决于数据成员中占用内存空间最多的那一个数据成员。意思就是说结构体中任何一个成员变量的改变会影响到其他数据 的改变。所以共用体我觉得没有任何意义


1
0
查看评论

C语言小知识

1.C语言中如何引用一个已经定义的全局变量? Answer:①引用头文件的方式;②引用extern关键字。 注:※⑴如果引用头文件方式引用某个在头文件中声明的全局变量,在写入头文件名称时若出现错误书写,那么在编译期间则会报错。   ※⑵如果引用ext...
  • Xiao__Tian__
  • Xiao__Tian__
  • 2016-04-04 15:32
  • 878

C语言第四章重要知识总结

C语言第四章重要知识总结 第四章 键盘输入和屏幕输出 单个字符的输入/输出 4.1 ● 字符\n代表一个字符 ● ASCII码值小写英文字母比大写英文字母值大32 ● 函数getchar()没有参数,函数的返回值就是从终端键盘读入的字符 函数printf()的格式转换说明 ...
  • mmsx2017
  • mmsx2017
  • 2017-10-25 10:58
  • 69

C语言重要常用知识点梳理

C语言重要常用知识点
  • feng2qing
  • feng2qing
  • 2015-11-21 20:22
  • 3741

C语言重要知识点总结(一)

C语言重要知识点总结(一)最近重新看了下C语言,发现先前学习的时候很多的重点都被忽略了,现在回头看发现了很多以前没有注意的东西,所以写博客记录下,方便以后可以参考查询。 变量的存储类别C语言中变量的存储类别有auto,register,extern和static。下面将对以下四个存储类别进行详细的介...
  • c1s2p3
  • c1s2p3
  • 2015-10-15 20:04
  • 947

C语言基础知识梳理总结

C语言是当代人学习及生活中的必备基础知识,应用十分广泛,下面为大家带来C语言基础知识梳理总结,C语言零基础入门绝对不是天方夜谭!
  • g984160547
  • g984160547
  • 2017-03-06 09:54
  • 4174

c语言面试知识总结

1、 Const: (1)const修饰的是一个只读变量 (2)节省空间,避免不必要的内存分配,提高效率 编译器通常不为普通const只读变量分配存储空间,而是将它们保存在符号表中,这使 得它成为一个编译期间的值,没有了存储与读内存的操作,使得它的效率也很高。 例如: #define M...
  • jyx1370979991
  • jyx1370979991
  • 2014-09-23 21:58
  • 1315

线性表知识点总结一(第三天)

1. 线性表(List): 定义:由零个(称为空表)或多个数据元素组成的有限序列。 数据类型:是指由一组性质相同的值得集合及定义在此集合上的一些操作的总称 数据类型分为原子类型(不可再分解的基本类型)和结构类型(由若干个类型组合而成) 抽象:抽取出事物的普遍性本质。 数据:线性表的数据对象...
  • qq_31151129
  • qq_31151129
  • 2016-07-20 16:07
  • 420

C语言小知识(1)

1、包含头文件 <>是在标准库里面找 “ ”是在当前目录下找头文件,找不到的话会在便准库里面找2.整数,指针,实数,BOOL变量和零值比较 整数: int num; if(num==0) if(0==num)可以用于规范错误 if(num=0)编译器不会报错!指针 cha...
  • qcz_nuist
  • qcz_nuist
  • 2017-12-02 22:13
  • 52

指针知识

指针相关知识
  • Wang_yf_
  • Wang_yf_
  • 2016-10-19 15:34
  • 126

c语言指针知识(1)

这些知识来自一些资料的总结,我觉得挺有用的,就截图下来,如果对你有一点点帮助,就赞一个,谢谢。     思路:从变量名处起,根据运算符优先级结合,一步一步分析。
  • ljt2724960661
  • ljt2724960661
  • 2016-04-26 17:00
  • 161
    个人资料
    • 访问:654次
    • 积分:40
    • 等级:
    • 排名:千里之外
    • 原创:2篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章存档