日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

c11结构体

發(fā)布時(shí)間:2023/12/20 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c11结构体 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1.

面試問(wèn)題:typedef define 區(qū)別是什么?
typedef自定義類型
/C和C++的區(qū)別:
//C:空的結(jié)構(gòu)體,大小不確定,報(bào)錯(cuò)
//c++:空的結(jié)構(gòu)體,大小為1個(gè)字節(jié)
typedef int *PP;//==》由這種變量提升為類型

2.聯(lián)合體

union sample {short i;//2char ch;//1float f;//4union MyUnion{char ch;}; }s;

3.結(jié)構(gòu)體的大小

struct A {char a;//1int b;//4 };//8 struct B {char a;//1+1short b;//2int c;//4 };//8 //向前對(duì)齊 struct C {char a;//1+3int b;//4short c;//2double d;//8 };//24 struct D {char a;//1char b;//1short c;//2int d;//4 };//8 struct E {char a;//1+1short c;//2char b;//1+3int d;//4 };//12 //向后對(duì)齊 struct F {int a;//4char c;//1//int d;//4struct F *p;//4 }; typedef struct A {char a;int b;//struct A bb;//在當(dāng)前結(jié)構(gòu)體內(nèi),不能自引用 }Aa; // .:是否為變量 ->:是否為指針 struct B {int i;//不能進(jìn)行賦值struct A Aaa;struct A *p; }Bb;

4.用聯(lián)合體判斷大小端??

bool IsLittle() {union MyUnion{short a;char ch;}uu;uu.a = 0x1234;if(uu.ch == 0x34){return true;}return false; }

5.輸入年月日,得到今天是今年的第幾天

typedef struct Day {int year;int month;int day; }Day;int Today(Day * pdays) {int today = 0;int arr[] = {31,28,31,30,31,30,31,31,30,31,30,31};if((pdays->year % 4 == 0 && pdays->year %100 != 0)|| pdays->year % 400 == 0){arr[1] = 29;}//1,1switch(pdays->month) {case 12://12today += arr[10];case 11://today += arr[9];case 10://today += arr[8];case 9://today += arr[7];case 8://today += arr[6];case 7://today += arr[5];case 6://today += arr[4];case 5://today += arr[3];case 4://today += arr[2];case 3://today += arr[1];case 2://today += arr[0];case 1:today += 0;break;}today += pdays->day;return today; }

6.//3、在第一個(gè)字符串中 ,刪除第二個(gè)字符串中所有的字符。

//函數(shù)原型:char *DeleteChars(char *str1,char *str2);
//參數(shù)str1:“Welcome hello” 參數(shù)str2:“come” 結(jié)果輸出:“Wl hello”

char *DeleteChars(char *str1,const char *str2){assert(str1!=NULL&&str2!=NULL);int brr[256]={0};//ASCII碼有256const char *p2=str2;while(*p2!='\0')//我們可以申請(qǐng)一個(gè)數(shù)組用來(lái)代表這256個(gè)字符是否存在于第二個(gè)字符串中,{brr[*p2]=1;//把要?jiǎng)h除的字母賦值為1p2++;}char *pbegin=str1;//如果有,則標(biāo)記為1,如果沒(méi)有則標(biāo)記為0.同理,我們通過(guò)查詢,對(duì)應(yīng)ASCII值號(hào)下,數(shù)組是否為1,來(lái)判定是否刪除char *pend=str1;while(*pend!='\0'){if(brr[*pend]!=1) //判斷pend指向的字母是否在brr中,(在的話刪除,)不在繼續(xù)找下一個(gè){*pbegin=*pend;pbegin++;pend++;}else{pend++;}}*pbegin='\0';return str1;}

7. 第四題4、篩選法求100以內(nèi)的素?cái)?shù)。即2的倍數(shù)大于1的全部置0,3的倍數(shù)大于1的全部置0,4的倍數(shù)大于1的全部置0…,最后找出不為0的數(shù)字

void Screen() {int arr[N+1]={};int i;for(i=1;i<=N;i++)//將所有數(shù)賦值為1{arr[i]=1;}//int i,count =2;int count =2;while(count<=N/2) //顯然:count不會(huì)超過(guò)N/2,必能使留下的數(shù)全為素?cái)?shù)。{for( i=count+1;i<=N;i++){if(arr[i]==1&&i%count==0)//判斷是否為素?cái)?shù),如果否將這個(gè)值賦值為0arr[i]=0;}for(i=count+1;i<=N;i++){if(arr[i]==1)//如果是素?cái)?shù),將i的值賦給count,{count=i;break;//結(jié)束for循環(huán)}}}for(i=2;i<N;i++){if(arr[i]==1){printf("%3d",i);}} } void Prime(int n)//法二 {int *p=(int *)malloc(n*sizeof(int));assert(p!=NULL);for(int i=0;i<n;i++){p[i]=1;//亮燈}for(int j=2;j<n;j++)//2 -n之間的素?cái)?shù){for(int num=2;num<j;num++)//3-n之間能否整除判斷j是否為素?cái)?shù){if(j%num==0)//不是素?cái)?shù){p[j]=0;}}}for(int k=2;k<n;k++){if(p[k]==1){printf("%d ",k);}}printf ("\n"); } //棧上的內(nèi)容函數(shù)運(yùn)行完銷毀

總結(jié)

以上是生活随笔為你收集整理的c11结构体的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。