学习笔记


如何产生当前的年月日
time_t now;
struct tm *timenow;
time(&now);
timenow=lacation(&now);
printf("%s",ctime(&timep));

函数:
int add(int x,int y)
{
return x+y;
}

add:
通过函数找到函数入口地址
给形参分配空间
传参
执行函数体
返回
释放空间(栈空间)
变量的存储类型
auto:一般定义的都是这个,省略写
register :定义寄存器变量,寄存器变量不能用&,&取得是内存的地址
extern:声明外部变量,告诉编译器变量在其他文件被定义
static:三个作用1修饰全局变量,改变变量的作用域,只能在本文档中使用2:修饰函数,改变函数的作用域,只能在本文档中使用 3 :修饰局部变量,改变变量的生命周期,直到整个程序结束才被释放,static 修饰的变量存储存储在数据段或者叫静态数据区
宏函数
#include<stdio.h>

#define OUT printf(“helloworld\n”)
#define P(s) printf("%s\n",s) 无参
#define SQT(X) (x+x*x+x) 有参
int main()
{
OUT;
P(“123456”);
SQT(2);
return 0;
}

所有的指针都占4个字节
printf("%d\n",sizeof(int *)) 4
printf("%d\n",sizeof(char *))

内存的访问方式
通过变量名访问
通过地址访问
char *:里面保存的地址里面存放字符
int * P+1和q+1输出后的值不一样,步长不一样

字符串赋值
#include <stdio.h>
void mystrcpy(char *dest char *src)
{
while((*dest++=*src++)!=0);
}

1 取值 2 赋值 3判断 4移动指针
指针的使用步骤
定义指针
给指针赋值
使用
什么是段错误
访问了不能访问的内存
没有初始化的局部变量是垃圾值,不能直接使用野指针
malloc
int *p=(int *)malloc(字节大小)
手动申请一段空间,返回值为首地址,如果申请失败则返回NULL
指针和数据的关系
#include <stdio.h>
#include<stdlib.h>
#include <string.h>
int main()
{
int a[5]={1,2,3,4,5};
int p=a;
int i;
for (i=0;i<sizeof(a)/sizeof(int); i++)
{
printf("%d “,a[i]);
printf(”%d “,p[i]);
printf(”%d ",
(p+i));
}
printf("\n");
char *ptr=(char *)malloc(sizeof(char)*32);
strcpy(ptr,“helloworld”);
printf("%s\n",ptr);
for (i=0;i<10;i++)
{
printf("%c",ptr[i]);
}
return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值