學習啦>創(chuàng)業(yè)指南>職場>筆試題>

C語言面試編程題

時間: 護托1061 分享

  在C語言中,輸入和輸出是經(jīng)由標準庫中的一組函數(shù)來實現(xiàn)的。在ANSI/ISO C中,這些函數(shù)被定義在頭文件;中。下面就由學習啦小編為大家介紹一下C語言面試編程題的文章,歡迎閱讀。

  C語言面試編程題篇1

  考查的是結構體和數(shù)組的內(nèi)存布局情況。

  #include

  #include

  typedef struct array1{

  int ID;

  struct array1* next;

  }A;

  typedef struct array2{

  int ID;

  int a;

  int b;

  int c;

  }* B;

  int main()

  {

  A s1[15];

  A* s2;

  B s3;

  for(int i=0;i<10;i++)

  {

  s1[i].ID=i+64;

  }

  s2=s1+3;

  s3=(B)s2;

  printf("%d/n",s3->b);

  return 0;

  }

  C語言面試編程題篇2

  從字符串數(shù)組和指針字符串在內(nèi)存中的分配情況考查指針的使用。

  #include

  #include

  #include

  char *GetMemory(char *p)

  {

  p = (char *)malloc(100);

  return p;

  }//當調(diào)用此函數(shù)時,會在棧里分配一個空間存儲p, p指向堆當中的一塊內(nèi)存區(qū),當函數(shù)調(diào)用結束后,若函數(shù)沒有返回值,

  //系統(tǒng)自動釋放棧中的P

  void Test(void)

  {

  char *str = NULL;

  str=GetMemory(str);

  strcpy(str, "test");

  printf("%s/n",str);

  }

  char *GetMemory1(void)

  {

  char *p = "Test1";

  return p;

  }//若換成char p[]="hello world"; 就會在函數(shù)調(diào)用結束后,釋放掉為"Test1"的拷貝分配的空間,返回的P只是一個野指針

  void Test1()

  {

  char *str = "";

  str=GetMemory1();

  printf("%s/n",str);

  //str=GetMemory();

  }

  void GetMemory2(char **p, int num)

  {

  *p = (char *)malloc(num);

  }//當調(diào)用此函數(shù)時,會在棧里分配一個空間存儲p, p指向棧中的一變量str,在此函數(shù)中為str在堆當中分配了一段內(nèi)存空間

  //函數(shù)調(diào)用結束后,會釋放p, 但str所在的函數(shù)Test2還沒運行完,所以str此時還在棧里.

  void Test2(void)

  {

  char *str = NULL;

  GetMemory2(&str, 100);

  strcpy(str, "hello");

  printf("%s/n",str);

  }

  void Test3(void)

  {

  char *str=(char *)malloc(100);

  strcpy(str, "hello");//此時的str指向的是拷貝到棧里的"hello",所以當釋放掉str指向的堆空間時,str指向的棧里的值還是不變

  free(str);

  if(str != NULL)

  {

  strcpy(str, "world");

  printf("%s/n",str);

  }

  }

  int main()

  {

  Test();

  Test1();

  Test2();

  Test3();

  }

  C語言面試編程題篇3

  C語言中sizeof的用法

  void fun(char s[10])

  {

  printf("%s/n",s);

  printf("%d/n",sizeof(s));//引用的大小

  }

  int main()

  {

  char str[]={"sasdasdes"};

  printf("%d/n",sizeof(str));//字符串數(shù)組的大小10(包含了字符'/0')

  printf("%d/n",strlen(str)));//字符串的長度9

  char *p=str;

  printf("%d/n",sizeof(p));//指針的大小4

  printf("%d/n",strlen(p));//字符串的長度9

  fun(str);

  void *h=malloc(100);

  char ss[100]="abcd";

  printf("%d/n",sizeof(ss));//字符串數(shù)組的大小100

  printf("%d/n",strlen(ss));//字符串的長度4

  printf("%d/n",sizeof(h));//指針的大小4

  }

C語言面試編程題

在C語言中,輸入和輸出是經(jīng)由標準庫中的一組函數(shù)來實現(xiàn)的。在ANSI/ISO C中,這些函數(shù)被定義在頭文件;中。下面就由學習啦小編為大家介紹一下C語言面試編程題的文章,歡迎閱讀。 C語言面試編程題篇1 考查的是結構體和數(shù)組的內(nèi)存布局情況。
推薦度:
點擊下載文檔文檔為doc格式

上一篇:C筆試題算法

下一篇:C語言指針筆試題

精選文章

  • C筆試題算法
    C筆試題算法

    C語言能直接訪問硬件的物理地址,能進行位(bit)操作。兼有高級語言和低級語言的許多優(yōu)點。下面就由學習啦小編為大家介紹一下C筆試題算法的文章,歡迎

  • C筆試題及答案
    C筆試題及答案

    C語言的簡潔性與其豐富的運算符相結合,使其可能會編寫出極難理解的代碼。下面就由學習啦小編為大家介紹一下C筆試題及答案的文章,歡迎閱讀。 C筆試

  • C筆試題目及答案
    C筆試題目及答案

    C語言描述問題比匯編語言迅速,工作量

  • C筆試題目匯總
    C筆試題目匯總

    C語言描述問題比匯編語言迅速,工作量

3172913