传智播客C提高讲义
传智扫地僧
1程序内存模型
就业班引言 问题引出
企业需要能干活的人
C学到什么程度可以找工作?
对于C/C++初级开发者,怎么达到企业的用人标准 就业问题 问:
老师,有没有一个框框? 有没有一个标准啊? 我们学什么哪?
C工程开发需要什么(培养什么能力)
成熟的、商业化的信息系统在分区、分层
信息系统的技术模型在分层
找出对我们初学者最近的那一层(哪些能力是你入行前,必须要掌握的)
C项目开发的套路(一套接口)
...\\n\ getchar(); return 0; } sizeof是操作符,不是函数;sizeof测量的实体大小为编译期间就已确定
数据类型别名
数据类型可以理解为固定大小内存块的别名,请问数据类型可以起别名吗? int main() { } ...\\n\ getchar(); return 0; 数据类型的封装
1、void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。 2、用法1:数据类型的封装
int InitHardEnv(void **handle);
典型的如内存操作函数memcpy和memset的函数原型分别为
void * memcpy(void *dest, const void *src, size_t len); void * memset ( void * buffer, int c, size_t num );
3、用法2: void修饰函数返回值和参数,仅表示无。 如果函数没有返回值,那么应该将其声明为void型 如果函数没有参数,应该声明其参数为void int function(void) {return 1;}
4、void指针的意义
C语言规定只有相同类型的指针才可以相互赋值 void*指针作为左值用于“接收”任意类型的指针 void*指针作为右值赋值给其它指针时需要强制类型转换 int *p1 = NULL;
char *p2 = (char *)malloc(sizoeof(char)*20);