我是编程新手。 我的第一个编程语言是C语言。 我发现有些东西很难理解。
我学到了在C语言中我们可以使用字符数组来表示字符串,如下:
char status[10] = "Married";
我已经了解到这种方法的问题在于编译时必须告知status
数组的大小。
但现在我已经学习到可以使用char
指针表示类似于string
的字符串,如:
char status[10] = "Married";
char *strPtr;
strPtr = status;
我没有很好地理解它。我的问题是 -
如何使用
strPtr
获取索引为4(即 Married 中的 i )处的字符?status
中字符串的末尾有一个空字符(\0
),其由char
数组表示-M
-a
-r
-r
-i
-e
-d
-\0
。因此,通过使用空字符(\0
),我们可以理解字符串的结尾。当我们使用strPtr
时,如何理解string
的结尾?
*(strPtr+4)
会给你字符i
。strPtr
也指向status
,所以它在末尾也有(相同的)空字符(\0
)。*(arrayOrPointer + X)
等同于arrayOrPointer[X]
。 - Some programmer dudesizeof(&array)
返回什么? - Grijesh Chauhan