所以我一直在看大学关于C++的讲座,我学到了很多东西,但有一件事我还是听不懂:
为什么有时必须这样做?
char* test = "testing";
Run Code Online (Sandbox Code Playgroud)
从我读过/看过的内容来看,我只是不明白你为什么要这样做*.根据我的想法,我只*知道你有一个地址,但也许我只是错了.
Mat*_*haq 17
这是一个char:
char c = 't';
Run Code Online (Sandbox Code Playgroud)
它只能容纳一个charACTER在同一时间!:)
这是一个C字符串:
char sz[] = "test";
Run Code Online (Sandbox Code Playgroud)
它可以"保持"不仅仅是一个词 char.
A char*指向多个序列的内存位置char.
char sz[] = {'t', 'e', 's', 't', 0};
const char *psz = "test";
Run Code Online (Sandbox Code Playgroud)
注意:
*psz == 't';
*(psz + 1) == 'e';
*(psz + 2) == 's';
*(psz + 3) == 't';
*(psz + 4) == 0; // NUL
Run Code Online (Sandbox Code Playgroud)
和:
sz[0] == 't';
sz[1] == 'e';
sz[2] == 's';
sz[3] == 't';
sz[4] == 0; // NUL
Run Code Online (Sandbox Code Playgroud)
字符类型只能代表一个字符。当您有一个字符序列时,它们会在内存中紧挨着堆放,然后返回该序列中第一个字符的位置(分配给测试)。测试不过是指向“测试”中第一个字符的存储位置的指针,它表示它所指向的类型是一个字符。
| 归档时间: |
|
| 查看次数: |
5767 次 |
| 最近记录: |