随笔分类 - C
摘要:1、安装相关包 sudo apt-get install build-essential gnustep gobjc gnustep-make libgnustep-base-dev gnustep-devel2、编译hello.m 文件 gcc `gnustep-config --objc-flags` hello.m -o hello -lgnustep-base注意:1、“`” 不是单引号 2、-lgnustep-base 在某些编译器上可能需要放到编译文件的后面,原因是需要先知道源文件引用的库,才可以从链接库中获取对应的 3、需要引用链接库相关链接:http://www.eifr...
阅读全文
摘要:############### 类#############友元(friend)、可变成员(mutable)、静态成员(static)构造函数:(冒号后面为初始化列表,用来初始化数据成员)Fun():x(5),y(10){}成员函数:必须在类内部声明,但是不必在内部定义。如果在内部定义,则默认为inline。外部定义:必须用域操作符'::'指定所属类名。例如:ClassName::fun1(){}struct: 如果类用该关键字定义,则默认成员是公有的。class :默认成员是私有的。类的访问符:public 、private、protected。 访问符出现的次数、位置都没有
阅读全文
摘要:按照默认规定,只有一个参数的构造函数也定义了一个隐式转换,将该构造函数对应数据类型的数据转换为该类对象,如下面所示:class String {String ( const char* p ); // 用C风格的字符串p作为初始化值//…}String s1 = “hello”; //OK 隐式转换,等价于String s1 = String(“hello”);但是有的时候可能会不需要这种隐式转换,如下:class String { String ( int n ); //本意是预先分配n个字节给字符串String ( const char* p ); // 用C风格的字符串p作为...
阅读全文
摘要:1、const 修饰函数:常成员函数:const放在参数列表后面修饰成员函数表示常成员函数。 特性:a、const 成员函数不能修改它所在对象的数据成员。b、const 成员函数只能访问const 成员函数,成员函数只能访问成员函数。参考链接:http://blog.csdn.net/eric_jo/article/details/4138548
阅读全文
摘要:1、指针作为参数传递进去的仅仅只是指针的值,而不是指针的地址,或者说只是指针的一份拷贝,例如:void pointer(int *p){ int a = 11; printf("\nthe p is %p , addr is %d, *p is %d",p , &p, *p); *p =11; printf("\nthe p is %p , addr is %d, *p is %d",p , &p, *p); p = &a; printf("\nthe p is %p , addr is %d, *p is %d&quo
阅读全文
摘要:const int a = 1; 63 int b = 2, c = 3; 64 const int *p1=&a;//ok,指针指向只读内存块 65 const int *p3=&b;//ok,只读 可以指向 读写 66 *p1= c;//error 只读,不能写入 67 p1 = &c;//ok , 可以指向另外一块内存 68 *p3 = c;//error 只读,不可写入 69 p3 =&c;//ok 70 71 int * p4=&a;// &a 读写 不可以指向 只读 72 73 int *const p2=&b;//ok ,指
阅读全文
摘要:链表结构:struct Node{ Node *next; int num;};倒置算法:Node* reverse(Node *root){ if(root == NULL || root->next ==NULL)return root; Node *p1,*p2,*p3; p1 = root; p2 = p1->next; p3 = p2->next;//p3用来保存p2后面的链表,以免p1、p2倒置后,链表丢失。 p1->next = NULL; while(p3!=NULL) { p2->next = p1; p1 = p2; p2 = p3; ...
阅读全文
摘要:1、变量的初始化int value(1024);// 直接初始化int value = 1024;//复制初始化在c++ 中 赋值与 初始化是两个不同的概念。2、引用int value = 11;const int &va = value;//合法的,只读的变量可以绑定到 读写变量。(猜测:只读的va绑定到value也不会改变,value内存块的属性)int &vb = va;//非法的,可读写变量不可以绑定到只读变量。(猜测:vb绑定到va导致va指向内存可以被vb读写,改变了该内存的属性)3、enum 枚举类型enum color {red ,green ,blue}; 可
阅读全文
摘要:struct 占用的内存大小:struct{char a;short b;int c;char d;}//占用12字节struct{char a;char b;short c;int d;}//占用 8 个字节struct{char a:1;char b:1;}//占用1个字节struct{char a:1;int b:1;}//占用4个字节涉及到的概念:内存对齐(提升寻址效率)、
阅读全文
摘要:1、 -Wall 选项表示 输出所有的警告2、 gcc -g hello.c -o hello 编译文件 (-g 将源文件与目标文件关联) 并且可以使用 adb hello 进入调试模式 start 命令开始调试 n 下一步 s 进入函数 i locals 查看当前stack 中的变量。3、#include “send.h” 导入静态链接库 1)、gcc -c send.c 得到 send.o 2) 、ar rs libsend.a send.o 将.o文件 打包为.a文件 3)、gcc main.c -Lsend -lsend -Isend -o main ,生成可执行文件 ...
阅读全文

浙公网安备 33010602011771号