请记住一个让我烦恼的问题.
我知道pointers,并arrays在C不同,因为pointers存储的address,而arrays商店'real' values.
但是当涉及到时我会感到困惑string.
char *string = "String";
Run Code Online (Sandbox Code Playgroud)
我读到这行做了几件事:
编译器创建一个字符数组,它具有值String.
然后,该数组被认为是a pointer,程序将指针分配给指针字符串,该指针指向first element编译器创建的数组.
这意味着,arrays被视为pointers.
那么,这个结论是真是假,为什么呢?
如果是假,什么是那么之间的差异pointers和arrays?谢谢.
我正在阅读C编程语言第二版.我参加了这个练习[第1.6节,第 1节,第 13 页.24第2版 ].
编写一个程序来打印输入中单词长度的直方图.可以很容易地绘制水平条形图的直方图; 垂直方向更具挑战性.
我认为一切都很好用,除非我试图确定最后一个字数(VARIABLE tmp)是<= 10还是> 10然后将其分配给count [tmp-1]或count [11]中的相应索引(如果是比...更棒.我甚至不关心打印一个实际的直方图,我现在想拥有一个有效的数组表示.下面是程序运行时的输出.
asdasd
_________________________________
1 2 3 4 5 6 7 8 9 10 11
(x-axis) Length of words
---------------------------------
[0 SPACE] [0 NEWLINE] [0 TAB]
[1 WORD] [0.000 KILOBYTE] [6 CHAR]
6---
ARRAy= 1 1 1 1 1 2 0 0 0 0
Run Code Online (Sandbox Code Playgroud)
这是我的代码
#include <stdio.h>
#define MAX 10
int main (void) {
//
int nc,nw,nt,ns,nl; //nc = bytes, nw = words, nt …Run Code Online (Sandbox Code Playgroud)