新1期_009课_001讲C语言指针复习

一、基础知识
1)32位机器可以寻址0x0~oxFFFFFFFF,即4GB,内存最大可以达到4GB;

2)int main (int argc, char* argv[])
实质上操作系统会调用main主函数,操作系统会将参数agrc 和argv传递给main主函数。argc表示参数的个数,argv存放操作系统传给main的具体参数;
视频中的是int main (int argc, char ** argv)

3)64位系统的ubuntu中,使用gcc编译出32位的应用程序,需要使用gcc -m32 选项,但是输入gcc -m32后会出现“No such file or directory"报错

可使用如下方法解决,增加一个32位机器的函数库:
sudo apt-get update
sudo apt-get purge libc6-dev
sudo apt-get install libc6-dev
sudo apt-get install libc6-dev-i386

2)编译成64位的应用程序时,char 为1个字节,int 为4个字节,指针为8个字节;
编译成32位的应用程序时,指针为4个字节;

二、疑问
1)自己的电脑ubuntu 32位的,变量保存位置(大小)与ubuntu变量保存位置(大小)不同;
ubuntu 的系统时间与window的系统时间不对应;
2)定义一个数组ca[x] = {‘A’,‘B’,‘C’,…},定义一个指针 char * pc;,内存分布地址时,可能吧数组的连续地址分给pc地址的上面,也可能是pc地址的下面;
3)字符串指针中特别注意事项
char pc = "abc“;
pc是字符串 “abc”的首地址,取值时的
*pc 中的pc是指向字符串的第一个字母的指针;
pc可以理解为指向字符串的指针, *pc中的pc是指向第一个字符的指针

三、视频中的代码

#include <stdio.h>
int main (int argc, char *argv[])
{
	printf("sizeof(char    )   =%d\n", sizeof(char  ));
	printf("sizeof(int        )    =%d\n", sizeof(int      ));
	printf("sizeof(char    *)   =%d\n", sizeof(char  *));
	printf("sizeof(char   **)   =%d\n", sizeof(char **));

	return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值