一、变量、数据类型、数据长度
1、变量是计算机中一块内存区域的名字。
2、数据类型是数据存入在内存中的方式。
3、数据长度为变量存放在内存中的大小、和数据类型有关,和机器字长有关(char[1],short[2],int[2,4],long[4,8],float[4],double[8])。
二、指针与数组
1、数据指针:数组指针可以说成是”数组的指针”,首先这个变量是一个指针,其次,”数组”修饰这个指针,意思是说这个指针存放着一个数组的首地址,或者说这个指针指向一个数组的首地址。
2、指针数据:指针数组:指针数组可以说成是”指针的数组”,首先这个变量是一个数组,其次,”指针”修饰这个数组,意思是说这个数组的所有元素都是指针类型,在32位系统中,指针占四个字节。
3、多级指针与多级数组的互换:
1)* (p+i )= p[i]
2)* (* (p+i )+j)= p[i][j]
3)* ( *( *(p+i)+j)+k)=p[i][j][k]
三、Linux动态库
1、动态库代码是在可执行程序运行时才载入内存的,在编译过程中只是简单的引用。
2、动态库的优缺点:1)优点:节省了内存,并易于更新;2)缺点:程序运动略慢;
3、动态库的制作与使用:1)生成与位置无关的目标文件(.o文件):gcc -fPlC a.c b.c c.c -c;2)制作动态库:gcc -shared -o libmytest.so a.o b.o c.o;3)使用动态库:gcc main.c -L ./ -lmytest -I / -o app;