|
|
1
30
毫无疑问,你是对的。 ANSI C标准6.1.4规定,字符串文字通过“连接”文字中的字符存储在内存中。
如果这个人的想法是正确的,那么当整数用作数组索引时,编译器也必须使用整数数学。许多其他谬误也会产生,这些谬误只能靠想象。 这个人可能会感到困惑,因为(与字符串初始化器不同),多字节字符常量,如“ABCD” 是
|
|
|
2
16
|
|
|
3
14
|
|
|
4
10
|
|
|
5
9
如果我们谈论的是一个每个字符使用8位的系统,那么教授就错了。 我经常使用实际使用16位字符的嵌入式系统,每个单词都是小字节序。在这样的系统中,字符串“My Pizza”确实会存储为“yMP ziaz”。
|
|
|
6
2
它将被表示为,表示为什么?向用户表示为32位整数转储?或者在计算机内存中表示/布局为P-yM-azzi? 如果教授说“我的披萨”将在计算机内存中表示/布局为“P-yM azzi”,因为计算机是小端架构,那么请有人来教这位教授 我认为这就是教授所有困惑的根源,我有一种预感,教授不是程序员(并不是说我看不起教授),我认为他没有办法在代码中证明他所学到的字节序。
如果教授举一个例子,说明整数在机器中是如何根据机器的端序进行不同的表示/布局的,他的学生可以理解他所教的一切。 |
|
|
7
1
我假设教授试图通过类比来阐述字节序/NUXI问题,但当你将其应用于实际字符串时,你是对的。不要让这偏离了他试图教学生一个观点以及如何以某种方式思考问题的事实。 |
|
|
8
1
您可能会感兴趣,可以在大端序机器上模拟小端序架构,反之亦然。编译器必须发出代码,这些代码会自动神奇地弄乱
然而,显然,小端序机器并不总是这样做,这是一个 在我看来,这位教授似乎认为实际数字“实际上”是大端序,并且对小端序架构的真正含义和/或其内存的表示方式深感困惑。
字符串确实被“表示为”
|
|
9
0
|
|
|
10
0
|
|
|
11
0
很难读懂教授的想法,当然编译器除了在BE和LE系统上将字节存储到相邻的递增地址外,什么也没做,但 是
|
|
|
12
0
|