相关疑难解决方法(0)

C字符串混乱

我现在正在学习C并且对字符数组 - 字符串感到困惑.

char name[15]="Fortran";
Run Code Online (Sandbox Code Playgroud)

没问题 - 它的数组可以容纳(最多?)15个字符

char name[]="Fortran";
Run Code Online (Sandbox Code Playgroud)

C计算我的字符数,所以我没有 - 整洁!

char* name;
Run Code Online (Sandbox Code Playgroud)

好的.现在怎么办?我所知道的是,这可以容纳后来分配的大量字符(例如:通过用户输入),但是

  • 为什么他们称之为char指针?我知道指针作为变量的引用
  • 这是"借口"吗?这是否找到除char*之外的任何其他用途?
  • 这究竟是什么?它是指针吗?你如何正确使用它?

提前谢谢,喇嘛

c string

19
推荐指数
1
解决办法
1280
查看次数

为什么添加到指向第一个数组成员的指针在C中循环它们?

我刚刚读到这一点,通过指向第一个数组成员的指针,您可以通过添加到指针来循环.

char my_array[] = "I am an array of chars";

char *my_pointer = my_array;

printf("%c\n", *my_pointer);

my_pointer++;

printf("%c", *my_pointer);
Run Code Online (Sandbox Code Playgroud)

我想这意味着数组成员总是按顺序存储,并且分配的空间总是保留,并且数组的大小不能扩展(因为在长度之后它可能包含内存中的其他内容)?

为什么这完全奏效?当使用下标访问数组时my_array[5],C会只知道数组的起始位置(即my_array[0]),并且必须将内部指针增加5才能返回它吗?

如果这看起来显而易见,我道歉,但我在高级语言中度过了一生,而C对我来说非常有趣.

c

1
推荐指数
1
解决办法
485
查看次数

标签 统计

c ×2

string ×1