摘要:宏可以定義宏函數(shù)有符號的整形單精度浮點型雙精度浮點型地址地址的進制表示形式的時候,取出時所占內(nèi)存中個字節(jié)中第一個字節(jié)的地址取出的內(nèi)存地址數(shù)值稱為指針是一個指針變量,指向的是一個類型指針變量是一種變量
#include
#define NUM 100
int Add(int x,int y)
{
? ? int z = x + y;
? ? return z;
}
宏-#define 可以定義宏
#define ADD(X,Y) ?((x)+(y))
int main()
{
// ? ?int a = NUM;
// ? ?printf("%d/n",a);
? ? int a = 55;
? ? int b = 56;
? ? //函數(shù)
? ? int sum = ADD(a,b);
? ? printf("%d/n",sum);
? ? return 0;
}
%d-有符號的整形
%f-單精度浮點型
%lf-雙精度浮點型
%p-地址-地址的16進制表示形式
int main()
{
? ? int a = 10;
? ? a的時候,取出時a所占內(nèi)存中4個字節(jié)中第一個字節(jié)的地址
? ? printf("%p/n",&a);//取出a的內(nèi)存地址
? ? int* pa=&a;//數(shù)值
? ? pa稱為指針
? ? return 0;
? ? -pa是一個指針變量,int-pa指向的是一個int類型
? ? char ch = "w";
? ? char * pc = &ch;
? ? 指針變量是一種變量,是用來存放地址的
? ? int a = 10;
? ? int * pa =&a;//數(shù)值
? ? *pa = 20;//*是解引用操作符
? ? printf(“%d/n”,a);
? ? a=20;
? ? return 0;
}
int main()
{
// ? ?int a = 10;
// ? ?int *pa = &a;
// ? ?*pa = 20;
// ? ?printf("%d/n",a);
// ? ?return 0;
? ? double b = 3.14;
? ? double* pd=&b;
? ? //pd就是指針變量
? ? //*pd=5.5;
? ? printf("%lf/n",*pd);
? ? return 0;
}
int main()
{
? ? char ch = "w";
? ? char *pc = &ch;
? ? printf("%d/n",sizeof(pc));
? ? //指針變量是用來存放地址的!
? ? //地址就是那個編號
? ? return 0;
}
int main()
{
? ? printf("%d/n",sizeof(char*));
? ? printf("%d/n",sizeof(short*));
? ? printf("%d/n",sizeof(int*));
? ? printf("%d/n",sizeof(float*));
? ? printf("%d/n",sizeof(double*));
? ? return 0;
}
結(jié)構(gòu)體 char short int float double ......
書:書名+作者+定價+出版社+書號
人:姓名+年齡+性別+電話+地址
復雜對象,不能用簡單的類型直接描述
書的類型
書名+定價+書號
自己定義的一個書的類型
struct Book
{
? ? char name[30];//書名
? ? float price;//定價
? ? char id[20];//書號
};
int main()
{
? ? //結(jié)構(gòu)體變量的定義和初始化
? ? struct Book b1 = { "C語言程序設計",55.0f, "C1001020"};
? ? //struct Book b2 = {"數(shù)據(jù)結(jié)構(gòu)",60,DS001001};
? ? //struct Book b3 = {"操作系統(tǒng)",71.5f,"OS0001001"};
? ? printf("書名:%s/n",b1.name);
? ? printf("定價:%f/n",b1.price);
? ? printf("書號:%s/n",b1.id);
? ? return 0;
}
&取地址 *解引用 ?結(jié)構(gòu)體變量.成員名
int main()
{
? ? printf("hehe/n");
? ? 3 + 5;
? ? ;//空語句
? ? //return 0;
}
int main()
{
? ? int age = 20;
? ? if (age<18)
? ? ? ? printf("未成年/n");
? ? else if (age>=18&&age<30)
? ? ? ? printf("青年/n");
? ? else if (age>=30&&age<55)
? ? ? ? printf("中年/n");
? ? else if (age>=55&&age<70)
? ? ? ? printf("中老年/n");
? ? else if (age>=70&&age<100)
? ? ? ? printf("老年/n");
? ? else
? ? ? ? printf("老壽星/n");
? ? if(age>=18)
? ? ? ? printf("成年/n");
? ? else
? ? ? ? printf("未成年/n");
? ? return 0;
? ? if(age>18)
? ? ? ? printf("允許進入/n");
? ? return 0;
}
int main()
{
? ? int a=0;
? ? int b=2;
? ? if(a==1)
? ? ? ? {if(b==2)
? ? ? ? ? ? printf("hehe/n");
? ? ? ? }
? ? else
? ? ? ? printf("haha/n");
? ? return 0;
? ? else和離得最近的if匹配?。?!
}
int main()
{
? ? int a;
? ? printf("%d/n",a);
? ? return 0;
}
int test()
{
? ? int a = 0;
? ? if(a)
? ? {
? ? ? ? return 1;
? ? }
? ? return 2;
}
int main()
{
? ? int a = 0;
? ? scanf("%d",&a);
? ? if(a%2==1)
? ? {
? ? ? ? printf("yes/n");
? ? }
? ? else
? ? ? ? printf("No/n");
? ? return 0;
}
int main()
{
? ? int i = 1;
? ? while(i<=100)
? ? {
? ? ? ? printf("%d ",i);
? ? ? ? i+=2;
? ? }
? ? return 0;
}
?
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/120818.html
摘要:目錄定義常量定義宏指針定義常量定義常量定義宏宏可以定義宏函數(shù)指針字符串字符有符號的整形單精度浮點型雙精度浮點型地址地址的十六進制表示形式指針取出地址,地址是用十六進 ...
摘要:另外棧內(nèi)存出了作用域就會自動釋放掉,所以不需要手動去回收的。,其中指針變量的聲明有如下三種形式其中第一種是被推薦的寫法。數(shù)據(jù)類型 C語言中的基本數(shù)據(jù)類型,對于它分為兩種: 1、signed 有符號的類型,也就是支持正負號的。 2、unsigned 無符號的類型,也就是沒有負號,取值從0開始。 有符號和無符號的數(shù)據(jù)類型有啥區(qū)別呢?其實就是取值范圍不一樣,下面看一張對照表: showImg(ht...
摘要:避免野指針養(yǎng)成良好的編程習慣好的編程習慣可以避免很多問題,道阻且長,但行則將至二空指針是一個值為的宏常量意義為了標志指針變量沒有指向任何變量空閑可用,在語言中,通常把賦值給此指針,這樣就標志此指針為空指針,沒有指向任何空間。 ...
摘要:博主接下來將會整理一些語言中常見的問題和坑,再看博主解釋的時候可以自己思考一下變量的聲明和定義有什么區(qū)別答變量的定義為變量分配地址和存儲空間,變量的聲明不分配地址。指針操作超過了變量的作用域范圍如返回局部變量的地址。 博主接下來將會整理一些語言中常見的問題和坑,再看博主解釋的時候可以自己...
閱讀 2240·2023-04-26 01:57
閱讀 3265·2023-04-25 16:30
閱讀 2337·2021-11-17 09:38
閱讀 1089·2021-10-08 10:14
閱讀 1395·2021-09-23 11:21
閱讀 3693·2019-08-29 17:28
閱讀 3465·2019-08-29 15:27
閱讀 954·2019-08-29 13:04