#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
char ch = 'w';
char* pc = &ch;
printf("%d\n",sizeof(pc));
//*pc = 'a';
//printf("%c\n",ch);
return 0;
}
//int main()
//{
// int a =10;//4个字节
// int* p=&a;//&a;//取出a的地址
// printf("%p\n",&a);
// printf("%p\n",p);
// //有一种变量是用来存放地址的——指针变量
// //printf("%p\n",&a);
// *p = 20;//* - 解引用操作符
// printf("%d\n",a);
// return 0;
//
//}
//#define MAX 100//#define定义的标识符常量
//#define还可以定义宏——带参数
//int Max(int x,int y)
//{
// if(x>y)
// return x;
// else
// return y;
//}
宏的定义
//#define MAX(X,Y)(X>Y?X:Y)
//int main()
//{
// //int a = MAX;
// int a = 10;
// int b = 20;
// //函数
// int max = Max(a,b);
// printf("max=%d\n",max);
// //宏的方式
// max = MAX(a,b);
// //max = (a>b?a:b);
// printf("max=%d\n",max);
// return 0;
//}
//void test()
//{
//1、static修饰局部变量
//局部变量的生命周期变长
//2、static修饰全局变量
//改变了变量的作用域——让静态的全局变量只能在自己所在的源文件内部使用,出了源文件就没法使用了
//3、static还可以修饰函数.也是改变了函数的作用域。——不准确
//static修饰函数改变了函数的链接属性,
//由外部链接属性—>变成了内部链接属性
//声明外部函数
//extern int Add(int,int);
//int main()
//{
// int a =10;
// int b = 20;
// int sum = Add(a,b);
// printf("sum = %d\n",sum);
// return 0;
//}
//int main()
//{
// //extern-声明外部符号的
// extern int g_val;
// printf("g_val=%d\n",g_val);
// return 0;
//}
// static int a =1;//a是一个静态局部变量
// a++;
// printf("a=%d\n",a);
//
//}
//int main()
//{
// int i = 0;
// while (i<5)
// {
// test();
// i++;
// }
// return 0;
//
//}
//int main()
//{
// //typedef-类型定义-类型重定义
// unsigned int num = 20;
// typedef unsigned int u_int
// u_int num2 = 20;
//register int a = 10;//建议把a定义成寄存器变量
// int a =10;
// a = -2;
// //int 定义的变量事有符号的
// //signed int;
// unsigned int num = 0;
// //struct--结构体关键字
// //union--联合体,共用体
// return 0;
//}
//int Add(int x,int y)
//{
// int z = 0;
// z = x + y;
// return z;
//}
//11111111111111111111111111111111
//+1得下面
//100000000000000000000000000000000
//1*2^32
//-1--整型-32
//1 --整型-32
//[1][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]--1为负
//[0][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]--0为正
//有符号数
//原码——>反码——>补码
//只要是整数,内存中存储的都是二进制的补码
//正数——原码,反码,补码相同
//负数——>补码
//原码—>直接按照正负,写出的二进制序列,反码->原码的符号位不变,其他位按位取反,补码—>反码+1
//-2
//10000000000000000000000000000010 - 原码
//11111111111111111111111111111101 - 反码
//11111111111111111111111111111110 - 补码
//int main()
//{
// //int arr[10] = {0};
// //arr [4];//[]--下标引用操作符
// int a = 10;
// int b = 20;
// int sum = Add(a,b);//()--函数调用操作符
//
// return 0;
//}
//& * . ->
//int main()
//{
// int a =10;
// int b =20;
// int max=0;
// max=(a>b ? a:b);
//
// if(a>b)
// max=a;
// else
// max=b;
//
// printf("%d\n",max);
//
// return 0;
//int main()
//{
// int a =10;
// int b = a++;//后置++,先使用,再++
// printf("a=%d b=%d\n",a,b);//11 10
//
// return 0;
//}
//int main()
//{
// int a =0;//4个字节,32个bit位
// int b = ~a;//b是有符号的整型,
// printf("%d\n",b);//~按(2进制)位取反
//00000000000000000000000000000000
//11111111111111111111111111111111
//原码、反码、补码
//负数在内存中存储的时候,存储的是二进制的补码
//11111111111111111111111111111111,(补码)第一位是符号位,1表示为负
//11111111111111111111111111111110(反码)
//10000000000000000000000000000001(原码)
//原码符号位不变,其他位按位取反得到反码,反码+1得到补码
//使用的,打印的是这个数的原码
// return 0;
//}
//int main()
//{
// int a =10;
// int arr[] = {1,2,3,4,5,6};//6*4=24
// printf("%d\n",sizeof(a));//4
// printf("%d\n",sizeof(int));//4
// printf("%d\n",sizeof(arr));//计算数组大小,单位是字节
// printf("%d\n",sizeof(arr)/sizeof(arr[0]));
// return 0;
//}
//int Max(int x,int y)
//{
// if(x>y)
// return x;
// else
// return y;
//}
//int main()
//{
// int num1 = 10;
// int num2 = 20;
// int max = 0;
// max = Max(num1,num2);
// printf("%d\n",max);
// /*if (num1>num2)
// printf("较大值是:%d\n",num1);
// else
// printf("较大值是:%d\n",num2);*/
//
// return 0;
//}
//int main()
//{
// //字符串的结束标志:‘\0'
// //"abcdef";
// //'\0'--转义字符-0
// //0-> 数字0,ASCII码值为48
// //'0',类似'a','b','c'字母字符,'1','2'数字字符
// //EOF-end of file-文件结束标志——值-1
// return 0;
//}
3.6~~~
最新推荐文章于 2024-10-09 23:37:26 发布