-
Q: Can the type of options or labels of switch-case be floating?
在C语言中,switch-case语句的标签必须是整数类型,不能是浮点型。而在Python中,没有switch-case语句,但是可以使用字典来实现类似的功能,而字典的键可以是浮点型。
-
Q: How many bits are in a byte? char, short, int, boolean?
在C语言中,一个字节通常定义为8位。而在Python中,整数类型的大小是可变的,没有固定的位数,但是通常情况下:
• char:在C语言中至少占8位,在Python中没有固定大小。
• short:在C语言中至少占16位,在Python中没有固定大小。
• int:在C语言中至少占16位,在Python中没有固定大小。
• boolean:在C语言中没有boolean类型,在Python中通常作为整数处理,大小取决于实现
-
Q: How many bytes a pointer of char (character) is allocated in memory?
在C语言中,指针的大小通常与地址总线的大小相同,因此在32位系统中为4字节,在64位系统中为8字节。而在Python中,没有指针的概念,但是可以使用ctypes模块来操作原生内存
-
Q: When the value of sizeof is determined? Compile-time or Run-time?
在C语言中,sizeof操作符在编译时确定。而在Python中,没有sizeof操作符,但是可以使用sys.getsizeof()函数来获取对象的大小,该值在运行时确定
-
Q: Which segment (or section) of memory is allocated by using malloc?
在C语言中,使用malloc分配的内存位于堆中。而在Python中,内存管理是由解释器自动处理的,对象的内存分配是在堆上完成的
-
Q: Static local variant in a C function is allocated on the stack?
在C语言中,静态局部变量是在数据段中分配的,而不是在堆栈上。而在Python中,局部变量是在函数调用栈上分配的
-
Q: For an integer variable 0x12345678 on a 32 bit big endian platform, what's the byte on the lowest memory address of this integer variable?
在C语言中,整数在内存中的存储顺序取决于系统的端序。在大端序系统中,最高有效字节存储在最低内存地址上,因此对于0x12345678,最低内存地址上的字节是0x12。而在Python中,不直接暴露底层内存表示,因此需要依赖C实现来确定
-
Q: Unsigned integer a is 1, unsigned integer b is 3, what is the output of bit operation OR on a and b? And what is the output of bit operation AND on a and b?
在C语言中,按位或运算符为|,按位与运算符为&。对于给定的值,无符号整数a为1,无符号整数b为3,则:
a) 按位或运算:a | b 的结果为 3。
b) 按位与运算:a & b 的结果为 1。
在Python中,使用|和&进行按位运算,结果也是一样的
-
Q: What is the time complexity of bubble sort?
冒泡排序的时间复杂度是O(n^2),其中n是待排序数组的长度。这适用于C语言和Python中的冒泡排序实现
-
Q: what is the allocated memory size for c string constant "abcde"?
在C语言中,字符串常量包含一个额外的空字符'\0',因此分配的内存大小为6字节。而在Python中,字符串对象的大小取决于其长度以及解释器在内部所需的额外空间,通常情况下不会直接暴露给用户
-
如何获得一个数组a的成员个数?
在C语言中,可以通过sizeof(a) / sizeof(a[0])来获得数组a的成员个数。在Python中,可以使用len(a)来获取列表a的长度
-
Difference between strlen( ) and sizeof( ) for string in C
strlen()是一个函数,用于计算字符串的长度,其结果是字符串中字符的个数,不包括空字符'\0'。sizeof()是一个操作符,用于计算数据类型或变量的大小,包括空字符在内。
-
如果a是一个指向int类型变量的指针( int *a),那么a+1和a的值差多少?
在C语言中,指针的算术运算会根据指针类型进行调整,因此a+1将使得指针a增加一个int类型的大小,即sizeof(int)字节。因此,a+1和a的值之间的差为sizeof(int)。在Python中,指针概念不像C语言那样直接存在,但是可以使用列表来模拟指针操作
-
有char ch = -1 ,那么 ch >> 1 和 ch << 1分别是多少?
在Python中,按位操作符(如>>和<<)会在整数上执行移位操作,即使是对于负数也是如此。因此,ch >> 1将右移一位,结果为 -1 >> 1 = -1;ch << 1将左移一位,结果为 -1 << 1 = -2
个人建议了解一下即可,不需要深挖