C和指针学习笔记 (1)
C和指针学习笔记 (1)
第二章 基本知识
环境:分为翻译和执行2个过程。其中翻译可以理解为是一个从程序—目标代码—链接器的过程。编译过程有:
1预处理器:处理#define #include这一类代码的过程;
2源代码解析:产生错误和警告;
3优化器:有利于优化代码,提高效率。
执行的过程有
1 程序载入内存:在OS的帮助下,将代码载入到内存里,这样才可以跑得了啊
2 执行:不同地方声明的变量都在内存中不同的位置。比如局部变量等就存在堆栈中,而静态变量则存在静态区
3 终止:这里也分为正常终止(比如跑到主函数最后一句返回)和异常终止等等
词法规则
ANSI C规定了程序的函数声明是描述了函数要操作的数据类型,而函数则是定义了要执行的工作
词法里的东西没什么可多说的,注释不能嵌套,标识符不能用关键字或者数字开头,程序风格的缩进式都是老生常谈,唯一新看到的是三字母词:举个例子就是??(意思是[ ,??/的意思是\ ,这个从来没有用过,不过好像也没啥用。
举个例子 printf(“Delete file (are you really sure??):””);
第三章 数据
基本数据类型
这本书和谭浩强的不同之处就是把指针加到了基本数据类型,所以就是大类4种:整型,浮点数,指针,聚合类型。老外理解的不一样,不过以前老师也这么说过,学了这么久也觉得指针可以成为一种数据类型,他的类型就是地址,这种理解还是比较合理的。但是声明和引用方式不大一样罢了。
整型有字符型,短整型,整型,长整型。分为有符号和无符号。由于不同的主机和不同的编译器定义的不一样,所以此书的一种说法,也是ANSI C的一种规定。1,长整型至少应该和整型一样长 2, 整型至少应该和短整型一样长。
浮点数:float,double,long double
对于浮点数也有同样类似的规定,不多说了,一个意思。总之就是你至少不能比小弟还要小,最起码是一样的。
指针:说明了一个指针常量是不可控制且无意义的,这个的理解大概就是程序员定义指针的时候无法知道编译器为其分配的地址到底是
相关文档:
#include <windows.h>
int IsGB(PTSTR pText);
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
PSTR szCmdLine, int iCmdShow)
{
static TCHAR szText[] = {TEXT ("i服,了。uy")} ;
PTSTR pText;
int i;
unsigned char ......
#apt-get install gcc (编译器)
#apt-get install gdb (调试)
#apt-get install libc6-dev (开发库)
如果没有开发库,gcc的时候就会错误
gcc h.c
h.c: In function ‘main’:
h.c:1: warning: incompatible implicit declaration of built-in function ‘prin ......
http://www.teecool.com/post/2007081104.html
内容摘要:1.写出判断ABCD四个表达式的是否正确, 若正确, 写出经过表达式中 a的值(3分)
int a = 4;
(A)a += (a++); (B) a += (++a) ;(C) (a++) += a;(D) (++a) += (a++);
关键词:C语言面试题 C++面试题 华为面试题
本文地址:http:// ......