学习Schaum的C++书中的代码,我看到了很多使用char*、int*等的代码。 在做练习时我还看到在解决方案中有 char* 并且在我的代码中我使用了 char (没有星号)。
我想知道 char 和指针 char - 整数和指针整数之间的区别是什么?我应该在哪里使用它们?它们的含义究竟是什么?
最佳答案
带*
的变量是指针。
“普通”变量,例如 char 或 int,包含该数据类型本身的值 - 变量可以包含字符或整数。
指针是一种特殊的变量;它本身不保存值,它包含内存中值的地址。例如,char *
不直接包含字符,但它包含计算机内存中某个字符的地址。
您可以使用 &
获取“普通”变量的地址:
char c = 'X';
char * ptr = &c; // ptr contains the address of variable c in memory
然后通过在指针上使用 *
获取内存中的值:
char k = *ptr; // get the value of the char that ptr is pointing to into k
参见 Pointer (computing)在维基百科中。
关于c++ - C++ 中的 char 和 char* 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1481945/