C/C++
onlyloveonce
我是学生。其实我还是程序猿
展开
-
char *s1 = "hello"和char s2[]="world"的区别
转自:http://zhidao.baidu.com/question/65483282.html两者的区别悬殊!char *s1="hello"这个是一个字符串常量,你可以像一个字符数组一样使用它,但是你不能更改这个字符串的值比如 s1[2]='e'这样不行,s1 放在全局数据区。char s2[]="world";是一个字符串变量,可以被修改,s2 是函数的栈空间区域,函数执行完成,这个空间就...转载 2018-05-09 23:21:05 · 2302 阅读 · 0 评论 -
C++ 值传递、指针传递、引用传递详解
最近写了几篇深层次讨论数组和指针的文章,其中提到了“C语言中,所有非数组的形式参数传递均以值传递形式”数组和指针背后——内存角度语义"陷阱"---数组和指针而关于值传递,指针传递,引用传递这几个方面还会存在误区, 所有我觉的有必要在这里也说明一下~下文会通过例子详细说明哦值传递:形参是实参的拷贝,改变形参的值并不会影响外部实参的值。从被调用函数的角度来说,值传递是单向的(实...转载 2018-07-22 22:15:45 · 116 阅读 · 0 评论 -
单链表就地逆置的两种方法(递归与普通循环)
//1.用递归算法,对于不带头结点的单链表(a1,a2,a3,a4,a5,a6)逆置后的结果为(a6,a5,a4,a3,a2,a1)//考虑递归算法,若只有一个结点,则直接返回,若存在两个结点(a1,a2)则需要做的操作有: a2->next=a1;a1->next=NULL;return a2;//a2即新的头结点,若有三个结点,则应先将子链(a2,a3)先逆置且返回该...转载 2018-08-23 21:37:14 · 6380 阅读 · 0 评论 -
C语言中结构体变量到底占多大空间
很久之前就想将内存对齐这块儿知识点总结记录下来,无奈本人患有very very严重的拖拉症,直到今天才下决心将这件事儿解决掉,废话不多说了,开工!(ps:本人所用编译器version为 gcc Ubuntu4.9.2-10 ubuntu13 4.9.2) 结构体到底占多大的空间呢?先看一下下面这道题的输出结果:#include<stdio.h> typed...转载 2018-09-07 21:56:30 · 4730 阅读 · 0 评论