C语言学习分享
1、指针
1.1、地址和指针的概念
1.2、指针和指针变量
1.3、指针变量的定义
1.4、指针变量的引用
1.5、给指针变量赋值
2、指针运算
2.1、指针运算符
2.2、指针的算术运算
2.3、指针比较
2.4、指针按地址传递
2.5、指针按地址传递示例
#include <stdio.h>
void swap(int *x, int *y);
void main()
{
int iNum1, iNum2;
iNum1 = 10;
iNum2 = 20;
swap(&iNum1, &iNum2);
printf(“iNum1=%d,iNum2=%d” ,iNum1,iNum2);
}
void swap(int *pi1, int *pi2)
{
int temp;
temp = *pi1;
*pi1 = *pi2;
*pi2 = temp;
}
2.6、指针与一维数组
2.7、指针与一维数组的示例
#include <stdio.h>
int main(){
static int ary[10] = {
1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int I,*p=NULL;
for (i = 0; i < 10; i ++){
printf("\ni=%d,ary[i]=%d,*(ary+i)=%d",i,ary[i],*(ary + i));
printf("&ary[i]= %X,ary+i=%X",&ary[i],ary+i);
}
for (p = ary; p < ary+10 ; p++){
/*能否使用ary++?*/
printf(“\naddress:%x,value:%d”,p,*p);
}
return 0;
}
2.8、数组作为参数传递
2.9、整型数组作为返回值
2.10、指向字符串常量的字符指针
2.11、指向字符串变量的字符指针
2.12、指针与字符串示例
#include <stdio.h>
#include <string.h>
void main ()
{
char a, str[81], *ptr;
printf("请输入一个字符串\n ");
gets(str);
printf("\n请输入一个字符");
a = getchar();
ptr = strchr(str,a);
if(ptr != NULL)
printf(“\nPosition of first occurrence is: %d”,ptr-str);
else printf(“not found!”);
}