C/C++
C/C++
Peel Chen
这个作者很懒,什么都没留下…
展开
-
sizeof和strlen的区别
char *str1 = “abcde”; char str2[] = “abcde”; char str3[8] = {‘a’}; char ss[] = “0123456789”;其计算结果为: sizeof(str1) = 4; sizeof(str2) = 6; sizeof(str3) = 8; sizeof(ss) = 11;str1 是一个指针,只是指向了字符串"abcde"而已。所以sizeof(str1)不是字符串占的空间也不是字符数组占的空间,而是一个指针所占的空间。在C/C++中一原创 2021-07-09 22:22:23 · 120 阅读 · 0 评论 -
memset、memcpy函数优化
void *memset4(void *src, int c, size_t n){ char *tmpsrc; int tmp; if (src == NULL) return NULL;tmpsrc = (char*)src; if ((unsigned long)tmpsrc & 0x3){ while (n--) *tmpsrc++ = (char) c; } else { size_t wordnum; size_t slice; wordnu原创 2021-05-31 15:42:20 · 1206 阅读 · 1 评论 -
结构体初始化
定义struct Student{int number,age;char name[20];float score;};用在旧的C的代码中(具体多旧没有查),帮助struct。以前的代码中,声明struct新对象时,必须要带上struct,即形式为: struct 结构名 对象名,如:struct Student p1;而在C++中,则可以直接写:结构名 对象名,即:Student p1;估计某人觉得经常多写一个struct太麻烦了,于是就发明了:typedef&原创 2021-04-25 21:31:26 · 1053 阅读 · 0 评论 -
memset使用注意事项
memset 函数是内存赋值函数,用来给某一块内存空间进行赋值的;包含在<[string.h]>头文件中,可以用它对一片内存空间逐字节进行初始化;注意: 该函数是按一个字节一个字节来给数组或者是结构体赋值。原型为 :void *memset(void *s, int v, size_t n);这里s可以是数组名,也可以是指向某一内在空间的指针;v为要填充的值;n为要填充的字节数;void *memset(void *s,int c,size_t n) 作用:将已开辟内存空间s的首n原创 2021-04-25 21:31:03 · 685 阅读 · 0 评论 -
include头文件报错unknown type name
记录一个在工作中遇到的小问题,在引用头文件时提示如下错误[ error][src/…/…/…/guiMg/include/internals.h][347][ unknown type name ‘INVRGN’][ error][src/…/…/…/guiMg/include/internals.h][348][ unknown type name ‘PGCRINFO’][ error][src/…/…/…/guiMg/include/internals.h][416][ unknown type原创 2021-04-21 23:38:40 · 6952 阅读 · 0 评论