1、数组是什么?
数组是具有相同的数据类型且按一定次序排列的一组变量的集合体,构成一个数组的这些变量称为数组元素。 数组有一个统一的名字叫数组名。数组按下标个数分类有一维数组,二维数组等,二维以上数组通常称为多维数组。
2、指针是什么?
指针是变量的一种,里面是一个地址,通过这个地址找到要找的数据。
3、数组和指针的关系?
数组名就是数组在内存存放的数组首元素地址,指针变量是用于存放变量的地址,可以指向变量,当然也可以存放数组的首址或者数组元素的地址,这就是说,指针变量可以指向数组和数组元素,对于数组而言,数组和数组元素的引用,也可以使用指针变量。
当数组出现在一个表达式中时,它和指向数组中的第一个元素的指针时等价的,因此数组和指针几乎可以互换使用。
4、函数名和函数类型符对函数是否有影响?
5、数组作为参数传递给函数时,为什么不可以通过sizeof得到数组的大小?
答:当把数组作为函数的参数时,你无法在程序运行时通过数组参数本身告诉函数该数组的大小,因为函数的数组参数相当于指向该数组第一个元素的指针
5、函数的声明和定义有什么区别?
函数的声明只是声明一个函数的名字,不涉及函数的实现,没有函数体;
函数的定义则包含了一个函数的所有部分。
6、函数的形参和实参?
函数定义中的参数时形式参数,函数的调用者提供给函数的参数时实际参数。
7、main函数的返回值为什么一定是int型的?即return0
return 0是表示程序正常编译退出所返回的值,如果我们返回别的值,程序会认为异常退出。
8、main函数一定是c的入口点吗?
默认情况下真正的程序入口点是运行时库的一个函数 它会执行运行时库的初始化 处理命令行 编译器会根据你的main形式决定如何调用你的main,所以多个形式的main只是运行时库联合编译器提供的支持。
10、如何进行参数的传递?
答:指针变量赋给形参的“值”本身是一个地址,这个地址为形参访问其所指变量创造了可靠条件,形参可以对指针本身进行操作,也可对指针所指的变量进行操作,但这两种操作都不影响实参本身的值。数组名本身是一个特殊的指针变量,其值是数组的首地址,因此作为实参时其传给形参的是内存中某指定单元的地址,调用过程中形参数组与实参数组占用同一段内存单元,因此对形参数组的操作也就是对实参数组的操作,对实参数组与形参数组来说数据传递表现为“双向”的,而对实参变量与形参变量而言数据的传递仍然是单向的。