C高級的自我學(xué)習(xí)(5)

  • 靜態(tài)函數(shù)

默認情況下函數(shù)的聲明是extern的,靜態(tài)函數(shù)只是在聲明他的文件當中可見,但是不能被其他文件所用。
示例

#include<stdio.h>
void display();
static void staticdis();
int main(){
    display();
    staticdis();
    return 0;
}
//#include<stdio.h>
void display(){
    staticdis();
    printf("display() has been called \n");
}
static void staticdis()
{
    printf("staticdis() has been called\n");
}

靜態(tài)函數(shù)的好處:
1)其他文件中可以定義相同名字的函數(shù),不會發(fā)生沖突;
2)靜態(tài)函數(shù)不能被其他文件所用;
疑問:當把兩個文件寫在同一個函數(shù)中的時候,函數(shù)都能正常執(zhí)行,問過老師后,當把文件分開使用時,不能正常編譯,不明白靜態(tài)函數(shù)不能被其他文件應(yīng)用的意思

字符串常量

用字符串常量初始化指針和數(shù)組
char *p = "breadfruit"

#include<stdio.h>
#include<string.h>
int main(){
    char *p = "this is a example";
    char a[] = "gooseberry";
    strncpy(a,"black",5);
    printf("%s\n",p);
    printf("%s\n",a);
    return 0;
}

對字符串可以以數(shù)組的形式進行操作。

強制數(shù)據(jù)類型轉(zhuǎn)換特性

1,兩個數(shù)據(jù)類型不同的數(shù)據(jù)進行運算的時候,先要轉(zhuǎn)換為相同的類型,較低類型轉(zhuǎn)換為較高類型,然后再參加運算:int-->unsigned-->long-->double。
2,賦值中的類型轉(zhuǎn)換
賦值時的類型轉(zhuǎn)換屬于強制轉(zhuǎn)換

  • 無符號整數(shù)
#include<stdio.h>
int main(){
    unsigned a,b;
    int i,j;
    a = 65535;
    i = -1;
    j = a;
    b = i;
    printf("(unsigned)%u-->(int)%d\n",a,j);
    printf("(int)%d-->(unsigned)%u\n",i,b);
}

不能進行數(shù)據(jù)轉(zhuǎn)換

指針特性

  • 數(shù)據(jù)指針

以指針直接操作內(nèi)存多發(fā)生一下情況:
1)某I/O芯片被定位在CPU的儲存空間而非I/O空間,而且寄存器對應(yīng)于某特定地址;
2)兩個CPU之間以雙端口RAM通信,CPU需要在雙端口RAM的特定單元,書寫內(nèi)容已在對方CPU產(chǎn)生中斷;
3)讀取在ROM或FLASH的特定單元所燒錄的漢字和英文字模。

Shell的復(fù)習(xí)

  • 自己編寫了嘗試編寫了一個,C語言編譯和運行同時完成的一個shell腳本
#!/bin/bash
#opera.sh
gcc $1 -o c
./c

輸入格式為:$./opera.sh test.c

shell:查看參數(shù)

#!/bin/bash
#file.sh
echo "Command received $# params."
echo "Command:$0"
echo "Arg1:$1"
echo "Arg2:$2"
echo "Arg3:$3"
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容