素數:找一對素數問題,他們只會出現6k-1和6k+1的地方,小於7只有一對
#include
#include
int main (
)
int n;
printf
("請輸入總人數:\n");
scanf
("%d"
,&n)
;int
*a;
a =(
int*
)malloc
(sizeof
(int
)*n)
;
指標是乙個變數,其值為另乙個變數的位址,即,記憶體位置的直接位址。就像其他變數或常量一樣,您必須在使用指標儲存其他變數位址之前,對其進行宣告。
在大多數的作業系統上,程式不允許訪問位址為 0 的記憶體,因為該記憶體是作業系統保留的。然而,記憶體位址 0 有特別重要的意義,它表明該指標不指向乙個可訪問的記憶體位置。但按照慣例,如果指標包含空值(零值),則假定它不指向任何東西。
如需檢查乙個空指標,您可以使用 if 語句,如下所示:
if
(ptr)
/* 如果 p 非空,則完成 */if(
!ptr)
/* 如果 p 為空,則完成 */
指標陣列:
;//可以這樣初始化
int *nums=;//不可以這樣初始化
char
*p1 =
"12345"
;//可以,含義為定義乙個char*形指標,並且初始化位址
int *p1=12345;//不可以
gets(str)與scanf(「%s」,str)的區別:
·gets(str)允許輸入的字串含有空格
·scanf(「%s」,str)不允許含有空格
#ifndef表示 if not define(如果沒有定義)
#ifdef表示 if define(如果定義了)
函式的使用方式與全域性變數類似,在函式的返回型別前加上static,就是靜態函式。其特性如下:
靜態函式只能在宣告它的檔案中可見,其他檔案不能引用該函式
不同的檔案可以使用相同名字的靜態函式,互不影響
·非靜態函式可以在另乙個檔案中直接引用,甚至不必使用extern宣告
傳參操作:
#include
int errno =3;
inttest
(int
*errno)
intmain()
用法一typedef
struct
mytype (結構體型別名)
;// 結構體別名用大駝峰風格
const mytype test=
,,};
//宣告test結構體變數
用法二struct listnode (結構體名)
(這裡可新增結構體變數名)
;struct listnode *head =
(struct listnode*
)malloc
(sizeof
(struct listnode)
);
用法三typedef
struct tagnode (結構體名)
node (結構體型別名)
;// 型別主體用大駝峰風格
方法一:形參給出第二維的長度
void func(int n, char str[ ][5] )
方法二:形參宣告為指向陣列的指標void
func
(int n,
char (*str)[5]
)
方法三,形參宣告為指標的指標void
func
(int n,
char
**str)
附加,第三種傳參方式說明:
在函式中使用傳參過來的二維陣列(指標)進行陣列取值的時候不能使用(array[i][j])這種形式來取值。應該將二維陣列看成乙個一維陣列,使用array[i * j + j]這種形式來進行取值。
個人理解:
這是因為在傳參的時候,我們將array陣列當成二級指標來進行傳遞,所以我認為他是將陣列的屬性退化成了二級指標的屬性,因此這裡並不能使用array[i][j]這種方式來進行陣列取值。輸出格式如下
#include
void
finddiagonalorder
(int
**matrix)
}int
main()
,,};
finddiagonalorder
(matrix)
;system
("pause");
return0;
}
C語言基礎 二
迴圈 for int i 1 i 100 i 迴圈示例 1.for int i 0 i 9 i for int j 0 j i j printf n 2.倒三角for int i 5 i 0 i printf n 2.函式 void 自定義函式應該在主函式內呼叫 函式宣告 的位置必須在主函式之上 對...
c語言基礎(二)
目錄 識別符號的定義規則 三數比大小 判斷閏年 指標基礎 插入排序 只能是字母,數字,和下劃線,並且開頭不能用數字 賦值表示式跟賦值語句的區別 表示式沒有分號,賦值語句有分號 邏輯運算子的優先順序順序 includeint main if a c if b c printf d d d a,b,c ...
C語言基礎(二)
二進位制數 定義 滿2進1,並且只有0或1 例如 6 0000 0110 格式化字元 d八進位制數 定義 滿8進1,0到8,並且以0開頭 例如 0001 0000 020 格式化字元 o十進位制數 定義 滿10進1,0到9 例如 0001 0000 16 格式化字元 d 十六進製制 定義 滿16進1...