1. 0xFF bit5 清0 0x80 bit2 置1
int a=0xFF; a & =~(0x1 << 5); int a =0x80; a | =(0x1 << 2); |
2. 定义一个整数
int a; |
定义一个指向整数的指针:
int* p=&a; |
定义一个指向指针的指针,它指向的指针指向一个整形数
int* *p2=&p; |
一个有10个整形数的数组:
int arr[10]; |
一个有10个指针的数组;该指针指向一个整形数:
int* p[10]=arr; |
一个指向有10个整形数数组的指针
int* (*p)[10]; |
写出程序输出:
int main() { int a[10] = {0,1,2,3,4,5,6,7,8,9}; memcpy(a+3, a, 5); for(int i=0; i<10; i++) { printf("%d",a[i]); } return 0; } |
写出程序输出: 0121456789
5. 对于整形变量A = 0x87654321,请画出 little endian 及 big endian的方式下在内存中是如何存储 的?
little endian big endian 高地址>>0x87 低地址>>0x87 0x65 0x65 0x43 0x43 低地址>>0x21 高地址>>0x21 |
6. 请问以下代码有什么问题
int main() { char a; char *str = &a; strcpy(str, "hello"); printf(str); return 0; } |
“hello”这个字符串复制带了只有一个字节a的位置,会导致越界 |
7. 将字符串“helloworld”倒叙编程输出
8. 写一个函数和,可以将CPU占有率保持在100%;
9. 简述linux目录结构中 /usr 、/etc、/dev目录的作用
在Linux目录结构中,/usr、/etc和/dev目录都有着重要的作用,具体如下:
|