论坛首页 编程语言技术论坛

C语言不支持按址传递吗?

浏览 2060 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (7) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-11-08   最后修改:2008-11-08
C
写了个结构体的小测试,结果发现C语言是不支持按址传递的
#include<stdio.h>
#include<stdlib.h>

typedef struct Str{
  int i;
  int j;
}str;

int giveinfo(str &str);
int main(){
  str str;
  giveinfo(str);
  str.i = 89;
  printf("%d\n",str.i);
  printf("%d\n",str.j);
  return 0;
}

int giveinfo(str &str){
  str.i = 9;
  str.j = 20;
  return 0;
}   


开始我用gcc编译 gcc -o struct struct.c
总是出现错误:
struct.c:9: 错误:expected ‘;’, ‘,’ or ‘)’ before ‘&’ token
struct.c:19: 错误:expected ‘;’, ‘,’ or ‘)’ before ‘&’ token

怎么改都不行,后来我就用g++编译就成功了。

可是问题是:用g++编译的时候g++是怎么处理的?难道他就完全按C++的语法编译?
http://phynix.iteye.com/blog/264365
   发表时间:2008-11-08   最后修改:2008-11-08
 #include<stdio.h>  
 #include<stdlib.h>  
   
 typedef struct Str{  
   int i;  
   int j;  
 }str;  
   
 int giveinfo(str *str);
   
 int main(){  
   str str;  
   giveinfo(&str);  
   str.i = 89;  
   printf("%d\n",str.i);  
   printf("%d\n",str.j);  
   system("PAUSE");
   return 0; 
    
 }  
   
 int giveinfo(str *str){  
   str->i = 9;  
   str->j = 20;  
   return 0;  
 }  

0 请登录后投票
   发表时间:2008-11-08  
恩,谢谢啦,原来是这样~
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics