c学习-9
Posted activecode
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c学习-9相关的知识,希望对你有一定的参考价值。
/*内存练习*/
#include
#include//引入内存分配库文件
int main(){
double* x; //定义整型指针和double指针
int* y;
x=(double*)malloc(sizeof(x));//为double分配空间
printf("%d
",sizeof(*x));
y=realloc((x),sizeof(int)); //重新为double分配空间为int
printf("%d
",sizeof(*y));
}
/*内存练习*/
#include
#include //引入内存分配库文件
int main(){
int i; //计数器
int* parray; //整型指针变量
parray=(int*)calloc(3,sizeof(int));//调用动态分配函数为指针数组赋予多个值
//循环为指针赋值
for(i=0;i<4;i++){
*parray=10*i;
printf("%d
",i,*parray);
parray+i; //移动指针
}
return 0;
/*int *p=(int*)malloc(sizeof(int)); //调用动态分配函数
*p=100; //为分配到的指针赋予空间
printf("%d",*p);
return 0;
*/
/*
int *PInt; //定义指针
PInt=(int*)malloc(sizeof(int));//动态分配内存
*PInt=100;
printf("%d
",*PInt);
free(PInt); //释放内存
printf("%d
",*PInt);
//return 0;
*/
}
/*预定义指令练习*/
#include
#define PWD 1
int main(){
char *p="hello world";//定义字符型指针
//引用预定义指令
#if PWD
printf("******
");
#else
printf("%s
",p);
#endif
}
/*内存练习*/
#include
#include//引入内存分配库文件
int main(){
double* x; //定义整型指针和double指针
int* y;
x=(double*)malloc(sizeof(x));//为double分配空间
printf("%d
",sizeof(*x));
y=realloc((x),sizeof(int)); //重新为double分配空间为int
printf("%d
",sizeof(*y));
}
/*内存练习*/
#include
#include
int main(){
int* p;
int i;
p=(int*)malloc(sizeof(int[3]));//为数组分配空间
for(i=0;i<3;i++){
*(p+i)=10*(i+1);
printf("%d
",*p+i);
}
return 0;
}
/*
double a;
printf("%d
",sizeof(a));
int* PInt;//整型指针
PInt=(int*)malloc(sizeof(PInt));//分配空间
*PInt=10;
printf("%d
",*PInt);
free(PInt); //释放空间
printf("%d
",*PInt);
return 0;
*/
/*内存练习*/
#include
#include
int main(){
//定义p,q指针,n计数器
int n,*p,*q;
//提醒输入n的值
printf("请输入n:
");
scanf("%d",&n);
//赋值q指针内存空间
p=(int *)malloc(sizeof(n,2));
//循环输出分配的内存空间
for(q=p;q
#include
int main(){
//定义商品结构体
struct shop{
char *name;
int num;
double money;
}*pay; //定义结构体变量
//为结构体变量分配内存
pay=(struct shop*)malloc(sizeof(struct shop ));
//初始化结构体成员的值
pay->name="食用油";
pay->num=3;
pay->money=300;
printf("name:%s
num:%d
money:%lf
",
pay->name,pay->num,pay->money
);
return 0;
}
/*链表练习*/
#include
//定义结构体
struct student{
int score;
int age;
struct student *pnext; //指向下一个节点
};
int main(){
struct student stu1, stu2,*head,*p; //定义结构体变量
//初始化结构体变量
stu1.score=100;
stu2.age=18;
stu2.score=60;
stu1.age=20;
head=&stu1; //定义头指针
p=head;
stu1.pnext=&stu2;
stu2.pnext=NULL;
do{
printf("score:%s
age:%d
",p->score,p->age);
p=p->pnext;
}while(p!=NULL);
return 0;
}
/*栈练习*/
#include
void displayFunctionA(char* string){
printf("%s
",string);
}
void displayFunctionB(char* string){
//调用displayFunctionA
char String[10]="hello world";
printf("请输入str的值:
",String);
// scanf("%s",&string);
displayFunctionA(string);
}
int main(){
char string[10]="hello zhan";
displayFunctionB(string);
return 0;
}
/*与和或,取反运算*/
#include
int main(){
//定义整型变量
int a,b,c,z;
printf("请输入a的值:
");
scanf("%d",&a);
printf("请输入b的值:
");
scanf("%d",&b);
c=a&b;
z=a|b;
printf("a与b的结果:%d
取反结果为:%d
",c,~c);
printf("a或b的值是:%d
异或的结果是:%d
"
,z,a^b);
}
/*左移,右移运算符*/
#include
int main(){
//定义整型变量
int a=10,b=1000000;
//scanf("%d")
a=a<<2;
//printf(")
printf("firset左移a的值:%d
",a);
a=a<<5;
//再次输出左移a的值
printf("second左移a的值:%d
",a);
//右移b
b=b>>2;
printf("右移b的值:%d
",b);
}
/*循环位移练习*/
#include
//定义位移函数
int left(int value,int n){ //定义两个形参
int z;
//执行位移操作
z=(value>>(32-n))|(value<
int main(){
//定义整型变量
int a,b;
//接受输入
printf("请输入a的值:
");
scanf("%d",&a);
printf("请输入b的值:
");
scanf("%d",&b);
//对未异或的a,b输出
printf("a:%d
b:%d
",a,b);
//进行异或运算
a=a^b;
b=b^a;
a=a^b;
// 对异或的a,b输出
printf("a:%d
b:%d
",a,b);
#include
int main(){
//定义两个整型变量
int a,rs;
//构造输入一个八进制数
printf("请输入a的值:
");
scanf("%o",&a);
//对rs取后四位为1
rs=~(~0<<4);
//对rs和a与运算
printf("%o
",rs&a);
}
}<2;
//printf(")
printf("firset左移a的值:%d
",a);
a=a<<5;
//再次输出左移a的值>3;i++){
*(p+i)=10*(i+1);
printf("%d
",*p+i);
}
return>4;i++){
*parray=10*i;
printf("%d
",i,*parray);
parray+i; //移动指针
>以上是关于c学习-9的主要内容,如果未能解决你的问题,请参考以下文章
如何快速入门Python学习呢?
深度学习主机攒机小记
抽奖活动中的学习
004-
Python学习笔记(二十五)序列化_JSON基础
机器学习——概念