02
2020
04

int (*s[10])(int) 表示的是什么?

int (*s[10])(int) 函数指针数组,每个指针指向一个int func(int param)的函数。
02
2020
04

将程序跳转到指定内存地址 要对绝对地址0x100000赋值,我们可以用(unsigned int*)0x100000 = 1234;那么要是想让程序跳转到绝对地址是0x100000去执行,应该怎么做?

((void ()( ))0x100000 ) ( );  首先要将0x100000强制转换成函数指针,即:  (void ()())0x100000  然后再调用它:  ((void ()())0x100000)();  用typedef可以看得更直观些:  typedef void()() voidFuncPtr;  *((voidFuncPtr)0x100000)();
02
2020
04

复杂声明 void * ( * (*fp1)(int))[10]; float (( fp2)(int,int,int))(int); int (* ( * fp3)())10; 分别表示什么意

【标准答案】1.void * ( * (fp1)(int))[10]; fp1是一个指针,指向一个函数,这个函数的参数为int型,函数的返回值是一个指针,这个指针指向一个数组,这个数组有10个元素,每个元素是一个void型指针。2.float (( fp2)(int,int,int))(int); fp2是一个指针,指向一个函数,这个函数的参数为3个int型,函数的返回值是一个指针,这个指针指向一个函数,这个函数的参数为int型,函数的返回值是float型。3.int (* ( * fp3)()
02
2020
04

const 与 #define 的比较 ,const有什么优点?

【参考答案】(1) const 常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查。而对后者只进行字符替换,没有类型安全检查,并且在字符替换可能会产生意料不到的错误(边际效应) 。(2) 有些集成化的调试工具可以对 const 常量进行调试,但是不能对宏常量进行调试。
02
2020
04

实现strcpy.

 char* MyStrCpy( char *pDest, const char *pSrc )    {        if( nullptr == pDest || nullptr == pSrc )        {           return nullptr;       
02
2020
04

C语言中数字转字符串的方法是什么?(itoa)请实现他

char* Myitoa( char *pDest, int val, int radix )   {       assert( NULL != pDest );       assert( radix > 1 );       const bool IsMinu = val < 0;       cha
02
2020
04

如何判断链表是否有环

bool IsLoop( Node *pHead )  {      //[H->A->B->C->A]       assert( NULL != pHead );       Node *pNext = pHead->mpNext;       Node *pNextNext = pHead->mp
02
2020
04

统计出一个字符串每种字母出现的次数要求时间复杂度为O(n)

void CountLetter( const char *pSrc )   {       int count[ 256 ] = {};      for( ; *pSrc !='\0'; ++pSrc )      {          const char &c = *pSrc;  &nb
02
2020
04

选择排序的思想是什么?( 每次找到最大或最小的值放在数组的低位上 )请实现它

void SelectSort( int *pArray, int count )  {      for( int i = 0; i < count; ++i )      {          //默认低位元素最小          int MinValue = pArray[ i ];    &n
02
2020
04

冒泡排序的思想是什么?(升序排序中越小的数往低位走,越大的数往高位走,每次与相邻元素比较导致的特点)请实现它

void BubbleSort( int *pArray, int count )   {       //eg.[6][8][8][0][9][1]      //i = 0,j < 5    [6][8][0][8][1][9]       //i = 1,j < 4    [6][0][8][1][8][9]