c语言封装是什么意思,在C或者C中封装是什么意思如何实现给一个例子说明即可

1,在C或者C中封装是什么意思如何实现给一个例子说明即可封装是一种行为,将数据或操作或数据加操作合并为一个整体 , 方便调用 。目前常用的或者说是主流的就是对象化封装 , 具体定义可以参看对象化 。
2,在C语言怎样对数据和操作的封装以下仅为个人理解:数据封装就是使用类似结构体的形式,将多个相关数据合并到一个结构体中,在程序中作为一个整体进行付值和调用操作 。操作封装就是对多个重复使用且具有相同功能的语句进行整合,打包成一个实现固定功能的函数 。连接数据库用标准sql语句就可以了
3,c语言的封装就是定义一个类 , 然后把它放在一个新建的文件下下面,封装起来 , ,要用的时候,直接调用出来,使得代码更简洁 , 更易懂 。封装是面向对象设计的一种性质 , c语言是面向过程的编程语言,应该不具备这种性质你这个问题是什么意思呢?c语言的封装,C语言有封装????【c语言封装是什么意思,在C或者C中封装是什么意思如何实现给一个例子说明即可】
4,c语言中可封装指啥结构体 , 利用在每个函数中传一个结构体,结构体定义为全部变量,可以实现C版得继承和封装 , 但不能实现多态;一、sizeof的概念 sizeof是c语言的一种单目操作符,如c语言的其他操作符++、--等 。它并不是函数 。sizeof操作符以字节形式给出了其操作数的存储大小 。操作数可以是一个表达式或括在括号内的类型名 。操作数的存储大小由操作数的类型决定 。二、sizeof的使用方法 1、用于数据类型 sizeof使用形式:sizeof(type) 数据类型必须用括号括住 。如sizeof(int) 。2、用于变量 sizeof使用形式:sizeof(var_name)或sizeof var_name 变量名可以不用括号括住 。如sizeof (var_name) , sizeof var_name等都是正确形式 。带括号的用法更普遍,大多数程序员采用这种形式 。注意:sizeof操作符不能用于函数类型 , 不完全类型或位字段 。不完全类型指具有未知存储大小的数据类型,如未知存储大小的数组类型、未知内容的结构或联合类型、void类型等 。如sizeof(max)若此时变量max定义为int max(),sizeof(char_v) 若此时char_v定义为char char_v [max]且max未知 , sizeof(void)都不是正确形式 。三、sizeof的结果 sizeof操作符的结果类型是size_t,它在头文件 中typedef为unsigned int类型 。该类型保证能容纳实现所建立的最大对象的字节大小 。1、若操作数具有类型char、unsigned char或signed char,其结果等于1 。ansi c正式规定字符类型为1字节 。2、int、unsigned int 、short int、unsigned short 、long int 、unsigned long 、 float、double、long double类型的sizeof 在ansi c中没有具体规定,大小依赖于实现,一般可能分别为2、2、2、2、 4、4、4、8、10 。3、当操作数是指针时,sizeof依赖于编译器 。例如microsoft c/c++7.0中,near类指针字节数为2,far、huge类指针字节数为4 。一般unix的指针字节数为4 。4、当操作数具有数组类型时 , 其结果是数组的总字节数 。5、联合类型操作数的sizeof是其最大字节成员的字节数 。结构类型操作数的sizeof是这种类型对象的总字节数,包括任何垫补在内 。让我们看如下结构: struct {char b; double x;} a; 在某些机器上sizeof(a)=12,而一般sizeof(char)+ sizeof(double)=9 。这是因为编译器在考虑对齐问题时,在结构中插入空位以控制各成员对象的地址对齐 。如double类型的结构成员x要放在被4整除的地址 。6、如果操作数是函数中的数组形参或函数类型的形参,sizeof给出其指针的大小 。四、sizeof与其他操作符的关系 sizeof的优先级为2级,比/、%等3级运算符优先级高 。它可以与其他操作符一起组成表达式 。如i*sizeof(int);其中i为int类型变量 。五、sizeof的主要用途 1、sizeof操作符的一个主要用途是与存储分配和i/o系统那样的例程进行通信 。例如: void *malloc(size_t size), size_t fread(void * ptr,size_t size,size_t nmemb,file * stream) 。2、sizeof的另一个的主要用途是计算数组中元素的个数 。例如: void * memset(void * s,int c,sizeof(s)) 。六、建议 由于操作数的字节数在实现时可能出现变化 , 建议在涉及到操作数字节大小时用sizeof来代替常量计算 。5,在c中封装是什么意思封装的概念可以把程序按某种规则分成很多“块“,块与块之间可能会有联系,每个块都有一个可变部分和一个稳定的部分 。我们需要把可变的部分和稳定的部分分离出来,将稳定的部分暴露给其他块,而将可变的部分隐藏起来,以便于随时可以让它修改 。这项工作就是封装.例如:在用类实现某个逻辑的时候 , 类就是以上所说的块,实现功能的具体代码就是可变的部分,而public的方法或者属性则是稳定的部分 。用属性来实现封装属性是c#引入的一种语言成分,只有很少的语言支持属性 。通过对属性的读和写来保护类中的域 。第一种方法体身也是一种好的方式,但用属性来实现封装会更方便 。现在我们来看一个例子:using system;public class Department{private string departname;public string Departname{get{return departname;}set{departname=value;}}}public class Departmentmain{public static int Main(string[] args){Department d= new Department();d.departname="Communication";Console.WriteLine("The Department is :",d.Departname);return 0;}}通过上面的例子,我们可以看到如何通过属性来实现封装 。属性具有两种操作get和set 。Get用来返回属性域的值 。Set通过value这个变量来给属性域赋值 。属性可以设为只读的(read-only) 。这只需属性只具有一个set操作 。只读属性using system;public class ReadDepartment{private string departname;public ReadDepartment(string avalue){departname=avalue;}public string Departname{get{return departname;}}}public class ReadDepartmain{public static int Main(string[] args){ReadDepartment d= new ReadDepartment("COMPUTERSCIENCE");Console.WriteLine("The Department is: ",d.Departname);return 0;}}在上面的例子中我们看到了如何来实现一个只读的属性 。类ReadDepartment拥有一个Departname属性只实现了get操作 。它省略了写操作 。这个特别的类拥有一个构造器,用来接受一个字符串变量 。类ReadDepartmain中的Main方法创建了一个新的对象d 。对像d的实例使用了类ReadDepartment带有一个字符串参数的构造器 。因为上面的属性是只读的,所以我们不给给域departname赋值并且我们只侧读取此域中的值 。当然属性也可以是只写的(write-only),这只需属性只具有一个get操作 。只写属性using system;public class WriteDepartment{private string departname;public string Departname{set{departname=value;Console.WriteLine("The Department is :",departname);}}}public class WriteDepartmain{public static int Main(string[] args){WriteDepartment d= new WriteDepartment();d.departname="COMPUTERSCIENCE";return 0;}}在上面的例子中我们看到了如何来实现一个只写的属性 。类WriteDepartment拥有一个Departname属性只实现了set操作 。它省略了读操作 。封装就是吧里面实现的细节包起来,这样很复杂的逻辑经过包装之后给别人使用就很方便 , 别人不需要了解里面是如何实现的 , 只要传入所需要的参数就可以得到想要的结果 。其实这和黑盒测试差不多就是比如你有橘子 苹果 荔枝 等等水果 。把他们放到一个箱子里 , 别人就无法看见了封装 继承 多态乃是面向对象语言的三大特性其中封装又是最基础最重要的一点没有了封装 类 对象 属性还有方法从何而来反过来 就是因为有了封装你才可以把现实中的万事万物变成你脑中的一个自定义的类从而又衍生出一个个活生生的对象不光如此 你还让各个对象都有了自己的属性 方法来表达你的心思所以 有了封装 乐哉纠正下.不是C#中的封装,是面向对象中的封装,意思一句话解释就是:对一个对象(事物)用代码(通常是类)的形式表示出一个独立的单元.封装就是将对象的属性和方法写在一个类里,操作时直接调用就可以,不需要了解类里面的具体实现 。举例来说:有一个人user,它有name,sex,age等属性,有adduser,deleteuser等操作 。我们就可以在user封装成一个类,需要用时调用类里的对象属性或者方法就可以了 。

    推荐阅读