生产实训日报(3)

姓名:曹佳鑫   日期:6月22 号

今日学习任务:数组、指针。

今日任务完成情况:按照老师要求编程,都可以实现结果,代码行200行左右。

今日开发中遇到的问题汇总:无

今日未解决的问题:无

今日开发收获:见上课知识点

自我评价:今天收获一般般,还是不太能理解。

上课知识点:

1.编译的四个人步骤

预处理、编译、汇编、链接

2、数组内存

字节序 (大小端由机器设备决定)

大端:低字节存在高地址

小端:高字节存在低地址 (一般电脑都是小端)

判断大小端:

#include <stdio.h>

unio

void main()

{

}.

a是数组名,也是数组首元素的地址,a+1 加一个元素

&a 数组的地址,&a+1 加一个数组

二维数组

数组名,也是数组首元素的地址,a+1 加一行

&a 数组的地址,&a+1 加一个数组

a[0] 数组首行首元素的地址, a[0]+1 加一个元素

*a 数组首行首元素的地址

* [] 一样


思考题

数组a[3][4],哪个不能表示a[1][1]

*(a[1]+1) √a[1]+1加一个元素

*(&a[1][1])√

(*(a+1))[1]√

*(a+5)× 改正: *(*a+5)

#include <stdio.h>
#define SIZE 10
void main()
{  
int i;
int a[SIZE] ;
int a[5]={1,2,3,4,5};
int a[5]={1, 2, 3};
for(i=0;i< sizeof(a)/sizeof(a[0]);i++)
{
printf("%d",a[i]);
}
printf("\n");
while("\n")   
printf("%p"\n,&a[0]);
printf("%p"\n,&a);
printf("%p"\n,a);


printf("%p"\n,a+1);
printf("%p"\n,&a+1);
}

3、

int 实参

函数 (形参)

#include <stdio.h>
#include <stdlib.h>
#include <string.h>  
void init_memory(char **str) //*str是地址
{
*(str) = (char*)malloc(sizeof(char) * 100);//malloc分配内存空间
}

void main()
{
char *ptr = NULL;//指针占四个字节


init_memory(&ptr);
strcpy(ptr, "helloworld");
printf("%s\n", ptr);
while(1);
return 0;
}

#include <stdio.h>
void print ()
{
printf("helloworld!\n");
}

void show(char *s)
{
printf("%s\n", s);
}

void add(int x, int y)//2给形参分配空间
{  //3传值(值传递 地址传递)
return (x + y);   //4执行函数体 5返回 6释放空间!
}

void main()
{
int a =1, b = 2, rseult;
print();
show("hello");
result = add(a, b);//1通过函数名找到函数入口地址
printf("%d\n",result);
printf("%d\n",add);//函数名就是一个地址

while(1);
return 0;
}


1通过函数名找到函数入口地址

2给形参分配空间

3传值(值传递 地址传递)

4执行函数体

5返回

6释放空间

值传递,地址传递

变量的存储类型

关键字:static、exertem 修饰函数

 static 修饰局部变量,改变变量的声明周期,直到程序退出

预处理命令

宏定义 #define

自定义函数有什么区别,自定义函数需要自定义空间


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值