C/C++
文章平均质量分 75
青山_绿水
这个作者很懒,什么都没留下…
展开
-
char* str和char str[]的区别
我在VS2008平台上编写例程如下:str和char str[]的区别" style="border-style:none">ViewCode 1 #include "stdafx.h" 2 #include string.h> 3 4 char* reverse(char* str) 5 { 6 int len = strlen(str); 7 if (转载 2015-06-09 19:15:03 · 1392 阅读 · 0 评论 -
函数返回局部变量
一般来说,函数是可以返回局部变量的。 局部变量的作用域只在函数内部,在函数返回后,局部变量的内存已经释放了。因此,如果函数返回的是局部变量的值,不涉及地址,程序不会出错。但是如果返回的是局部变量的地址(指针)的话,程序运行后会出错。因为函数只是把指针复制后返回了,但是指针指向的内容已经被释放了,这样指针指向的内容就是不可预料的内容,调用就会出错。准确的来说,函数不能通过返回指向栈内存的指针(注意这转载 2015-06-09 20:00:55 · 652 阅读 · 0 评论 -
32位和64位各变量字节数
Win64, 也就是X64编译配置下:char:1字节;short:2字节;int:4字节;long:4字节;long long:8字节;float:4字节;double:8字节;long double:8字节;wchar_t:2字节;bool:1字节;char*:8字节;bool*:8转载 2015-06-09 19:22:22 · 2225 阅读 · 0 评论 -
cout输出字符型指针地址值的方法
先给出通过字符型指针输出字符串的示例代码,如下:#include using std::cout;using std::endl;int main(){const char *pszStr = "this is a string";// 输出字符串cout // 显然不会输出地址值cout return 0;}对于要使用cou转载 2015-06-09 19:43:20 · 895 阅读 · 0 评论 -
char* char[]的区别
1. 问题引入char *c = "abc"和char c[]="abc",前者改变其内容程序是会崩溃的,而后者正确。程序演示:#include using namespace std;main(){ char *c1 = "abc"; //等价于char* c1; c1="abc"; 即字符串实际上是被当做地址值来操作的! char c2[] =转载 2015-08-23 21:31:58 · 506 阅读 · 0 评论 -
char *,char **,char a[ ],char *a[]
1 字符数组 C语言中规定数组代表数组所在内存位置的首地址,也是 str[0]的地址,即str = &str[0]; 而printf("%s",str); 为什么用首地址就可以输出字符串?因为还有一个关键,在C语言中字符串常量的本质表示其实是一个地址,这是许多初学者比较难理解的问题。 举例: char *s ;转载 2015-08-23 22:23:12 · 1577 阅读 · 1 评论