摘要:
printf("%c\n",*str);//输出首字符printf("%s\n",str);//输出整串字符printf("%p\n",str);//输出字符串首字符地址printf("%p\n",&str);//输出指针str的地址 阅读全文
摘要:
[cpp] view plaincopyprint?char*get_str(void){charstr[]={"abcd"};returnstr;} char str[] = {"abcd"};定义了一个局部字符数组,尽管是数组,但它是一个局部变量,返回它的地址肯定是一个已经释放了的空间的地址。 此函数返回的是内部一个局部字符数组str的地址,且函数调用完毕后 此数组被销毁,所以你返回的指针也就指向一块被销毁的内存,这种写法是错误的。[cpp] view plaincopyprint?char*get_str(void){char*str={" 阅读全文
摘要:
一.为何要字节对齐简单来说就是提高cpu对内存的访问效率。为了访问未对齐的内存,处理器需要作两次内存访问;然而,对齐的内存访问仅需要一次访问。比如有些平台每次读都是从偶地址开始,如果一个int型(假设为32位系统)存放在偶地址开始的地方 ,那么读一个周期就可以读出这32bit,而如果存放在奇地址开始... 阅读全文