c 语言基础

来源:互联网 发布:淘宝秒杀群怎么找人 编辑:程序博客网 时间:2024/06/10 07:47

1:引用和指针:

(1)引用时候同时需要进行初始化,指针是不需要得

(2)指针可以指向的值可以是一个空值,但是空值的引用是不存在的,通过指针对变量的操作是间接的,但是引用是直接的,对引用的操作就是对目标变量的操作

2:#define  #ifdefine   #ifndefine  #endif

避免头文件的重复引用

3:全局变量,局部变量在内存区的分配

全局变量分配在静态存储区,局部变量在堆栈中分配

(1)深层次的递归调用

(2)产生了内存泄漏

4:不能做swich的参数类型:实型

5:局部变量和全局变量重名的问题

可以的,局部变量和全局变量重名的时候,就会先使用局部变量,要是需要使用全局变量加上“::”的作用于限定就可以进行调用了,当函数中的static修饰了全局变量的时候,这个变量就可以在其他的函数中调用

6:几种常见的无线循环表达

(1)while(1)

(2)for(;;)

(3)goto LOOP(在汇编中经常使用)

7:

5、程序代码区—存放函数体的二进制代码 例子程序 这是一个前辈写的,非常详细
//main.cpp int a=0; //全局初始化区
char *p1; //全局未初始化区
main()
   {
   int  b;//栈
   char s[]="abc"; //栈
   char *p2; //栈
   char *p3="123456"; //123456\0 在常量区,p3 在栈上。
   static int c=0; //全局(静态)初始化区
   p1 = (char*)malloc(10); p2 = (char*)malloc(20); //分配得来得 10 和 20
字节的区域就在堆区。
strcpy(p1,"123456"); //123456\0 放在常量区,编译器可能会将它与 p3 所向
"123456"优化成一个地方。 }
6:堆和栈的区别

(1)内存申请方式不同

(2)内存分配大小不同

(3)执行速率不同

(4)申请后的响应不同

(5)存储内容的不同

7:预编译的使用

答:预编译又称为预处理,是做些代码文本的替换工作。

处理#开头的指令,比如拷贝#include包含的文件代码,#define 宏定义的替换,条件编译等,就是为编译做的预备工作

的阶段,
主要处理#开始的预编译指令,预编译指令指示了在程序正式编译前就由编译器进行的操作,

可以放在程序中的任何位置。

c 编译系统在对程序进行通常的编译之前,先进行预处理。

c 提供的预处理功能主要有以下三种:1)宏定义 2)文件包含 3)条件编译

1、 总是使用不经常改动的大型代码体。

2、程序由多个模块组成,所有模块都使用一组标准的包含文件和相同的编译选项。在这种

情况下,可以将所有包含文件预编译为一个预编译头。
8:三种常见的数据模型

层次模型  网状类型,关系模型

9:结构和联合的区别

(1)结构和联合都是由多个不同的数据类型组成,在任何的时候联合中值存放一个被选中的类型

(2)结构各个成员的内存是独立的  成员是多个共用一块内存,成员函数的重写会覆盖以前的成员,但是结构体是不会的

10:区分函数编译时c++还是c

#ifdefine  __cplusplus

cout<<"c++"

else 

cout<<"c";

end;

11:





















6:



原创粉丝点击