电商付费推广有哪些,沈阳优化网站,微信商城小程序怎么开通,wordpress cn1.什么是计算机的大小端存储#xff1f; 答#xff1a;大端是数据的高位字节存储在低地址#xff0c;低位字节存储在高地址#xff0c;网络协议#xff08;如TCP/IP#xff09;通常采用大端序#xff08;称为“网络字节序”#xff09;。例如#xff1a;32位整数 0x12… 1.什么是计算机的大小端存储 答大端是数据的高位字节存储在低地址低位字节存储在高地址网络协议如TCP/IP通常采用大端序称为“网络字节序”。例如32位整数 0x12345678 在内存中的存储地址从左到右递增 地址0x100 0x101 0x102 0x103 数据 12 34 56 78 数据的低位字节存储在低地址高位字节存储在高地址。x86、ARM等常见CPU默认采用小端序。32位整数 同一整数 0x12345678 在小端下的存储 地址0x100 0x101 0x102 0x103 数据 78 56 34 12 2.如何判断大小端存储如何分辨如上图所示 int a 0x12345678;
char *p a;
if(*p0x78){printf(小端存储\n);}else{printf(大端存储\n)}char c (char)a;
if(c0x78){printf(小端存储\n);}else{printf(大端存储\n)}union A
{int n1;short n2;
}a1;
a1.n1 0x01345601;
if(a1.n20x5601){printf(小端存储\n);}else{printf(大端存储\n)}union
{int a;long int b;char str[13];
}; //16 3.arr和arr的区别 01.arr 表示整个数组的地址它的类型是指向整个数组的指针。尽管 arr 和 arr 的数值相同但它们的类型不同指针运算的步长也不同。 02.arr 和 arr 的数值相同都指向数组起始位置。 arr 1 是指向下一个元素的地址由于 int 类型通常占 4 字节所以地址偏移 4 字节。 arr 1 是指向下一个同类型数组的地址偏移量是整个数组的大小即 5 * 4 20 字节。 arr是数组的首地址需要用一级指针指向 arr是整个数组的地址需要用二级指针指向 4.解释数组指针、指针数组、函数指针和指针函数的区别 01数组指针 定义数组指针是指向数组的指针它指向的是一个数组其类型是指向特定类型和长度数组的指针。 语法type (*ptr)[size];其中 type 是数组元素的类型size 是数组的长度ptr 是数组指针变量名。 解释ptr 是一个数组指针指向 arr 数组。使用 (*ptr)[i] 来访问数组元素*ptr 先解引用得到数组再通过 [i] 访问对应元素。 02.指针数组 定义指针数组是一个数组数组中的每个元素都是指针。 语法type *arr[size];其中 type 是指针指向的数据类型size 是数组的长度arr 是指针数组名。 解释ptr_arr 是一个指针数组数组中的每个元素都是 int 类型的指针分别指向 a、b、c 变量。通过 *ptr_arr[i] 解引用指针访问对应变量的值。 03.函数指针 定义函数指针是指向函数的指针它存储的是函数的入口地址可以通过函数指针调用函数。 语法return_type (*ptr)(parameter_list);其中 return_type 是函数的返回类型parameter_list 是函数的参数列表ptr 是函数指针变量名。 解释func_ptr 是一个函数指针指向 add 函数。可以像调用普通函数一样使用 func_ptr(3, 4) 来调用 add 函数。 04.指针函数 定义指针函数是返回指针的函数即函数的返回值是一个指针。 语法type *func_name(parameter_list);其中 type 是指针指向的数据类型func_name 是函数名parameter_list 是函数的参数列表。 解释get_array 是一个指针函数返回一个指向 int 数组的指针。在 main 函数中接收该指针并通过它访问数组元素。 数组指针本质是指针指向一个数组。 指针数组本质是数组数组元素为指针。 函数指针本质是指针指向一个函数。 指针函数本质是函数返回值为指针。 5.char str[]hello\01; printf(strlen(str));的结果 输入结果为6 解析 在字符数组 str 中字符依次为 h、e、l、l、o、\01接着是字符串结束符 \0。由于 \01 并非字符串结束符strlen 函数会把它当作普通字符计数。所以str 中有效字符有 6 个strlen(str) 的结果为 6。 6.猴子第一天摘下若干个桃子当即吃了一半还不过瘾又多吃了一个。第二天早上又将剩下的桃子吃掉一半又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时见只剩下一个桃子了。求原来它一共摘了多少个桃子。 #include stdio.h
#include string.h
#include stdlib.h
int fun(int n)
{ if(n10){return 1;}return (fun(n1)1)*2;}
int main(int argc, const char *argv[])
{printf(猴子原来一共摘了%d个桃子\n,fun(1));return 0;
}