老师:王保明
1.接口封装和设计思想引导及初步实践
API封装设计:
内存四区图:
四区简介:
在编写头文件时:
// 避免在.c里面 重复包含多次头文件
#ifndef _CLT_SOCKET2_H__
#define _CLT_SOCKET2_H__
... ... //第二遍不被定义
#endif
如下面:
#include "cltsocket.h"
#include "cltsocket.h"
#include "cltsocket.h"
并不会出错。
告诫:
1.对项目/代码作空间管理,进行编号,便于管理、查看。
2.作为开发人员,文件查看方式用详细方式,便于快速查找。
C/C++学习特点:
Java 学习、应用、做项目
C 学习、理解、应用、做项目
2.排序热身及数组做函数参数退化为指针引申
冒泡排序核心代码:
1 printfArray3(a); 2 3 for(i=0; i<10; i++) 4 { 5 for (j=i+1;j<10; j++) 6 { 7 if (a[i] < a[j]) 8 { 9 tmp = a[i]; 10 a[i] = a[j]; 11 a[j] = tmp; 12 } 13 } 14 }
结论
//1数组做函数参数,会退化为指针
//2在形参里面出现的char buf[30],int a[10] ,c/c++编译器会把它当做指针,也不会主动的分配内存,c、c++编译器会自动优化:退化为指针
// int i = 0;
int num1 = sizeof(a); //形参为a[10]:sizeof(a) == sizeof(int *) 相当于指针,只有4个字节
int num2 = sizeof(*a);
int num = sizeof(a)/sizeof(*a); //num = 1,而不是数组的长度
int num1 = sizeof(a); //数据类型不一样
//3 sizeof(a)大小不一样的实质是a的数据类型不一样,原因是数组做函数参数会退化为指针
VS备注:
shift+del 删除一行
Ctlr+u 让单词从小写变大写
Shift+ctrl+u 从大小变小写
时间: 2024-10-15 12:36:03