第三天
一、字符串处理函数
strlen()函数是返回字符串的字符个数,字符串尾的零并不返回。
strcpy(char to[ ] , const char from[ ]),其中to是接受字符串的数组,将from存放的字符串或字符串常量拷贝到to数组中。
strcpy中from的字符数超过to,它还是会拷贝只是说已经占用到其它相邻的内存,用cout<<to,它会一直输出直到读到字符串结束符。
strncpy(char to[ ] , const char from[ ] ,int size)其中size可以限制最多拷贝的字符数。
strcat和strcpy类似,如果字符串超数,会影响到相邻内存单元,直到读取字符串结束符。
strncat(char s1[ ],const char s2[ ],int size )
int strcmp(const char s1[ ],const char s2[ ]);
string类型的变量使用堆内存这种动态内存,能动态改变字符串的长度,因此不能用sizeof来返回长度。
二、结构体
结构体中的静态成员变量,其实是一个声明,然后需要在源文件中进行定义加上域作用符。
位域可以研究一下。
enum struct 或 enum class 对变量进行赋值时需要加上作用域;
联合体里面的变量公用一块存储空间,也就是说
比如有{ int float double}三种成员变量,实际上只占用8个字节。
int (*bp)[4] 定义了一个数组的指针bp指向int[4]数组。
bp的类型为int(*)[4]
char *s1="886";
char *s2="886"; 先申请一段空间将字符串放入再将地址返回,这里的886时放在串池中,也就是说*s1==*s2.
形参为char*,实参通常为一个字符串,这是惯用法,没为什么。。。。
浙公网安备 33010602011771号